|
SCRUM是当下一种比较流行的软件开发模式。它将一个软件开发项目切分成多个30天左右的短周期(Sprint),以迭代的进行软件开发。这一模式的好处有:
1、每一阶段的开发成果经过验收可以直接投入使用。这样享受开发成果的时间表被提前了。项目管理者联盟
2、后续的项目周期目标都可以根据当前的项目状况和市场需求做出调整。这样就增强了项目开发的灵活度。项目管理者联盟
3、由于项目管理诸多元素已经被融入到SCRUM中,因此降低了项目的管理成本,弱化了项目经理在项目中的作用。实际上项目经理的大部分职责被分配到SCRUM m aster和每一个团队成员身上。我在接下来的篇幅中具体介绍SCRUM是如何与项目管理结合的。blog.mypm.net
一、项目范围管理项目管理者联盟
SCRUM的每一个阶段都会有明确的目标并且被分解成为足够小的work item被放在sprint backlog里,并且每一个work item是被赋予了优先级。高优先级的任务将会被优先开发并确保完成。低优先级的任务有可能被转入下一个SCRUM周期继续开发。可以说项目的范围在SCRUM每个Sprint周期开始就是被明确定义的。项目管理者联盟
二、项目时间管理
放入sprint backlog的每一个work item被赋予了预估完成的小时数,并且work item之间的依赖关系是要求在制定sprint backlog阶段就被识别出来的。通过依赖关系,科学合理的安排work item完成顺序是保障项目流畅进行的前提。因为每一个work item的完成状况会每天在sprint backlog表里被更新,所以项目的进度很容易的被跟踪。而且在SCRUM里我们可以用burn down chart来跟踪整体的进度,并且这个表可以由sprint backlog直接导出。Sprint backlog和burn down chart让SCRUM项目的时间和进度管理一目了然。项目经理圈子
三、项目费用管理项目管理者联盟
软件开发项目最大的成本就是人力资源的投入。而开发人员产生的费用一般是按小时计算的。在SCRUM中每一个work item的工作量和状态也都是通过小时计算的。这就使项目人力资源的费用管理和控制变得简单明确。项目管理者联盟
四、项目质量管理项目管理者联盟
在每一个SCRUM周期结束的时候都会有一个项目成果的评审会,对开发成果进行评审和验收。通过验收的成果可以投入使用,有问题的将会被要求在后面的SCRUM周期中进行修正。PgMp.mypm.net
五、项目人力资源管理项目管理者联盟
每一个SCRUM开发团队的人数被控制在6-8人。SCRUM m aster作为成员之一负责项目的进度跟踪和协调,负责主持Sprint backlog会议与开发团队一起分配work item,以及主持每日15分钟的SCRUM meeting。项目经理的部分职责通过SCRUM的流程被分散到项目团队的每个成员身上。成员的任务和目标都非常明确的被定义在sprint backlog中。项目管理者联盟文章
六、项目沟通管理项目管理者联盟
每天的SCRUM meeting是团队内部沟通的最有效方式。会议的议题非常明确。每一个团队成语需要回答3个问题。今天做了什么,遇到什么问题,以及明天将要做什么。通过这样的方式,Sprint backlog被更新的同时,项目状况会很清晰的呈现在每一个成员面前。而遇到的问题有可能由团队内部的其他成员直接解决。否则,SCRUM m aster将负责记录问题并协调团队外部资源解决。项目管理者联盟
七、项目风险管理项目管理者联盟
我在SCRUM项目中感到最大的风险有两个。项目管理者联盟
1、对项目work item之间的依赖关系认识不足。项目管理者联盟
对这种依赖关系没有提前认识以及完成顺序没有一个合理的安排,直接导致人力资源的阶段性闲置,直接影响项目的费用和进度。所以在sprint backlog的制定阶段充分的识别work item之间的依赖关系是非常重要的,并且每个团队成员通过在sprint backlog的标识能够清楚的知道自己负责的work item对全局的影响。项目管理者联盟
2、团队成员需要改变传统的软件开发思维。blog.mypm.net
按照传统的软件开发思维,每一个开发人员遇到问题喜欢独立的思考和解决问题,不愿意主动的在第一时间反映问题。这很有可能造成项目进度的拖延。而SCRUM每天是以小时计算工作量和衡量work item进度的。开发人员不会有太多了时间用来研究解决问题。暂时解决不了的问题会在每天的SCRUM meeting上直接暴露出来。一些经验性的问题会由团队内部的其他成员帮助解决。而疑难问题将会由SCRUM团队之外的支持团队帮助解决。对于SCRUM团队成员来说,成功不是解决了多少疑难的技术问题,而是能够保证每个sprint backlog中work item按时完成。项目管理者联盟
总的来说,SCRUM提供了一种团队开发项目的管理模式。它每日进度跟踪,要求团队必须高效运作。所以说进入SCRUM的团队成员应该是项目开发中的精英。他们必须具备对任务的估算和进度掌控的能力。而且必须有较高的责任感和进取心,以及良好的工作习惯。这些都是一个SCRUM开发团队成功的保证。项目管理者联盟 项目管理者联盟
|