敏捷实践方法——Scrum

发表于:2009-7-08 15:21

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:dan.sud    来源:阿里巴巴(软件)开发者博客

#
敏捷

  团队一直在推行敏捷的项目开发,在不同的场合中多次提到了目前行业盛行的一些方法,我也是囫囵吞枣般的快速略过,不求甚解。终于前段时间拜读了一些敏捷管理方法学大师的著作,再次对这些广为运用的方法,如Scru、XP、Evo、UP等进行系统性的学习,记录下一些学习笔记,以供今后回顾。

  首先,Scrum作为一种敏捷方法学众多方法之一,它本身是具有独特的实践、理念和价值观。它强调一套项目管理的价值和实践、而并不关注需求和实现等具体的环节,它在理念中强调的是经验型过程而并非规定型过程。即是说,Scrum方法认为我们所有的软件开发过程都是一种创新型的工作,在工作过程中,蕴含有巨大的复杂性和不可预见性,往往需要依赖开发人员的个人能力和经验来解决,而不是传统行业流水线式的既定工作模式。Scrum虽然对正规性要求不高,但是并不是说Scrum方法排斥文档,Scrum更注重实效,避免不必要的格式化的说明。

  Scrum的一个标识性实践:迭代周期通常是30天。(Scrum中用sprint代表迭代,而不是我们常用的iterative),但是这句话似乎被很多人误解,其实Scrum只是觉得30天是一个比较合适的迭代周期,而并不是强制要求采用Scrum方法就必须30天。

  在Scrum项目生命周期的四个阶段,计划、过渡、开发和发布,引入了四种角色,他们分别是客户(产品所有人)、Scrum主管、Scrum团队,其他属于这个项目而不在前面范围的人员均属于其他相关方。

  客户(产品所有人):在计划阶段需要负责创建产品需求列表,确定其中的优先级,以及确认下一次sprint的范围及目标,在sprint后期需要review Scrum团队所交付的功能组件;

  Scrum主管:需要确保并贯彻Scrum的价值和实践,扫除开发项目过程中的所有障碍;

  Scrum团队:充分自主的利用自身的经验完成当次sprint中所列出的工作;

  其他方:在迭代过程中,其他人只能观望,不能干预。

  在这个角色描述中,也包含了Scrum的另外一些关键性的实践:

  Scrum团队应该是一支自我组织和自我管理的团队,管理者需要对团队充分的信任。团队成员所负责的迭代的清单任务,应该是由团队成员自我认领的,而并非分配,因为这样可以更大程度调动主动性和创造性;

  一次迭代任务一旦明确,就不能增加额外的工作任务,其他人对其的功能需求只能放到下次迭代中,非项目成员不得对项目干预;

  每次迭代后,Scrum主管都需要向客户做成功演示。

  Scrum对stand meeting有更为严格的要求,并且站立会议也是作为Scrum的一个核心实践被记载的,它要求每天、在相同的时间、地点举行,会议上的每个团员都需要按规定回答五个问题:

  1、自从上次会议你都做了什么?

  2、从现在开始到下次会议,你将要做什么?

  3、什么阻碍了任务完成?

  4、有没有新的,没有在原功能列表中遗漏的功能需要添加?

  5、相对于其他团队成员,是否学到了或做出了新的决定?

  为了更有效的执行Scrum的站立会议,Scrum主管应该控制到发言的时间(2~3分钟/人)、人员(团队成员发言,其他人只能听)、内容(不能深入探讨,如工作有阻碍,需要明确记录下来)。Scrum站立会议的优点在于,它是有共同语言和开发内容的一群人的交流,沟通顺畅;团队每个成员的发言既是对其工作内容的一个承诺,有责任感;会议明确了问题的存在,并在接下来的时间内可以去解决;会议可以快速的通报当前任务的进展情况,使外部人员也可准确、及时的了解。

  站立会议也正体现了Scrum方法的五大价值观:承诺、专注、公开、尊重和勇气。

相关阅读:

敏捷实践方法——极限编程

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号