Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法:Scrum of Scrums.
Scrum是一个包括了一系列的实践和预定义角色的过程骨架(是一种流程、计划、模式,用于有效率地开发软件)。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。
在每一次冲刺(一个15到30 天周期 ,长度由开发团队决定),开发团队创建可用的(可以随时推出)软件的一个增量。每一个冲刺所要实现的特性来自产品订单(product backlog,我觉得翻译成“产品目标”更恰当), 产品订单(产品目标)是指按照优先级排列的需要完成的工作的概要的需求(目标)。哪些订单项(目标项目)会被加入一次冲刺,由冲刺计划会议决定。 在会议中,产品负责人告诉开发团队他需要完成产品订单中的哪些订单项。开发团队决定在下一次冲刺中他们能够承诺完成多少订单项。 在冲刺的过程中,没有人能够变更冲刺订单(sprint backlog),这意味着在一个冲刺中需求是被冻结的。
每日站立会议是SCRUM方法中的一条关键实践,看似很简单的一个活动,其实内涵丰富,如果能够成为一种习惯,还是不容易的。其功能为:
1 站立会议通过每天面对面的沟通,可以:
(1)快速同步进展,让项目组内部的员工互相了解彼此的进展,从而了解本项目的整体进展。
(2)给每个人一种精神压力,信守承诺。这是一种面对面的精神压力,直面项目进展。
(3)培养团队的文化,让每个人意识到:我不是一个人在战斗,我们是一个团队。
所以站立会议不能用邮件替代,不能在电脑旁,必须眼睛看着其他的成员,而不是电脑。
2 每天在固定的时间、固定的地点召开;一般是每天早晨一上班,这样就不要每次开会都要下通知了。
3 项目的延期源之每天的延期,所以要每天实时跟踪进展,站立会议必须每天都要开。
4 每次会议不超过15分钟;如果要讨论技术问题,会后单独开会,少数人参与讨论。注意,站立会议一定不是长会。为什么站着,就是要短!
5 站立会议时一般要有白板,在白板上粘贴的是本项目组的任务状态:未开始的任务,进行中的任务,中断的任务,完成的任务。其实也有一些敏捷的工具,可以电子化sprint backlog,但是还是不如物理的白板更有视觉的冲击力。
6 会中应该更新每个任务的进展状态,直接在白板上移动任务贴纸。工作状态的直观看板也是一种了解进展、明确目标的有效手段,可以随时提醒团队成员,我们在何处?我们离目标有多远?
7 在开站立会议时,不是每位成员给项目经理汇报工作,而是大家是平等的,是给项目组的所有人一起同步进展。这也是一种文化的培养。
8 项目组外部的管理人员可以列席,尤其是主管领导,但不能发言,不能下指令,只能旁听。在SCRUM中提倡的是团队自我管理。
9 如果有人开会总是迟到,需要制定惩罚措施,要培养守时的文化,团队的文化。
注意要点:
为了避免开长会,每位成员必须只能回答3个问题:
昨天你完成了什么,
今天要做什么,
有什么需要别人帮忙的?
其他问题不在此次会议上讨论,而是会后讨论。
点评: 我觉得站立会议很好。