需求不断、问题不断、插入事件多、进度不可预期……传统的软件开发模式下,交付团队总要被这样那样的问题困扰,导致项目不能按期完成;或者即便完成,也可能因为敢进度而欠下“技术债”,系统结构混乱,使后期维护成本增大。正因为一直面临这些问题,软件交付团队开始不断寻求更好的工作方式。而近年来,“敏捷开发”这种工作模式被越来越多的团队所重视。
“敏捷”作为一种新的工作方式,与传统的工作方式有很大不同。正因如此,在初涉敏捷开发的团队当中,常会遭遇一个“水土不服”的阶段,这个阶段有时还显得相当漫长。
在日前QCon北京2012的敏捷专场上,业界知名敏捷教练乔梁老师与大家分享了一个敏捷团队的蜕变故事。
乔梁介绍说,他所带领的这个团队从3月份项目启动,直到11月份产品的第四次发布,期间经历了“敏捷101”、“产品化”、“服务化”三个阶段。其中,“敏捷101”阶段即为团队建立敏捷工作方式的前期阶段,这一阶段持续了17周。而在这个适应期后,团队的敏捷工作方式已完全步入正轨,项目交付周期也从3个月缩短到3周。
“你必然有这样一个阶段去练习一下”,谈到为何“敏捷101”需要如此长的周期,乔梁说,“通过这样的一个阶段,能够让所有人掌握敏捷团队是如何紧密合作的,以及它的合作流程,它所需要的基础设施是怎样的,比如持续集成,自动化测试,部署及环境管理等等”。
乔梁表示,对于尝试敏捷方法的团队成员来说,技术上的差距不是问题,因为可以通过不断学习来得到提高,而团队成员是否有开放的心态,是否勇于学习,是勇于承担风险,才是至关重要的。并不是每个人刚开始都会接受敏捷开发这种方式,所以作为教练,需要针对实际情况做不同的引导。
“对于市场来说,则是没有最快,只有更快。所以,持续交付是业务驱动的,希望能够通过一系列系统方法使交付不再成为业务发展的瓶颈。而且,任何一个交付过程都是可以持续改善的”,乔梁说。
那么持续交付团队与传统开发团队究竟有何不同?其对成员的水平要求是怎样的?启动一个持续交付项目之前,项目团队需要做哪些准备?又该如何为项目需求拆分和排序估算?带着这些问题,51CTO独家采访了乔梁老师,请他进一步为我们阐述敏捷团队的成功秘密。
以下为采访视频: