Scurm是一个具体的项目管理方法论。是一种敏捷方法(Agile).核心概念是以迭代的方式进行运作。
Scrum 流程:
1、产品积压工作(product backlog) (将产品需要实现的功能堆积到一起)
2、冲刺积压工作(sprint backlog)(按照功能的优先级取出要实现的功能)
3、冲刺(sprint)(完成需要实现的功能)
4、发布
Scurm工作项单位是故事(story),产品积压是故事队列,冲刺积压是取出故事,冲刺是实现故事,发布是故事完成。
敏捷方法论(Agile)包括一组轻量级软件开发方法。允许软件开发过程中响应客户需求。
Scrum与瀑布
瀑布方法论流程过于严苛和僵化,需求确定后根据需求进行项目开发。开发期间不响应客户需求。(从上到下一直执行,不响应外部需求)。
Scrum更加灵活,可变性强。
角色和指责
1、产品负责人(Product Owner ,PO) Scrum团队和客户之间唯一的联系,要对最终产品负责。
决定需要哪些特性,特性的优先级,接受或拒绝已完成的工作。
不能决定冲刺时间内的工作量,不能决定如何实现工作项(由开发团队从技术上给出方案),冲刺过程中不能修改验收标准,增删故事。冲刺计划会议结束后,目标与承诺的故事不可改变
2、Scrum主管(Scrum Master,SM)负责在冲刺的过程中为团队隔离所有外部的影响,并且解决每日站立会议中提出的影响开发障碍。
负责开发流程。可以修改开发流程(增加、减少冲刺时间),不可以指定开发团队如何实现一个故事。
3、开发团队(理论上敏捷团队由一些全科专家(generalizing specialist)组成,每个成员熟悉多个领域)
筒仓现象:团队中各种专家各自掌握产品开发必须的一种知识。
团队中开发人员技能重合可以避免筒仓现象,增加开发人员参与度,减少个人压力。
测试人员负责保证开发软件的质量。在开发故事前,测试人员可能需要规划出自动化测试以保证故事的实现符合预先规定的验收标准。