关键词:敏捷开发瀑布开发极限编程
1007-9416(2012)09-0167-01
1、敏捷价值观
敏捷开发是从上世纪90年始逐渐引起广泛关注的一些新型软件开发方法,旨在应对当今市场快速变化的软件需求。概括来说,敏捷开发是一组具有相同价值观的方法论。
敏捷价值观包括如下:
源于:论文格式模板www.shuoshilunwen.com
沟通:在团队软件开发中最要紧的就是沟通,每当开发中出现问题的时候,通常可能已经有人知道了解决办法,通过沟通就可以轻而易举地解决问题;另外,沟通对于创造团队意识和高效合作起着至关重要的作用,尽管沟通不能给予你软件开发的全部;简单:软件设计从简单开始,设计一个解决今天问题而又足够简单的系统就够了,如此一来,既可以满足市场需求,又能减少沟通,提高软件开效率;
反馈:敏捷开发致力于以最少的时间获得反馈,包括沟通的反馈,设计的反馈,软件运行结果的反馈,尽量地将反馈周期缩短;
勇气:勇气是面对恐惧的有效行动,表达愉快与不愉快真相的勇气有助于沟通和信任的建立;
尊重:如果团队成员不关心彼此,也不理会别人所做的事情,整个项目就会失败,尊重每个人,才会提高软件开发的人性及生产率;
敏捷开发通常采用Scrum作为其管理实践,采用XP编程作为其技术实践。
2、敏捷转型的困难
愿意改变是一种优势,但是这也意味着某段时间会使公司的某个部分限入混乱,敏捷转型也可能会带来团队及组织的各个部分的不适应,通常也会遇到很大的阻力。
首先是团队成员在思想意识上,价值观的改变上,以往瀑布式开发的思想在这里没有了踪影,取而代之的是Scrum实施形式及XP实践的形式,敏捷开发更多要求团队成员以一种反常规思维形式进行思考。
其次,组织当中,尤其是一些管理人员当中,基于瀑布开发的多年的经验,思想比较保守,因而惧怕变革,更惧怕变革的失败;Scrum带来的工作方式、组织沟通形式的变化以及Scrum期望的变革类型都与保守主义者的本性有冲突。
3、敏捷实施模式
3.1 从小范围试点开始
鉴于上述困难,按照惯例,业界通常的做法是以一个合适的试点项目作为开始,从中吸取经验和教训,然后在企业范围内推广。从小范围试点开始有如下优点:3.
1.1 试点成本较低
由于是小范围内试点,参与学习新工作模式的人员会比较少,对企业的影响也会较小。3.
1.2 可以确保早期成功
通过精心挑选试点团队的成员,选择易于试点的项目,可以最大程度地确保试点的成功。3.
1.3 规避了全面转型的风险
如果实行全面转型,在试点初期,小的错误会在整个转型过程中被放大,如果全面转型失败,企业很难再有第二次的转型尝试。3.
1.4 小团队试点压力更小
如果实行全面转型,企业日常工作的很多方面都会受到影响,员工受到的压力也会突然增加。3.
1.5 可以在不发生企业变革的情况下进行
如果实行全面转型,多数企业都会在某种程度上进行改组,会给企业带来的更多的压力;如果是小团队试点,则重组的时机可以放在后面进行,直到试点团队获得足够的经验为止。3.2 敏捷推广
虽然小范围试点开始的方式可以最大程度地确保早期的成功,但是将Scrum扩大到整个企业确是另外一回事;将Scrum推广到整个企业,常见方式如下。可以采取先拆分后播种的方式进行,即将已经成功的团队拆分成两个新的团队,再在新团队中补入新的成员;这样做的好处在于能迅速扩大团队的数量,每个团队都有原来团队的成员进行指导。缺点在于团队成员被连续拆分,连贯性不强。
也可以采取先成长后拆分的方式进行,即先在原来Scrum团队的基础上增加新成员,直到足以拆分为两个团队;这样做的好处在于不必破坏现有的团队,团队成员工作会比较连贯。
第三种方式,可以在团队内部挑选出比较适合的人来做整个推广过程中的内部教练,由这些内部教练定期对每个团队实施指导,按约定的时间参与各个团队迭代工作。优点在于不用拆分团队,减少团队对外部教练的依赖。
几种方式各有优缺点,企业可以根据转型速度的需要和领导风格选择合适自己的推广模式。
参考文献
Kent Beck,Cynthia Andres.解析极限编程—拥抱变化(第2版)[M].机械工业出版社,2011年9月.
Mike Cohn.Scrum敏捷软件开发[M].清华大学出版社,2010年11月.
[3]Robert C.Martin.敏捷软件开发原则、模式与实践[M].清华大学出版社,2003年9月.