接上文
• 具体实施:
一.利用项目管理的理论和实践指南
软件开发所具有的独特的风险和困难
降低或消除任意性、建立运作流程的可重复性
利用项目管理帮助建立合理的软件运作流程和相应的规章制度
建立合理和科学的开发计划
建立合理的规章制度
项目管理的理论
九大领域知识的利用
五个项目的流程阶段
PMI 对项目管理领域知识和工作任务的定义:
软件开发的成功项目管理有赖于对领域知识和流程管理的综合运用
对软件开发执行项目管理是在五个运作流程中分别利用九个领域知识执行综合性的管理
每个流程阶段都会用到几个领域知识具体哪些领域知识的应用视具体的项目而定,但绝大多数都需要用到中心领域知识进行管理多次循环往复是软件开发流程的特点每个流程阶段可能被重复的可能性很大。
软件项目管理应该期望流程的循环重复发生项目管理所共有的十大工作任务
从决定项目的启动、确定项目的范围、确定项目工作的重要性和优先顺序、...到项目的结束收尾。
综合使用项目管理的领域知识和流程管理的实践
项目管理的十大工作在软件开发项目中的运用
决定项目的启动
确定项目的范围
制定项目任务的重要性和优先顺序
确定具体的项目工作任务和工作单元
分配项目资源
估算完成工作任务单元的时间
制定项目时间表
计算并管理项目的费用
项目执行的管理
质量管理–测试
追踪进度
项目状态通报
执行更改控制
执行风险管理
执行发行管理
项目的结束和收尾
完善的软件开发项目管理的执行顺序和工作总结
二.软件开发项目的计划制定
软件开发项目的计划必须包括两个部分的计划
软件本身的计划:需要开发什么软件、具备什么功能、构架、界面、测试等等的设计?
开发项目的计划:谁来开发具体的功能、具体开发工作的资源、时间、顺序、控制等等的安排?
完善的软件开发计划是将两个因素给串连在一起
由所要开发的具体功能来决定项目计划
不同功能的重要性和优先权决定开发工作任务的顺序
开发项目的时间表应该由从下到上来制定:由具体开发工作的时间估算来算出整个项目的时间表
两个计划应该各有自己的计划文件
功能计划:设计规范书
项目计划:项目时间表
进行完善的软件开发项目的计划
进行项目工作任务分解
进行工作任务分解和顺序组合的目的
在详细的工作分解基础上建立完善的开发项目时间表
三.计算和利用项目的分解和关键性通道的信
利用绘制项目网络图进行工作任务时间的计算
项目网络图的标准
利用项目关键性通道的信息进行工作任务的重新安排
分解工作任务、安排并列执行计划、缩短整体时间量
计算项目关键性通道的实践
典型的项目:几十到上百个工作任务用粘贴纸(Post-it)排列
一个会议主持人;每个任务用一个粘贴纸代表;粘在白板上,用笔画连接线;
团队先确定工作任务;
编排工作顺序;
计算关键通道;
并列工作安排;
好处:
1)极为灵活的重新编排;
2)让项目团队成员从一开始就注意和理解工作任务之间的依赖
计算项目关键性通道(Critical Path)的重要性
它是项目计划中最为关键的管理手段和本领之一
项目管理通常这样对付关键性通道及任务:
将最佳的项目资源(人力、费用、设备等)用在关键性工作任务上
进行风险管理时特别注意关键性通道上的工作任务
对项目的进度进行追踪时特别注意关键性通道上的工作
当别的项目任务或团队需要借用资源时,出借非关键工作任务的资源、或出借有宽松时间的工作资源
利用关键性通道和宽松时间的信息:
对付缩短时间表的手段:利用宽松时间、分解工作任务、安排同步并进的工作计划
提早完成关键性工作任务
四.理解和运用软件开发流程的生命周期
• 应用的结果
如果你能够立刻开始所有这些步骤,那很好。但是,即使你只能开始遵循其中的一些步骤,那么你所遵循的任何步骤都能够让你尽可能的避免和控制项目范围蔓延。用那种方式,你就能够更好的控制你的项目,而不是让你的项目控制你。
• 总结
借助于项目管理的实践指南意味着在软件开发项目的流程中综合使用项目管理的领域知识
项目管理的成功依赖于完善的项目计划,而软件开发的项目计划必须具备以实际工作任务估算为基础的时间表
最佳的项目时间表的制定是从下到上、对每个具体工作做了切合实际的估算后的整体综合
懂得计算工作任务关键性通道,是制定并灵活控制管理开发时间表的关键技巧
理解和正确应用软件生命周期的特点并做好每个阶段的管理是软件开发项目成功的基础。
本文转自Aicken(李鸣)博客园博客,原文链接:http://www.cnblogs.com/isline/archive/2009/12/25/1631890.html,如需转载请自行联系原作者