敏捷项目管理-Scrum
什么是Scrum?
Scrum是专注于迭代式软件开发管理的敏捷项目管理方法。
项目团队构成
- 产品负责人:负责维护产品订单的人,代表利益相关者的利益
- Scrum主管:为Scrum过程负责的人,确保Scrum的正确使用并使得Scrum的收益最大化
- 开发团队Team :由负责自我管理开发产品的人组成的跨职能团队
实施过程
- 产品规划
- 冲刺循环Sprint:
每个Sprint时间为2-4周
每次冲刺前召开计划会确定本次冲刺的任务目标(Sprint Backlog),制作燃尽图(Burndown Chart);
成员领任务进行开发;
团队每天召开每日立会(15min);
冲刺结束前召开评审会;
冲刺结束后召开反思会/回顾会,总结项目开发得失。
Daily Scurm每日站会
敏捷宣言强调个体交互重于过程和工具,敏捷原则阐述了面对面的沟通和自组织的团队这些敏捷的核心思想。Scrum的团队是一个自组织的团队,团队每天进行每日站会是团队面对面沟通和团队自组织的体现。Scrum的理论基础是通过保持过程透明性让参与过程的所有人了解真实状况,然后进行检查和调整,每日站会是Scrum过程进行每天的检查和调整的环节。
1.团队商量决定谁做什么(不能有领导任务指派),为当天排一个计划
2.团队沟通状态,了解现状,发现障碍
3.团队回顾昨天的工作,做调整,持续改进
时间?地点?
Scrum定义了开展每日站会的一些基本的规则。每日站会必须每天在同一时间、同一地点召开,最好的方式是在团队的可视化的任务板前面召开。 任务板上可以看到当前Sprint的燃尽图(Burn Down Chart)和Sprint中每个任务的状态。
>在每日站会开始之前,团队需要在任务板上更新任务的状态。这样的好处是在开会的时候,每个人都可以看到当前的进展情况。
每日站会是Scrum团队每天的第一件事情,这样可以让每个人在每天一开始就清楚的了解他一天的安排。对于跨国界的团队,存在时间差的情况,可以根据实际情况做调整。
纪律:
会议时间最多不超过15分钟。所有的团队成员自觉按时到场,因为会议很短,按时召开按时结束是很重要的。团队需要建立他们的工作协议来确保团队成员按时出席,并且遵守站会纪律,比如团队可以商量对于迟到的人员要有一些让他们改进的措施,比如适当的给一些罚金,多少由团队共同决定,这些钱如何支配也由团队共同决定, 或者做俯卧撑、挂一个迟到的牌子等等。
每日站会一定要站着开,每个人要精神集中,不能有懒散的表现。
每个人回答三个问题:
1.我昨天完成了什么任务?
2.我今天打算做什么任务?
3.我遇到了哪些障碍或困难?
同一时间只能有一个人发言,会上只说和这三个问题相关的话题,任何跑题的讨论,需要被ScrumMaster制止。一些的确需要讨论的问题,可以先记录下来,会后作为专题来讨论。
没有效果?
每日站会和传统的项目会议有如下几点不同:
1.不会有ScrumMaster或者其他任何人来指派任务。
2.团队成员不是向ScrumMaster汇报情况,每日站会是团队自己的会。
3.团队成员不会在会上讨论或者解决问题,大家会把问题记录下来,会后找相关的人讨论或召开具体的讨论会议。
4.任何团队之外的人不得发言或干扰会议。
Scrum的最基本原则是“Inspect and Adapt”(检视然后适应),如果什么事情做得很好,问问自己为什么,然后寻找提升的办法。
如果每日站会没有效果,检查一下这些规则:你是不是每天在认真开每日站会?如果不是为什么?如果你改变了Scrum的一些基本的规则,你可能会面临一些风险,因为这些规则都是经过锤炼和项目考验的一些通用规则。所以第一步,你可以先按照书本上的方式来做。
效果:
一个好的每日站会有如下几个特点:
- ScrumMaster不会逐个的问每个人问题,如果是,那么这个会议已经沦为了报告会。
2.团队成员互相交流,不是向ScrumMaster报告。
3.每日站会都会在15分钟以内完成。如果你遵守了规则并按照正确的方式开会,你就不需要再担心超时了。
4.站会结束后,ScrumMaster知道哪些问题需要帮助团队成员解决。
一个自组织的团队有一个非常明显的每天的节奏:Daily Scrum之前非常安静,每日站会之后会有一段活跃的讨论,到中餐前的时候就慢慢安静下来了。午饭之后会有另外一个阶段的活跃讨论,当下班前慢慢的安静下来。这就是一个自组织团队的脉冲。如果你能够感受到这个节奏,则说明团队是很健康的,每日站会起到了很好的效果。