《敏捷软件开发 : Scrum实战指南》—2 取得支持与组建团队
第Ⅰ部分
战前准备
l 第3章 用团队顾问来优化团队表现
l 第4章 预估团队的速率
l 第5章 Scrum的三大角色
l 第6章 确定Sprint的长度
l 第7章 如何定义“完成”
l 第8章 全职的ScrumMaster
第2章
取得支持与组建团队
《少有人走的路》作者派克(M. Scott Peck)写到:“真相就是,当我们感到深深的不安、不快或者缺乏成就感的时候,最有可能迎来人生中最出彩的时刻。因为只有在这个时候,受不安的驱使,我们才有可能走出困境,开始去寻找不同的道路或者真正的答案。”
我们通常对自己的困境以及不快习以为常,其程度如同我们的抱怨一样多。毕竟,即便当前的情况相当糟糕,但至少我们已经熟悉此领域与规则。Scrum 提供了一种走出困境的方法,但是它带来了一种全新的、未知的、不熟悉的工作方式。在面临已知与未知之间的选择时,我们常常犹豫或者甚至完全不愿意改变。直到我们当前的惯例变得实在痛苦不堪而不是因为有巨大的压力,我们才会为一个更好的未来而逃离当前的困境。
要让人们有机会尝试 Scrum 项目,单靠一个“Scrum就是好”的宣传活动是不够的。它需要适当的游说、持续增加的压力以及很大的耐心。
故事
◎ 出场人物:项目经理Ryan (瑞恩) 部门经理Steve(史蒂文) “老司机”奔五开发人员Daniel(丹尼尔) Mehgan(梅根) XP专家Jim & Ward(吉姆和沃德)
Ryan是个有激情的项目经理,在公司IT部门工作。在历史上,他的业绩一直良好。但在他最近的一个项目上,由于需要对架构做重大的修改而导致项目因此而延迟了近六个月。在这个项目结束的时候,Ryan准备寻找一种新的工作方法。就像部门中他的很多同僚一样,对于团队不能如业务需要的那样按时按质完成交付,他感到很沮丧。现在的问题在于,Ryan根本不知道如何才能够做得更好。
Ryan和家人计划去他们在蒙大拿州的小木屋度假两周。Ryan决定这两周最适合用来为他的项目经理工具腰带找一些新的工具。他打包了满满一箱关于项目管理的书籍。就在他要拉上手提箱拉链的时候,他看见了几个月前他的老板Steve给他的一本书,施瓦伯(Ken Schwaber)写的《Scrum敏捷项目管理》。“不妨把它也装进去。”Ryan想了想,然后把它和其他书一起装在箱子里。
Ryan很快把传统项目管理的书翻完了。他主要学到了一些关于沟通管理与风险管理的小技巧。但是对于他上个项目中出现的架构问题及其团队所经历的其他任何问题,他没有发现任何预防措施。他很犹豫地拿起施瓦伯的书,带着一杯饮料,走到外面的露台上开始阅读。
他最初的怀疑很快被兴奋取而代之。他能够想象出他工作中的模式与书中围绕着复杂性与价值驱动工作的模型直接相关。他也认识到在他过去的团队中被他忽视的一些事实,比如实际上团队是由人组成的而不是使用资源的集合组成的。Ryan读得越多,对此就越感兴趣。那天下午当他读完那本书的时候,他有了要学更多的欲望。他马上走进屋内,订购了两本隔日送达的关于敏捷开发的书籍。
Ryan并不是一个工作狂,但是他刚刚完成的阅读触发了他的激情。在他的妻子阅读最新的言情小说、他的孩子在院子里踢足球的时候,他把他的时间都花在精益、敏捷、XP、看板以及Scrum的书上。休完假回到单位的时候,Ryan遇到了部门经理Steve,他的老朋友,也是给他Scrum书的人。
“Steve,我有一个大好的消息!”Ryan大声叫道,“我在蒙大拿的时候,把这些书都读完了。不仅对于我在项目中遇到的问题,而且对于我们部门中所有项目上的问题,我想我都有一个解决方案!”
“Ryan,你从几本书就收获了这么多东西,”Steve微笑着说,“进来给我讲讲。”
在随后的三个小时里,Ryan和Steve谈论了Ryan所读到的所有东西。然后Ryan问出了从蒙大拿回来的路上他一直在思考的问题:“你知道我们将要开始的Michaelson项目?”
“你能让我在这个项目上试用Scrum吗?”Ryan问,“还记得你给部门定的目标吗?在不增加部门总规模的前提下,找到办法提高50%的效率。我觉得这就是帮助我们实现这个目标的方法。而且我觉得就像你希望的那样,今年就可以做到。”
Steve安静地坐了一会,想了想,然后回答说:“Ryan,我认为你说得对。Michaelson项目确实是个很好的试验对象。而且这也会有助于在不增加部门总体规模的前提下提高总体效率。”
“很好!”Ryan高声说,“看来我的直觉是对的!现在我能……”
“等等,”Steve打断了他的话,“现在还不要太兴奋。你还不知道,当我在Megaco工作的时候,我实际上很成功地运作了几个Scrum项目。我也管理过大型的组织与团队,把它们的效率提高50%以上,所以我知道这是可行的。你最大的挑战是如何开始,特别是如何获得人们对Scrum的支持,这个挑战远远超乎你的想象。”
“不,”Steve说,“你可以做这个项目,但需要组建自己的团队。但是在我批准任何事情之前,你需要招募并组建一个愿意按照这种方式工作的团队。我会为你提供你需要的任何支持,为了启动这个项目并获得人们的支持,你可以放手做任何你觉得合适、有道理的事情。我会是你的赞助者,我会告诉其他高级经理我们准备做什么。记住,不是每个人都会像你这样对Scrum有热情,所以要小心行事。”
“我会开始招募我的团队。我有最后一个问题,”Ryan说,“你早就知道Scrum,为什么你没有向部门介绍Scrum或者极限编程?”
Steve停顿了一下:“我在Megaco的时候,就像你一样,热切,外向,逢人就说敏捷好。我自上而下在我的团队推行敏捷,他们的反应是反抗。虽然最终我赢得了他们中大多数人的支持,但过程很艰难,也有人员流失。这段经历使我认识到,它需要一个自下而上的方式。我在年初的时候把目标提出来,就是希望有人采取行动,提出像Scrum或者XP或者两者都有的敏捷解决方案。”
“记住,我是来帮助你的,”Steve说,“作为这个项目的赞助者,我的工作就是帮助解决大问题并且提供指导。有问题尽管来找我。”
Ryan兴奋地离开了,就是稍稍有点担心如何招募自己的团队。他花了好几天来考虑具体做法。
Ryan会见的第一个人是Daniel。他是一个四十五六岁的开发人员,已经在公司服务超过12年。Daniel是一个很好的开发人员,并且做事很讲究方法。最近他开始变得愤世嫉俗,并且开始口头批评团队的工作方式。
“Daniel,我想和你谈谈我将要做的一个项目。就是Michaelson项目,而且……”Ryan开始说。
“你为什么和我说这件事情呢?”Daniel打断了Ryan,“你应该和我的经理谈。他负责分配我的时间,他会告诉我下一次该做什么事情。”
被中途打断,Ryan感到有些不安,但是他仍然继续说道,“我当然可以那样做,Daniel。我想在我和Alan谈之前,我首先和你谈谈,看你是否有一点兴趣。Steve说我最好与人直接谈组织团队,而你……”
“对,”Ryan说,“你看,这个Michaelson项目真的是一个有意思的项目。我的想法是用一个称为Scrum的项目管理框架来运作这个项目。我们还会用测试驱动开发和结对编程等极限编程实践。”Ryan热情洋溢地介绍道。
“结对什么?极限Scrum?我不懂你在说什么。”Daniel直率地说。
“结对编程,知道吗?就是两个人同时工作在同样的代码上。而Scrum是一个项目管理框架,它使我们可以……”Ryan解释说,然后再次被打断。
“Ryan,听我说,我听说你是个很好的人,但是这的确不适合我。我对Scrum毫无兴趣,我也肯定不会去做结对编程或者测试什么的。很抱歉,但我就是不感兴趣。”Daniel说。
“但是Daniel,如果你听我说下去,你就会惊讶于……”Ryan继续开始说。
“Ryan,我不知道要怎样才能说得更清楚。我的回答是不。我不感兴趣!”Daniel大声回答说。
Ryan沮丧地离开了。但是他还有一次机会,他约好在下午一点与Meghan见面。
在一点钟的时候,Ryan走向Meghan的办公室,但是Meghan却没有在那里。她在哪里呢?Ryan很疑惑。他就在她的办公室坐下来等。15分钟后,Meghan终于回来了,而且看上去她很惊讶地看见Ryan坐在那里。
Ryan和她打招呼:“嗨,Meghan。我刚才还在想是不是要放弃你了。我想来和你谈谈我要做的新项目。我们打算用Scrum和……”
“Ryan,我需要和你说清楚。对于你想要谈的,Daniel已经警告过我了。我现在就能告诉你,我不感兴趣。坦率地说,我其实希望你在我迟到的时候,你已经离开了。我不喜欢说不,但是我也没有说是。”
Ryan直奔主题。他充满激情地讲述这个项目在做什么、他在度假时受到的启发以及Steve告诉他可以组建团队来尝试一些新的方法来做这个项目。他很清楚地强调他得到了Steve的全力支持。现在已经快一点半了。
“有些东西还不错,Ryan。我可以想象它对Web项目或者一些小项目可能适用,但是Michaelson项目太大了!它需要大量的架构与设计,我们需要一开始就做这些设计才能计划后面的工作。我不认为你建议的办法适用。而且我与Daniel一样,我也不想做什么结对编程或者测试什么的。”Meghan说道。
“确切地讲,那不是测试,那是测试驱动开发……”Ryan正要开始说,就被Meghan打断了。
“让我这样说吧,我不做这个,永不。这不适合我,也不适合我们部门。而且如果你想保住你的饭碗,它也不适合你。尝试这么极端的东西,我们中没人会成功,”Meghan解释说,“我很抱歉,我得去开我的下一个会议了。”她说完后起身离开了,留下Ryan还坐在她的办公室里面。
Ryan抱着头在那里坐了15分钟,对Meghan与Daniel如此的反对感到困惑,自己究竟什么地方没有做好。
星期五,他又见了两个人,还是没有什么好运气。那天下午,他后来去见了Steve,讨论他目前陷入的困境。
“Ryan,”Steve开始说,“昨天你离开后,我和Meghan与Daniel简短交谈了一下。作为一个朋友,我对你有个建议。你不能太咄咄逼人。
你要让他们慢慢对你做的事情感兴趣。他们需要阅读、理解,然后花时间去做决定。给他们一些你在假期阅读的书或者文章。当人们尝试新东西的时候,我们需要逐步把他们吸引过来,给他们一些时间使他们感到很自然。”Steve说。
“你说得对,说得对,”Ryan说,“看来我完全做错了。我要采纳你的建议,退后一步。逐步的、理性的。明白了。”
在接下来的两周里,Ryan把他喜欢的一些书籍中的章节以及研究文章复印给Daniel与Meghan。他还把关键部分涂上高亮、加上他自己的注释解释为什么他喜欢这些部分并觉得这些部分可以用于他即将组建的团队。
“OK,Ryan,”她开始说,“我开始慢慢明白你的想法了。我愿意帮助你,但是有一个条件。我有小孩,我不能失去我的工作,特别是在现在的经济情况下。我真的走在悬崖边上,我需要确保Steve明白这一点。”Meghan说。
Ryan让她放心,他会让Steve给她打一个电话。那天晚些时候,他又来到Steve的办公室。他向Steve汇报了当前的进展,并补充说Meghan愿意加入团队,但是在她承诺之前,她需要得到Steve的某种保证。
“我会和她谈的,”Steve说,“她算一个了。你准备怎么说服其他的人呢?”
“嗯,我做了些研究,我发现我们公司有两个XP专家,Jim和Ward。我问他们是否愿意到我们部门来讨论一下什么是敏捷。”Ryan有点儿紧张地回答。
Steve喜欢这个想法,Ryan感到很兴奋,于是就讲了他的计划:“在这个讨论中,我希望你第一个讲,再次重申部门的目标,然后谈谈我想要做的事情,好吗?”
在接下来的这一周,Ryan在办公楼周围摆上了海报,布置好会议设施,并给Jim和Ward一些部门背景材料。Meghan也来帮忙,让工程师答应来参加,她还建议Ryan去给他们预定午餐以保证大家都来。“免费的食品是一个很好的激励。”她说。
终于到了开会的那一天。Ryan高兴地看着前来参加的人。部门中超过90%的人都来了,大大超出他的期望。Steve首先解释了他试图实现的目标以及Ryan为了寻找开发软件系统的更好方法而做出的努力。然后轮到Jim和Ward。
房间里的大多数人都知道他们是谁以及他们的成就。Jim和Ward花了几个小时来描述极限编程的原则、价值以及实践。人们专心地听讲,而且提出了大量的问题。甚至在会议正式结束之后,还有将近50个人午餐后还留在那里讨论。最后一个人离开的时候已经是下午三点了。整个过程中,Jim和Ward高兴地回答了每个人的问题,并且温和地保证Scrum和XP只是另外一种软件开发的方式,如果愿意,可以称之为“现代工程实践”。最后离开的人是Daniel。他走向Steve和Ryan。
“嗯,我不得不说,他们非常有说服力。但我还没有完全信服,如果Steven认为非常重要,我愿意去做,但有一个条件,”Daniel说。
“如果事情搞砸了,我不想背黑锅。”Daniel看着Steve的眼睛说。
“首先,不是如果事情搞砸了,Daniel,而是什么时候搞砸。使用Scrum和XP,我的第一个理解就是什么时候会搞砸,我怎么会谴责团队做了正确的事情呢?”Steve说。
“我不明白。你为什么要说我们什么时候会搞砸?”Daniel问。
“我说的是敏捷流程给团队带来的最好的事情之一,就是尽早失败的能力。我知道团队会失败,重要的是他们什么时候会失败。如果团队就像我们其他项目那样等到项目的最后才失败,我们就会重复过去所有的问题。另外一方面,如果团队在最初的三个月内失败,然后从中学习,那么项目就有更高的成功可能性。问问Ryan,他就希望他最近那个项目尽早失败,因为如果更早知道他的架构问题,就可以很快解决那个问题从而避免项目后期的痛苦。失败不是问题,晚到的失败才是问题。”
“关于承担责任的问题,我知道会有一些绊脚石,我会给你们留一些余地来搞清楚如何运用新的工作方式,但是我期望团队中的每个人都能全身心的投入。成功或者失败都是你们的集体所为。”Steve谨慎地说道。
“那么就是要么我们所有人一起担责,要么无人需要担责。而且,你希望我们失败,而且越早越好。哇噢。我想我准备加入,”Daniel说,“如果注定会失败,我只是再需要一些时间来想清楚是怎么回事,这个东西真的把我吓坏了。”
“但是Ryan,你是推动这个事情的人。你说把你吓坏了是什么意思?”Daniel问。
“你开玩笑?我觉得这是我们应该做的事情,但这并不意味着我不害怕。对于它是如何工作的以及它如何能够帮助我们完成Steve设定的目标,我有一个愿景。但我们一旦开始尝试,就像Steve说的那样,我们就要作为团队一起去承担,不管是成功还是失败,我们都集体负责。”Ryan说。
“这太难了,”Ryan说道,“让这些人改变想法真是太折磨人了。我希望我们现在就能运转起来,但是4个星期过去了,团队都还没有建起来。真是失败啊!”Ryan说。
“坚持下去。今天对我们部门而言,开了一个了不起的会议。人们想了解这些东西,我觉得你取得了很大的进展。当然,不管你做什么、说什么或者给什么东西给他们看,如果还是有人不改变想法,也不要吃惊。”Steve说。
接下来的3个月内,Ryan和Meghan与Daniel一起平息人们的惊恐并赢得他们的支持。他们又一个个争取到另外几个人加入他们的团队。他们都很惊讶于中层管理的阻力。中层管理不知道他们的人在跨职能团队里面该如何监督,如何做绩效考核。Steve起了很大的帮助,他向经理们解释他这样做过,这些问题最终都会得到解决。最后,经过4个月,团队准备开始做项目了。
“唷!”在周五晚上喝啤酒的时候,Ryan对Steve说:“我终于搞定了。”
“现在才开始艰苦的部分了,”Steve说,“你得自己去搞清楚,尝试,然后学习。”
- 点赞
- 收藏
- 关注作者
评论(0)