软件项目策划过程
软件项目策划过程
版本号:4.0
作者:段聿军
时间: 2003年 6月2 日
山东浪潮齐鲁软件产业股份有限公司
文档修订
版本
日期 修改人 描述(注明修改的条款或页)
目录
1. 目的......................................................................................................................................... 4 2. 范围......................................................................................................................................... 4 3. 职责......................................................................................................................................... 4 4. 术语......................................................................................................................................... 4 5. 工作程序................................................................................................................................. 4
5.1 进入准则.......................................................................................................................... 4
5.2 输入.................................................................................................................................. 5
5.3 流程.................................................................................................................................. 6
5.4 退出准则........................................................................................................................ 10
5.5 衡量................................................................................................................................ 10
5.6 输出................................................................................................................................ 10 6. 相关资料............................................................................................................................... 10
1. 目的
是为完成软件开发和管理软件项目制定合理的计划。项目计划是一个逐渐改进的过程,刚开始时你对要作的工作只有一个模糊的认识,随着工作的进展,认识才越来越清晰,偏差才越来越小。
在进行项目策划时,要考虑计划的合理性,避免计划经常变动,因为:
一旦接受了改动,需要花时间去估计新的计划,而且要花时间去修改项目的步
调去适应这些新的进度表
每次修改一个计划,会导致项目内生产效率的降低,项目成员的长期态度也
会对这些变化有看法,由于不断调整计划,每个人都感到这是一种理所当然
的行为,以后当项目成员感到自己的进度变得极其紧张时,他们也期待着原
谅,毕竟你认为这是可接受的行为。
2. 范围
适用于公司内软件开发和升级类项目的策划和再策划。
3. 职责
3.1本程序的责任机构是SEPG ,负责对本流程意见收集、改进更新、培训和解释工作。
3.2本流程的知晓部门是本公司研发部、技术管理部、测试质保部、市场大区。
3.3相关部门或岗位职责
3.3.1项目经理负责组织各种项目计划的编写,并协调计划编写工作和征得相
关人员对计划的同意
3.3.2 测试人员负责编写测试计划
3.3.3 配置管理人员负责编写配置管理计划
3.3.4 质量保证人员负责编写质量保证计划
3.3.5 其它小组的负责人负责与项目经理协调有关事宜
3.3.6 评审人员负责评审各种计划
3.3.7 项目成员负责审核开发计划,并对自己的工作部分提出意见
4. 术语
无
5. 工作程序
5.1 进入准则
5.1.1项目启动
5.2 输入
5.2.1客户需求
5.2.2 项目合同及其附件
5.2.3 公司的过程数据库
5.2.4 软件项目任务书
5.3 流程
1. 对过程流程图的解释
步骤描述
5.3.1 从公司的财富库中识别可用的信息
5.3.1.1从公司的数据中识别过去的项目与该启动的项目相
似的信息,以帮助项目进行策划,如项目的总结报
告和其它的数据等,如何使用公司财富库参见《公
司财富库管理规范》。
5.3.1.2并根据项目的合同、项目需求以及《软件项目任务
书》中的要求填写项目的概述,以使大家能够更好
的了解项目信息,形成共同的目标
5.3.2 选择项目的生命周期
按照《软件项目生命周期选择指南》从公司批准的几种
生命周期中选择一种适合项目的生命周期模型。
5.3.3 结合裁剪指南,制定符合项目要求的开发过程
按照《软件项目开发过程的选择和裁减指南》,结合用户
的要求,制定适合项目特点的开发过程,并描述与公司的标
准过程不一致的地方。
在开发计划中识别项目必须遵循的客户、项目的有关规
范,如行业规范、国家规范、编码规范、设计规范等
5.3.4 识别项目必须完成的任务和工作产品
5.3.4.1确定活动可分解的粒度,粒度的大小要满足将活动分
解到可管理的大小
活动的分解粒度可按下列要求进行,如将活动分解
成在2周之内可完成的;工作安排是独立(持续)的(一
旦工作开始,不要发生中断和不再需要其它额外的信息
和输入,直到活动完成);状态是可度量的;活动结束
后有一个可交付的成果
5.3.4.2利用项目定义的开发过程来识别项目必须完成的活动
和工作成品
5.3.4.3 利用定义的活动分解粒度,使用《工作任务分解表》
来对项目必须完成活动进行分解,以便于今后对项目
的活动进行跟踪和监控,并对有风险的活动项和工作
产品项作为风险进行监控。
5.3.4.4 在进行活动的分解时,考虑的活动事项要详尽,不要
漏掉一些项目必须的活动,如:
教育或培训的需要
参与评审文档
参与项目会议
传播时间
对已经分发给客户的产品正在进行的支持
确定、记录和显示各种与质量相关和与过程相关的
数据 执行人 项目经理、技术经理及其协助人员 项目经理、技术经理、客户经理、有关人员 项目经理、技术经理、SQA 项目经理、技术经理及相关人员
步骤描述
5.3.5 项目估算并记录估算结果
估算项目的规模、工作量、人员配置、成本、关键计算机
资源、进度和阈值,估算过程参见《估算指南》
5.3.6 制定工作产品的评审计划
对识别出的工作产品,参照《工作产品评审选择指南》,
制定项目的工作产品评审计划,包括评审时间、评审类型和
参与评审的角色
5.3.7 识别项目需要使用的工具、方法和设施
5.3.7.1 根据软件项目的规模估计和它的特征,估算项目需要使
用的设施和支持工具,如开发、测试用的硬件设备配置
(处理器、存储能力)和开发工具
5.3.7.2 确认需要购买和引入的设施和工具,并与其它部门进行
协商,并制定购买或引入的计划
5.3.8 风险评估
5.3.8.1 识别风险项:使用《风险评估表》中的检查表来识别
项目在计划的编制、需求、项目的组织和管理、开发环
境、客户、商业环境、规模、产品、过程、技术、项目
成员数量和经验等方面存在的风险项
5.3.8.2 风险分析:采用适当的方法对风险进行分析,确定各
项风险项的发生的概率(较低 0~0.3;中等 0.3~0.7较高 0.7~1.0)和及其对项目的影响程度(较低 0~3中等 3~7;较高 7~9;很高 9~10),影响程度一般
考虑风险一旦发生对项目的进度、质量和成本造成的影
响,来确定风险发生的暴露量(为发生概率和影响程度
的乘积)。
5.3.8.3确定优先级:根据风险的暴露量来排序风险项的优先级
5.3.8.4 选择风险项:根据风险的优先级确定项目重点关注的
风险项(一般确定前五项)并制定风险的化解措施
5.3.8.5 将风险的评估结果记入《软件项目开发计划》,风险较
高的项目可单独编写《软件项目风险管理计划》
5.3.8.6 使用《风险评估表》进行风险评估
5.3.9 识别和其他组之间的关系
5.3.9.1 确定软件工程组和其他小组在项目进度、合同、职责等方面协调活动计划
5.3.9.2 明确各个小组之间的关键依赖关系,并在时间表中明
确
5.3.10 确定项目跟踪的情况
5.3.10.1 确定项目任务跟踪的活动、负责跟踪活动的人员和
跟踪的操作方式
5.3.10.2 确定项目需要进行跟踪的问题、问题登记的出处、
负责登记问题的人员、审查问题的人员以及处理问
题的人员和定期向大家汇报问题处理情况的制度
执行人 项目经理、技术经理 项目经理、技术经理 项目经理、技术经理、设备采购人员等 项目经理、技术经理、相关人员 项目经理、技术经理、相关的小组负责人 项目经理、技术经理、相关人员
步骤描述 执行人
5.3.10.3 确定接受项目周报、里程碑报告的人员以及报告的
频率,以便使大家了解项目开发的“健壮性”
5.3.11 确定项目的组织结构及职责 项目经理、相关部
门和人员
5.3.12 识别项目需要进行的培训 项目经理、技术经
5.3.12.1 根据在估算过程中明确的项目活动在技术、业务和管理
理方面需要的技能要求和项目可使用的人力资源具
有的技能进行比较,判定项目配备各个人员拥有的
技能和项目要求的技能差距
5.3.12.2 确定需要参加培训的人员、时间以及提供培训的方
式,如自学、安排人员进行指导、集中讨论、聘请
需要人力资源部协助的培训,项目经理应填写《培
训需求表》经部门经理批准后提交人力资源部。
5.3.12.3 安排负责人员来安排有关的培训的实施,以保证项目
的顺利实施
5.3.13 制定项目的时间进度计划表 项目经理、技术经
根据《工作任务分解表》中分解的活动,识别的活动之理、项目相关人员
间的依赖关系、估算的人员配置、每项活动的工期以及确定
人员安排、各项活动之间的依赖性以及关键路径等内容,一
般用Microsoft Project 2000 Gantt Chart来实现,在安排各项活
动的进度时应考虑以下因素:
在已知的停工和节假日时间不安排工作
不考虑加班时间(对于项目周期短的项目可以把假期、节日和加班都考虑在计划中,但对于长
时间(如三个月以上)的项目,尽量避免使用)
考虑测试及评审中发现问题的返工需要的时间
考虑客户需求的稳定情况
考虑各项活动的交接和信息的传递时间
识别出的风险对活动的影响
在安排工作时应考虑整个项目的效率因素,在正常估
算的工期内增加20~40%的余量,分配到项目的所有
活动中――特别是关键路径中的活动中
5.3.13 编写项目的开发计划及其相关的计划 项目经理、技术经 按照《软件项目开发计划》、《质量保证计划》、《配置管理计理、质量保证人
划》、《软件测试计划》、《软件项目风险管理计划》等模板编员、配置管理人写各种计划 员、测试人员等
5.3.14 评审(评审参照《评审过程》进行)项目的各种计划,获得评审人员
项目组成员以及其他小组的认可,并得到高级管理者的批准
5.3.15 计划的管理和控制 配置管理人员、项 为了便于大家的查阅和使用,项目的各种计划按照一般目经理、技术经理
步骤描述
配置项的方式进行管理和控制。
计划的变更管理参见《软项目跟踪过程》进行。 执行人
5.4 退出准则
项目各种计划得到批准
5.5 衡量
策划、编制、审查项目计划花费的工作量
5.6 输出 序号 文档名称
1 工作任务分解表
2 风险评估表
3 软件项目风险管理计划
4 软件项目开发计划
5 配置管理计划
6 质量保证计划
7 软件测试计划
8 甘特图
9 评审报告
10 培训需求表
6. 相关资料 序号 编号
1 LCRJ-QR-RM-04
3 LCRJ-QR-SPP-01
4 LCRJ-WI-SPP-01
5 LCRJ-QR-SPP-03
6 LCRJ-WI-OPD-01
7 LCRJ-WI-OPD-02
8 LCRJ-WI-OPD-03
9 LCRJ-OP-SPTO-01
10 LCRJ-OP-PR-01
11 LCRJ-WI-PR-02
文档名称 版本号 软件需求规格说明书合同及其附件 软件项目任务书估算指南估算表软件项目开发过程的选择和裁减指南软件项目生命周期选择指南公司财富库管理规范软件项目跟踪过程评审过程工作产品评审选择指南