凡事预则立,不预则废。
在进行项目规划时,有3点必须牢记在心:
A.项目规划是不断进行的。
B.为项目团队、出资人和项目经理自己制订发布条件,以明确定义“完成”的含义。
C.项目规划不必完美无瑕,但是它必须存在。
从时间角度来看,项目规划在项目启动后、项目执行前发生。在这一阶段需要输出使项目足以启动的规划。无论采取何种生命周期管理项目,都得做好反复规划的准备,只要当前的规划在被替换前具有可行性即可。开始规划时要想清楚多少内容需要写下来,如果想要减少制定规划的时间,至少保证规划出发布条件和风险列表。
1. 开发项目规划模板
模板要素:产品意图;历史记录;发布条件;目标;项目组织;日程总览;人员配备;建议日程;制定项目风险列表。
产品意图:简单描述产品(为什么开发该产品、能带来哪些效益等),与远景大方向一致,但又不完全相同。
历史记录:历史记录可以说明之前任何已知的技术债务。要复查的数据包括:发布的频率、发布后发现的缺陷数、客户报告的问题、影响项目经理对质量的定义及对项目管理方式的任何内容。针对客户在某个领域报告的大量问题,要对问题做溯源分析,判断是文档问题还是代码问题。
发布条件:详细列出项目产品的关键交付物,要将功能、性能、质量要求都涵盖在内。
目标:产品目标、项目目标、团队目标、组织目标。如果在项目章程中已详细列出目标,在项目规划中就不必写进去了。
项目组织:明确说明团队在项目中的职责分配,指明项目经理如何使用生命周期组织项目工作,要采纳哪些关键实践,以及是否有决策人可以影响当前项目。
日程总览:标有主要里程碑,并说明人们从这些里程碑处可以得到什么。不要放WBS,可以给出指示,让希望了解细节的人去自行查看。
日期 | 里程碑 |
---|---|
7月1日 | 项目启动 |
8月15日 | 5个客户交付早期版本 |
9月1日 | 开始beta测试 |
9月30日 | 完成beta测试 |
10月30日 | 系统上线 |
对于复杂项目,不妨多考虑几个方案,让出资人进行选择。项目经理要确保自己可以理解项目的价值,而不是只看到不同方案的成本。
不同方案 | 实际时间 | 架构时间 | 开发时间 | 测试时间 | 文档时间 |
---|---|---|---|---|---|
功能1、2 | 2个月 | 1人月 | 6人月 | 6人月 | 2人月 |
功能1、2、3 | 4个月 | 2人月 | 10人月 | 10人月 | 3人月 |
功能1、2、3、4、5 | 12个月 | 6个月 | 60人月 | 50人月 | 8人月 |
人员配备:说清楚在何时需要多少何种类型的人员。
建议日程:列出主要里程碑,如果有反映最初日程安排的甘特图,在此处加入访问指示。
提示:小心过早细化日程,如果过早地向出资人提供了非常详细的日程,他们会认为项目中几乎没有风险并注意日程中的项目结束日期,并以此作为项目真正的结束日期。
制定项目风险列表:至少将排名前十的风险记录在案,并适时更新列表,要尽早开始识别和管理风险。
风险序号 | 风险描述 | 发生概率 | 严重程度 | 暴露程度 | 反应时间 | 应对计划 |
---|---|---|---|---|---|---|
为每个风险排定序号 | 用一个短语或一句话为风险命名 | 风险发生概 | 如果风险发生会造成影响的严重程度 | 发生概率乘以严重程度 | 应对风险的时间 | 处理风险的计划 |
1 | 除非到了项目后期,否则我们不知道算法的速度是否够快 | 50-50(中等) | 高 | (M,H) | 7月14日 | 增加测试人员,与算法开发人员一起进行测试 |
2. 制定发布条件
发布条件会定义项目完成的含义,出资人和客户可以用发布条件作出合理的决策,对产品的质量和风险做出判断。
发布条件的制定步骤:
A.确定当前发布最重要的因素,这样可以监控发布条件的活动贯穿项目始终。
B.草拟发布条件。在草拟发布条件时,要在纸面上标准“草案”字样。
制定条件时,如果条件许可,要在上市时间、客户需求、缺陷状况、性能和可靠水平之间达成平衡。如果有测试经理参与项目,可以请他完成或者与他一起草拟发布条件。
C.让发布条件符合SMART原则:确定的、可测量的、可达成的、相关的和可跟踪的。
D.获得项目团队与高层管理人员的认可。如果有人对草拟条件有负面意见,要找到他们担心的原因。就发布条件获得大家共识的过程中,可提问以下:
(1)在发布日期之前,我们是不是必须满足这个条件?
(2)要是我们不能在发布前满足这个条件,会发生什么?
(3)如果不能满足这个条件,我们的产品或公司是不是会因此而承担风险?人们的安全感是不是会因此被破坏?
3. 使用发布条件
发布条件只能有“满足”和“未满足”两种状态。在描述没有完全满足的条件时,高层管理会认为你还在努力工作,适用于未满足状态描述。
发布条件可用于确认项目进展。理想状况下,项目经理可以随着项目进度评估发布条件,并在项目预期结束时满足这些条件。如果不能达成,也能较早识别。
在必要时变更发布条件,变更时需要注意的两件事情:
1.跟团队确认为什么无法满足条件
2.向管理层解释无法满足条件的原因,促使管理团队向项目团队解释目前的状况。(如果不向团队解释,他们会觉得自己正在玩日程排定游戏)
综上,项目规划是动态的,是为项目执行制定测量标准、职责分配,指引项目顺利开展的一步关键环节。