scrumcn_agile

敏捷转型ADAPT模型之能力篇

如果没有敏捷转型的能力,再好的意识和愿望也都于事无补。Scrum成功除了需要团队成员学习新的技能,还需要他们也能够放弃一些旧的技能。Scrum团队要面对的其中一些更大的挑战如下:

学习新的技术、技能。对开发团队中的一些Scrum新手来说,普遍的情况是,虽然他们的工作做的也还不错,但他们还不擅长敏捷。他们必须要掌握一些过去不要求掌握的必备技能(或可能忽视的技能)。例如,程序员需要学习如何进行系统设计。在不过分依赖于文档的情况下,测试人员通常必须学会如何测试系统。通常,他们都需要学习自动化测试的新方法。

学会用团队的方式思考和工作。我们很多人喜欢常年坐在自己的隔间内默默的工作,牢牢的带着耳机,尽量减少和团队的互动。“你开发你的部分,我开发我的”。我们只有在相互集成出现问题的时候才会讨论一下。Scrum团队鼓励不要去考虑是你的任务还是我的任务,这都是我们的任务。这迫使团队成员之间的协作要达到一个新的高度。采用这种工作方式也创造了一个共同负责的思想倾向,这对许多团队成员来说也是新事物。

学会在一个短的时间箱内制造出可以工作的软件。在Scrum中,短小、专注、时间箱式的Sprint对大部分采用这种工作方式的新团队来说是一个重大的挑战。Scrum团队尽力避免从一个专家到另外一个专家之间的、不必要的工作交接。要在每个Sprint结束的时候开发出可以工作的软件,这会迫使团队成员想办法消除无谓的交接,更紧密地合作。

开发能力的工具
在大部分的组织中,开发敏捷转型的能力(然后在擅长它)比形成意识,创造渴望要花更长时间。幸好有许多很好的工具可以帮助我们来开发。。其中包括以下内容。

提供辅导和培训
Scrum和传统软件开发不同在于,培训以及现场的教练或指导通常是必需的。Lori Schubring,她领导了一个成功的Scrum实施,她这样说:“我们敏捷成功的能力开始于一个教育的过程。”我认为这是关键。如果我们不理解它,我们也就不可能敞开怀抱欢迎它。Elizabeth Woodward是IBM敏捷实施的负责人之一,他对此有相同的看法。

我们通过设定第一季度内在全球主要分部举行为期两天的,教师指导式的敏捷开发培训课程的目标,作为我们敏捷转型的开始。在前三季度,我们指导了世界各地的4400软件工程师。它的重要性体现在让每一个人站在同一个起跑线上,体现在分享愿景和建立紧迫感上。我们发现,为让团队主动拥抱敏捷,我们需要消除人们对敏捷的一些误解。

一些初始的培训对大多数公司来说貌似最有效,定位于激发尝试Scrum的意愿和理解它的核心原则。这是一般的培训,随之而来的就是具体的实践培训与指导,例如安排一个测试驱动开发的专家到现场工作,通过实际操作指导团队开发代码。

刚刚开始实施Scrum不久,Salesforce.com请我到现场为30多个ScrumMaster做培训,其中包括一些在项目上并不是担任ScrumMaster角色的人。两个月后,我为他们的35个产品负责人做了一个正式的、两天的培训课程。另外的一些现场教练也在那个时候引入进来和团队一起工作。事后看来,即使有这种早期的,对培训和辅导郑重承诺,Chris Fry 和Steve Greene也期望他们能够“更早、更强地培训他们的产品负责人”,他们应该“更早聘请外部教练”。对于向Scrum转型的公司,他们给出了这个建议:“找专业人士协助”。

赋予个体责任
在提供辅导和培训的同时,员工需要知道他们有责任应用企业花钱让他们获得的那些新的技能。

共享信息
在开发敏捷能力的时候,团队成员的周围将充斥着新的信息和挑战。
为他们提供分享信息和问题的机会。一种方法是使用团队间“互相取经”:鼓励团队成员偶尔参加其他团队的每日站会或Sprint评审会议。

另一种选择是使用公司内网、Wiki、实践社区和阅览小组来传播信息。还有一个分享途径是要求那些学到新技能的人,对其他人做一个简短的培训。或者,如果你的团体足够大,甚至可以做一个一整天的微型敏捷研讨会。这正是雅虎在其加州总部的做法。J.F. Unson那时是雅虎的Scrum教练,他讲述了这种做法。

在Yahoo!我们有一整天的内部Open Space研讨会,任何人都可以参加,提出他们的主题。我们有许多很好的讨论,特别是在处理企业实施和分布式敏捷等方面。
我们周围的同事,甚至英国的同事安排会议来参与。它确实能帮助您在公司内建立社区,让人们提出并拥护自己的解决方案。当然,因为我们公司足够大去产生足够的参与者也是有所帮助的(2008)。

IBM公司采取了类似的办法,每年进行两次为期4天的会议,其中参与人员包括全球范围内的技术领导人和经理,以及在当地分部的技术人员。Elizabeth Woodward介绍了他们如何在全球各地进行一些更小的“小型研讨会”来帮助IBM的员工实施敏捷。

这些会议各有侧重,包括敏捷演讲、培训、经验报告以及敏捷主题的社区工作会议。工作会议非常高效,因为我们可以解决我们的一些关键的挑战,比如分布式Scrum应用,通过我们多样化的、有经验的群体做面对面的辩论和讨论。

设置合理目标
提出一个目标比如“现在就敏捷吧”。。许多团队会僵住,他们不知道如何开始。一个成功的Scrum的转型,需要分拆成更小的块。因此,对于一个团队,他们的ScrumMaster应该要求他们在进入下个Sprint前开发一个功能。。而不是要求他们开始做测试驱动的开发。同样,一个组织必须平衡推动快速改进和推动太多太快带来的风险。通过鼓励团队选择现实的,可操作的目标,你可以帮助他们避免在做任何重大承诺前可能出现的犹豫。


不要拖延,不要等到知道所有的答案后再开始。开发一种做事能力的最好方式是开始去做它。像Greene 和 Fry建议的那样:“做实验,保持耐心,并期望着犯错误”。
作者:Mike Cohn

(原文来自: http://www.mountaingoatsoftware.com/   本文经授权翻译及转载,不得复制)