十六问:Scrum的迭代Sprint周期一定是30天吗?
十六答:Scrum的目标是在一系列(3~8个)短期的时间框(time box)内交付尽可能多的优质软件。其中时间框被(固定时间间隔)称为Sprint,典型地,其将持续大约一个月30天的时间。但在许多公司已缩短至两个2周或更短。我建议刚开始实施Scrum时Sprint周期最好固定为30天,随着经验积累可以根据实际进行调整期Spint周期为2~4周。
十七问:Sprint的长度取决于哪些因素?
十七答:绝大多数的迭代增量开发方法推荐1~6周的长度。Scrum推荐其迭代Sprint的长度为30天。确实需要调整时,考虑发布的总时间长度、不确定性的多少、获得反馈的难易、优先级可以保持多久不变时间长度、迭代系统开销、紧迫感产生有多快等因素。这里需要特别指出的是国内有企业一开始就执行2周为Sprint周期的企业,因为其执行短周期迭代开发的基础设施(如软件配置管理和自动化测试的基本实践不扎实)不到位而导致退化为瀑布开发的案例。
十八问:导致Scrum项目失败的主要原因是什么?
十八答:导致失败的主要原因是软件团队不是自组织团队,团队由项目经理或Scrum Master进行指导和组织。其次,Product Owner或客户不参与每次迭代,不进行需求优先级划分,不参与每次演示,并且不为下一迭代选择具有最高商业价值的项。另外,在迭代期内给团队成员追加新的需求或额外的任务。
十九问:您如何看待Scrum Master认证培训?
十九答:敏捷联盟推出Scrum Master认证培训即Scrum Certified Master,事实上其敏捷联盟内部对此也有一些争论。我个人认为您如果有机会参加由那些真正理解Scrum的人负责的为期2天的培训自然是件好事。但我认为把它叫做“认证”会带来一些错误的认识,比如国内外都有参加了Scrum认证后就认为自己是Scrum Certified Master,然后在软件组织内执行Scrum最后导致失败的案例。要真正达到通常意义上的认证,至少你必须进入软件团队,用Scrum工作方式几个月的实践才行,倘若没有任何软件开发经历和理解Scrum背后的哲学体系,仅是接受2天的培训而去推广Scrum,后果不堪设想。另外,如果纯粹为了就业或是获得证书什么的,我认为没有必要参加目前还相对昂贵的认证培训,看看类似的认证培训效用就可以知道了。相信任何理性的软件组织都更看重的是实践能力而非仅仅通过2天培训换来的一纸证书。在这里我特别声明我并不反对任何人任何时候参加任何机构举办的Scrum Master认证培训。
二十问:对于刚刚学习和实施Scrum者有没有可以推荐的读物?
二十答:书籍方面目前主要有由Scrum创始人Ken Schwaber主笔的三本书:《Agile Software Development with Scrum》、《Agile Project Management with Scrum》和《The Enterprise and Scrum》。其中《Agile Software Development with Scrum》还得到了Beedle和Sutherland的协助,国内出了影印版中文名为《敏捷软件开发——使用Scrum过程》。《Agile Project Management with Scrum》出了中文版,中文名为《Scrum 敏捷项目管理》,《The Enterprise and Scrum》也已引入英文版。另外著名技术网站infoQ有2本迷你书。我个人倾向推荐《Agile Software Development with Scrum》。
此外,我个人认为在精力和时间允许的情况下最好对Scrum产生重大影响的一些书籍和文章进行研读,这样可以更深入理解Scrum和领悟其自适应与自组织的精髓。如被誉为世界知识管理运动之父的Takeuchi和Nonaka的原创性文章《The New New Product Development Game》和知识管理三部曲之一的《The Knowledge-Creating Company》(中文版名为《创造知识的企业》)、遗传算法之父和复杂性新科学的先驱者之一Holland的《Hidden Order》(中文版名为《隐秩序》)和《Emergence》(中文版名为《涌现》)。