从业软件项目这么多年,在企业应用开发项目中,项目能否成功,是否能按照项目计划有效的推进,是有很强的一套项目管理理论。最早的时候,接触的项目管理的方法论就是微软的MSF(Microsoft Solutions Framework)。它是一个可以更快地成功交付技术解决方案的方法论,强调实施此项目方法需要的人员更少,风险更低,同时可以获得更高的质量结果,提高成功率和解决方案的质量并减少对业务的影响。
MSF 项目管理强调:
- 使业务和技术目标相匹配
- 建立明确的项目目标、角色和责任
- 实现迭代、里程碑/检查点驱动过程
- 主动管理风险
- 有效地响应变化
MSF项目管理是微软在瀑布式项目管理的基础上的一个升级,项目的生命周期是有严格的规划,并且是有严格步骤的,项目的人员的角色分工是非常的明确。这种开发管理架构在早期的项目中是十分有效的。需求阶段,有专门的需求调研和功能架构人员参与,将项目的蓝图预先规划出来。项目组的SOW工作说明书(Statement of Work)在项目的初期已经完成。这样项目组所有成员有了共同的愿景,为了实现共同的愿景整个项目组努力工作。同时,由于项目在前期投入了大量的资源,对项目可能出现的风险进行了充分的预估。
有效的需求挖掘和功能架构,可以指导项目的概要设计和详细设计,有了详细设计,代码开发其实是一件非常轻松的事情,开发的代码的稳定性有了保障,项目组就可以按照计划稳定的输出项目交付物。后续的运营和优化也是一种完全可控。
MSF项目管理的成功实践往往需要有很专业的团队,对中小项目和产品的开发是十分有效的。时代的变迁,一种新的项目管理方法论Scrum敏捷项目管理开始风靡。敏捷项目管理是一种基于增量、迭代的开发项目管理方式,它强调整个项目过程拆分为若干个迭代,每个迭代完成一部分用户可感知的完整功能,如此往复,项目就能更快捷的达到项目预期。
Scrum敏捷项目管理有一套标准的模板,其它的模板我没有怎么使用过,我更钟爱Azure DevOps 的Scrum模板,有效的将项目的任务管理和开发管理,发布管理紧密的无缝连接起来。简直是完美的将软件的各个生命周期完美结合在一起,高效的管理起来,并且每一个都是可以追踪的。
Scrum 强调开发周期的迭代和可见交付物的持续,交付物可以是文档、测试报告、功能接口等等,但是需要强调的一点,交付物一定是可见的稳定的劳动成果输出。同时,在Scrum项目管理的设计的开发故事(Story)和冲刺(Sprint)一定要小,Sprint 的周期要尽可能的控制在一周的时间内。这样才能稳定的输出Sprint,有了稳定的输出成果,项目组就可以稳定的推动项目前进。