Scrum是基于敏捷(Agile)思想的开发框架,用于迭代式增量软件开发过程,它基于经验型流程控制理论。
处理复杂的事情,如果有框架指导,就能保证最终结果的完整性、系统性及正确性。
通过框架,将复杂的事情切分成较小块、把工作流程标准化,从而将大问题变成一个个小问题,大大减少工作难度。
产品负责人(Product Owner)建立条目化的产品待开发项,并进行优先级排序。
在迭代计划会上,产品负责人讲解本迭代要开发的条目,团队进行估算并放入下一个迭代。
团队在迭代内完成所列需求,每天都开每日”立“会以沟通进度和问题。
在迭代终点的迭代评审会上,团队向产品负责人等展示开发成果。
Product Owner 负责产品需求管理、需求优先级定义、及产品验收等;
Scrum Master 作为团队Scrum流程的引导者 ;
Team 负责根据需求交付产品。这三个角色分别代表业务方、实施方、及项目流程管理方。
ScrumMaster是团队的导师和组织者,与ProductOwner紧密合作,及时为团队成员提供帮助。促使team按照Scrum方式运行,为Scrum过程负责的人。
ScrumMaster并非团队的领导(因为团队是自我组织的),而是一个负责屏蔽外界对开发团队干扰的角色。ScrumMaster是规则的执行者,他是Scrum团队中的服务型领导。
类似运动团队教练的工作观察团队运行的过程,ScrumMaster帮助团队提高工作绩效。教练不是顾问,不提供解决问题的方案,而是支持Scrum团队自己去发现属于自己的最适合的答案。
Scrum Master指导团队的日常活动就是观察团队,反馈问题,引导,教育和支持。
ScrumMaster和产品负责人之间的关系,既是互相制衡又是互补。产品负责人的目标是产品,ScrumMaster目标是培养团队,两个角色的目的不同。所以不推荐让一个人兼任Scrum Master和产品负责人两个角色。
产品负责人主要负责目标—开发正确的产品,ScrumMaster主要负责使用正确的方式来实施Scrum。
通过使用Scrum帮助产品负责人取得最大的业务成果,只有使用正确的Scrum方式来创建正确的产品,才能取得持久的成功。所以产品负责人和ScrumMaster是互补的。
ScrumMaster是团队的过程权威,为了确保团队实施并遵循Scrum的价值观原则和实践。ScrumMaster需要被充分授权,只要有可能ScrumMaster就要持续帮助Scrum团队改进过程,实现交付的业务价值最大化。
ScrumMaster的权威不同于职能经理或项目经理既不招人也不裁人,也不命令团队做什么任务。不负责工作一定能完成,他帮助团队定义并遵循自己的流程,从而确保工作完成。
ScrumMaster保护开发团队免受外部干扰,让团队可以集中精力在每个交付实现业务价值。
干扰有各种来源,可能是经理在冲刺过程中想给团队重新安排其他工作,也可能是其他团队引起的问题,不管干扰来自哪里,ScrumMaster都要实地考察解决管理问题,让团队专注于价值交付。