上上周末,单位组织了敏捷项目管理的培训,很受启发,下面就对敏捷项目管理做个简单的总结。
一、为什么使用敏捷方法
敏捷管理是相对于传统的瀑布模型提出的,传统的瀑布开发模式是这样的:
瀑布开发模式的项目周期往往比较长,一般为3-6个月,甚至更长时间,当项目开发完成后,最后交付成果往往不是产品经理或是客户真正想要的,最后只能重新从项目的需求开始,经过一系列的建设、测试、部署等过程,那样的话,项目周期就会更长,然而又需要尽快投入市场,最后只能是稍微改动一下,差不多接近项目需求就行。
使用瀑布开发模式很容易出现这样的结果,开发周期很长,不可控的因素和风险很大,最终会偏离最初想法。
而敏捷开发流程是这样的:
每一个迭代的开发周期很短,一般为1-4周,它将瀑布开发过程切分为多个短的迭代式的增量开发过程。每一个迭代结束,都会产生最终可用的产品,如果需求有变化,可以在下一个迭代周期进行开发,基本不会出现最终交付产品是用户无法接受的,即使要浪费时间的话,最多就是一个迭代周期的时间。
二、Scrum是什么
Scrum是敏捷开发方式的一种。Scrum强调沟通,要求团队所有人坐在一起工作,通过高效沟通解决问题。
它的具体过程如下图所示。
首先,产品负责人(PO)获取用户需求,生成带有优先级的产品需求列表(PBIs),在每个迭代周期开始时,会召开一个迭代计划会,从产品需求列表中挑选出本个迭代期要实现的功能,得到一个Sprint冲刺列表。接下来,团队会进入一个1-4周的迭代期,在迭代期内,团队会进行项目的开发、测试、文档编写等工作,需要召开每日站会,了解团队成员的工作进展及遇到的困难,在迭代期的最后,会召开项目评审会和回顾会。
三、如何使用Scrum
使用Scrum开发时,主要关注3-3-4原则。
3个角色:产品负责人(PO)(负责确定项目需求,维护PBIs)、Scrum Master(SM)(负责主持会议,排除团队遇到的困难以及外界的干扰)、Scrum Team(整个开发和测试团队);
3个产出物:Product Backlog(产品功能列表)、Sprint Backlog(Sprint冲刺列表)、燃尽图;
4个会议:Sprint计划会、每日站会、Sprint评审会、Sprint回顾会。
Sprint 计划会:确定本个Sprint需要完成的功能需求。
每日站会:每日站会时间不超过15分钟,主要围绕三个问题展开:我昨天完成了什么?我今天要做什么?我遇到了什么困难?
Sprint评审会:项目团队将已实现的项目结果进行演示,听取利益相关方的反馈,以便在下一个Sprint进行改进。
Sprint回顾会:对本个Sprint进行回顾,哪些是做的好的,哪里需要改进的,并对这些改进的点,提出改进措施,在下一个Sprint中进行实现。
燃尽图:指的是当前剩余的工作量,可以很好地跟踪项目进展。
四、敏捷带来的价值
1、快速响应变化。Scrum开发完全适应现在互联网开发提出的“小步快跑”,以轻量级的Story作为需求进行迭代式开发,保证最重要的功能优先做。
2、项目团队的透明性。敏捷团队所有成员都能了解当前项目的进展和问题。
3、项目团队的专注。项目团队可以确保把时间放在与冲刺目标相关的事情上,不受外界干扰。