软件项目管理概述-培训文档
项目控制
执行控制
从哪里获得 测量与分析 批准 3 风险管 理计划的数据? 计划
6 测量和分 析结果
7 控制 项目
8 报告结 果
一个软件项目组织的开发流程图
问题:
一个成功的软件项目的标志是什么?
项目的组成要素
我们能够从 哪些方面来 降低成本?
进度
质量
成本
一个成功的 外包软件项 士气 目的标志是 什么?
Hale Waihona Puke 典型的项目 本-拉登911事件
目标:造成美国超过5亿美元的损失,死掉超过 1000美国人。 时限:2001年9月11日 成本:50万美金,16个恐怖分子
一次性、独特性
典型的项目
建造一座大楼、一座工厂或一座大坝 举办各种类型的活动,如一次会议、一次晚宴、一 次庆典等 新企业、新产品、新工程的开发 进行一个组织的规划、规划实施一项活动
c.提供机会检讨 项目是否有 价值继续下 去。
生存周期模型对软件项目计划管理的影响
软件生命周期模型的不同,对于软件项目管理,则有不同的影响: 由于生命周期模型不同,软件项目的开发可能被分为不同的阶段,例如: 在瀑布模型,可以比较严格地看到软件开发的需求、设计、编码、测试等阶段。每一阶 段的目标、交付成果、审查和确认标准是非常明确的、唯一的和一致的。 在演化模型中,每一次迭代,可能是需求、设计、编码、测试过程的完整再循环。而在 一次迭代内部,是一个完整的瀑布模型。因此,阶段标志比瀑布模型更多、但阶段之 间的进展差异可能没有瀑布模型那么明显。 在不同的模型中,阶段审查和确认的要求程度也不同。 瀑布模型的阶段审查非常严格,并假定前一阶段的输入状态不再变化。演化模型则只针 对本次迭代开始时获得的需求,并假定还可以再发生需求变化,项目根据实际需要, 还可能再次进入下一轮迭代。 不同的模型,要求也不同。 在瀑布模型,每一阶段都是以项目最终目标的要求,来完成本阶段的任务职责。而演化 模型则是以本次迭代目标为标准。而迭代的次数、一次迭代的规模(演进)大小,可 以根据需求变化而变化。因此,迭代的目标可以调节。 所以,在制定软件项目管理计划的时候,确认该项目的生命周期模型,才能了解项目 计划阶段的划分办法,才能定义项目的工作产品、进行工作任务分解等等计划制定的 步骤。
项目管理的9大知识领域
项目管理
项目整体管理
项目计划制订 项目计划实施 整体变更控制
项目范围管理
启动 范围计划编制 范围定义 范围核定 范围变更控制
项目时间管理
活动定义 活动排序 历时估算 进度计划编制 进度计划控制
项目成本管理
资源计划编制 成本估算 成本预算 成本控制
项目质量控制
质量计划编制 质量保证 质量控制
项目的定义
由一组有起止日期的、相互协调的受控活动组成的 独特过程,该过程要达到符合包括时间、成本和资 源的约束条件在内的规定要求的目标 此定义实际包含三层含义:
项目是一项有待完成的任务,且有特定的环境与要求
在组织机构内,利用有限资源(人力、物力、财力等)在 规定的时间内完成任务 任务要满足一定的质量、数量等要求。
五行是一个完整 的稳定的最小化 系统的描述,它 描述了能够稳定 存在的系统的各 要素之间的关系。
范围
问题:
我们靠什么能够保证软件项目的成功呢?
项目目标是如何达成的?
纪 律 !
进度
质量
成本
士气
范围
软件项目计划
软件项目的基本概念
软件项目计划
项目跟踪与监控
到哪里了?
项目定义
目标
树立清晰明确的项目的,以及项目的目标 定义项目的范围 获得相关的胜任的人员 制定项目计划
生命周期模型,例如:
瀑布模型 喷泉模型 渐进模型 螺旋型 原型模型
瀑布模型
问题定义 计划 时期 可性行研究 需求分析 概要设计 开发 时期 详细设计 编 码 测 运 行 时 期 试 运行与维护 特点: 上一阶段的变换结果 是下一阶段的变换的 输入,相邻两个阶段 具有因果关系,紧密 相联。
有固定的工艺路线
生产的要素不会改变 拥有安全感 通常是“体力劳动”密集 型 存在行业标准
项目管理发展的过程
项目管理有悠久的实践历史:古代长城、埃及金字 塔等等
项目和项目管理起源于工程和工程管理(建筑业和 国防工业)
美国路易斯维化工厂——流程分解——节省38% 美国北极星导弹——关键路径——节省30%
经过受影响方评价,和 书面同意,和 纳入基线
变更应是正式受控的
项目计划
目的
为管理软件项目建立合理的计划
包含的步骤:
评估软件产品的规模及所需资源 制定一个进度表 识别和估计软件风险 获得相关的承诺
制定项目计划
项目计划概要
A项目章程 B参考文件 C项目组织 D开发过程 E工作分解结构 F风险 G估计 H计划 I获得的价值基线 J资源 K附录
企业经营决策系统项目
企业经营决策系统项目 1000
需求分析 1100
系统分析 1200
系统设计 1300
系统开发 1400
测试 1500
实施 1600
软件 1410
硬件 1420
网络 1430
文档 1440
培训 1610
系统转换 1620
验收 1630
模块开发 1411
单元测试 1412
问题:编号上有什么特点?
WBS分解的标准
一个大项目来说,4到6个层次就足够了。 划分项目的WBS结构的方法:
按专业划分 在专业下按阶段划分 在阶段内按子系统划分
细分的原则
考虑分解对象 考虑使用者 考虑编制者
软件项目开发的WBS
1 项目启动阶段 1.1 售前阶段 1.1.1 提供《技术白皮书》和现场的技术介绍,了解项目需求 1.1.2 提交《项目可行性研究报告》 1.1.2 提交《项目开发计划》 1.1.4 提交《项目风险管理计划》 1.1.5 通过公司的立项评审 1.1.6 进行项目前期开发(制作需求模板、功能演示系统、关键技 术分析和实验等) 1.1.7 向用户提交《系统建设建议书》 1.2 招标和合同签订阶段 1.2.1 制作标书,参加投标和答标活动 1.2.2 中标后,根据商务谈判的结果,制作合同副本 1.2.3 合同签订
1.1 项 目章程
1.2 确定项 目范围
1.3获得胜 任的人员
1.4制定项 目计划
项目启动流程
启动:项目章程
项目章程中典型的内容
管理和技术的目标 顾客和顾客环境 陈述业务功能或目标 希望的利益 制约条件(成本,计划,资源等) 该项目和其他项目的依赖关系 描绘一个全面的项目概要 关键的责任 是顾客需要的结果 该项目的执行的目标 用于协助组织的决策
项目人力资源管理
组织的计划编制 人员获取 班子组建
项目沟通管理
沟通计划编制 信息发布 绩效报告 管理收尾
项目风险管理
风险识别 风险量化 定性风险分析 定量风险分析 风险应对计划编制 风险监控
项目采购管理
采购计划编制 询价计划编制 询价 供方选择 合同管理 合同收尾
软件项目管理的原理
项目计划
1 项目 定义 2 工作 分解 4 估计规模\ 时间\成本 5 提交 计划
软件项目开发的WBS
1.3 项目前期准备阶段 1.3.1 指定项目经理、子项目经理或技术经理,成立项目组。 1.3.2 完成《工作任务分解(WBS)》 1.3.3 划分接口人员责任 1.3.4 提交《项目进度计划》 1.3.5 提交《项目成本预算》 1.3.6 提交《风险控制计划》 1.3.7 其他专项计划:对本项目开发中需制订的各个专题计划(如 分合同计划、开发人员培训计划、测试计划、安全保密计划、 质量控制计划、配置管理计划、用户培训计划、系统安装计 划等),分别进行制订。 1.3.8 以上项目计划提交公司评审,并形成《项目任务责任书》下达
失败的管理
管理不当时,有可能发生:
1 + 1 < 2 甚至 1 + 1 = 0
一个和尚挑水喝
二个和尚抬水喝
三个和尚没水喝
项目管理
项目开发与制造业的生产有什么区别?
制造业的生产
无限期持续性工作 固定的组织机构
项目开发
有固定的截止点 临时的组织 有固定的目标,但实现的方式依 据项目特点不断变化 由于条件不同而引发一系列变化 有很多不确定因素 通常是”脑力劳动“ 密集型 基本不存在标准
WBS的作用
1、将大系统变成具体的小工作单元,使复杂→简 单,难以预测→易于预测,难以控制→易于控制 2、是制定项目计划、编制项目预算、确定项目组 织、分配工作的基础 3、使我们对开发项目情况有了更加深入详细的了 解,特别是对应做的工作有了更为透彻的概念 4、便于了解整个项目开发系统的结构,便于合作、 协调
WBS表达形式—层次结构图和层级列表
图形显示 层级列表
1.0系统
1.1元素 A
1.2元素B
1.0系统 1.1元素A 1.1.1任务 1.1.2任务 1.2元素B
1.1.1任务
1.1.2任务
小练习:
假如您要在自己的家里举行一次生日宴会,请按 WBS为你制定一份工作的分解计划? 请分别用层级结构与树状图进行描述。
软件项目开发的WBS
2 需求分析阶段 2.1 分析用户需求 2.1.1与用户一起分析需求,并形成用自然语言表述的《需求说明 书》,由用户确认 2.1.2将用户确认的《需求说明书》,转化为用计算机术语描述的 《系统需求规范书》 2.1.3提交《系统需求规范书》,进行评审 2.2 形成《集成测试计划》,提交公司评审 3 系统设计阶段 3.1 系统总体设计 3.1.1运行环境设计