文章目录
项目管理方法和标准(Project management Methodologies & Standards)
常见的方法和标准
- waterfall:先做设计,设计完了之后再进行实现,实现完了测试
- scrum:和 agile 非常相似,都试图克服 waterfall 这种线性方式,他们试图通过迭代的方式来完成项目的管理
- prince2
- agile
Waterfall
- 从其他领域学习来的(建一个大桥或者建一个房子)应该首先规划所有的需求(构建蓝图)
- 在构建和完全完成实施之前不会进行测试工作
- 所以 waterfall 是建设没有任何的替代方案,直接将blueprint 设计成完美形态
优势
- 广泛的计划,这种彻底性通常会导致更精确的时间线和预算;在实施之前就会把所有的东西都设计好,你明确地知道要设计多少个 class,使用多长的时间,雇佣多少开发者来完成这件事 因此实施过程中是非常舒服的
- 但是在 waterfall 的框架下一旦发现问题也是很难解决的( 难以应用更改或修改/纠正之前的步骤(水不能倒着跑),需要主动预测问题)
Agile
- 非常适合经常发生需求变动的开发场景(开发过程中使用的依赖库发生改变···,这时候需要相应的改变代码;或者使用新的硬件的时候)
- 通常开发过程中会经常收到来自用户的反馈情况
- 开发过程中可以将开发到一定程度的产品给用户展示,方便在中途收到反馈,这是 waterfall 不具备的
- 但是 agile 的过程非常依赖经验,如果之前没有这么做过可能会做的不好
如何选择项目管理的方法
- 没有最好的项目管理方法,要根据下面的几个指标进行考虑:
清晰稳定的范围(clarity and stability of scope)
- 如果你什么都不知道,你只是想开始并且看看事情会发展成什么样,不要选择 waterfall 因为你没有需求是没法使用 waterfall 的;
- 相反如果需求非常明确,那么就采用 waterfall
时间线(timelines)
- waterfall 使得 timeline 的规划非常简单直接(比如前两个月做 requirement,再一个月做 design,两个月编代码,两个月做测试)
- 但是对于 agile 或者 scrum,不太容易规划时间线,比如你在开发过程中可能需要获得用户的反馈,但是你并不知道用户什么时候会愿意给你反馈,因此不确定性很高;而且如果他们一直有新的想法,那么时间线的规划就更加遥遥无期
项目失败与否及其主要原因
一些衡量的主要指标
- Successful: 项目定期完成,并且在预算范围之内,实现的功能和特点也都达到预期
- challenged:完成了,但是逾期或者超预算,或者没有完全达到预期的功能要求
- failure:中途的某个时间点取消了项目
决定项目成功的因素
- 技术并不是最重要的,管理也不是最重要的,最重要的是钱、员工的成熟度、用户的参与度、优化
了解组织如何选择最佳/正确的项目(项目筛选)