Adode Premiere Pro是业界领先的图形设计、视频编辑、网页开发应用程序的套件,这个套件的目标是视频制作市场,BBC的《The Tonight Show》节目就是使用这套产品制作的。Adobe的部门副总裁史蒂夫•华纳(Steve Warner)负责Premiere Pro的管理工作,而彼得•格林(Peter Green)曾经是Creative Suite的项目经理。不断涌现的标准和对新功能的需求迫使他们不得不加速发布新版本软件。
Premier Pro CS3(Creative Suite,版本3.0)在2007年6月发布。开发这个版本所使用的是传统的开发流程,团队在奋战了18个月后,该版本作为当时的重磅产品发布。当发布日期日益临近的时候,开发人员开始将各个组件的CS3版本集成到一起。但是他们却发现这当中有很多问题(缺陷或者臭虫)。而这个时候他们已经没有足够的时间修复所有问题了,于是他们尽力在限期之内将所有组件做到最好,然后发布。而下面则是一些客户对CS3的评价:
“但是,如果你想要一个易用、友好的视频处理程序,那么你应该不会选择这款软件。我期望的一些功能,它却没有,或者说我没办法找到应该怎么用这款软件实现我想要的效果。”
“众所周知这款软件是差劲编码器,会产生大量的内存泄漏。如果你想要将大型的视频文件转换成mpeg2格式, premiere会由于内存管理问题而导致经常性崩溃。而解决的唯一办法,就是重启你的系统,然后祈祷这样的事情不要再发生。”
在下一个版本,也就是Premier Pro CS4中,团队的目标是修复CS3中的问题。CS4的目标在于改进产品的易用性、稳定性和速度,还有解决内存泄漏问题。彼得•格林听说短周期的开发方法能够让Adobe在每个Sprint开发出完整的增量,于是他决定一试。这些增量加到一起,就组成了客户喜欢的可用功能。彼得还想知道每个Sprint的实际情况,于是他让其中几个参与CS4开发的团队实施Scrum流程,这样他就可以看到Scrum是否可行。
在CS4这个版本的发布上,Adobe一共有18个Scrum团队,总共超过100位开发人员参与。每个人都认为在每个Sprint都要将18个团队开发的增量集成在一起的话,工作量实在是太大了。于是他们决定等到项目快要结束的时候再进行集成。就在CS4发布日期之前,团队尝试将他们的独立模块集成到整个软件里面。但是这个时候,他们才发现各种问题和未解决的依赖关系,这些问题阻碍了集成的进行,也造成了各种缺陷,CS4的各个组件之间无法协同工作。于是开发人员以超人般的速度尽其所能解决了很多问题,但是发布的日期还是比原计划推迟了,而且还带着重大的缺陷。在Adobe中,由于压力过大和过度操劳导致入院的开发人员的名字都成为了传奇。
CS4在2008年9月发布,然而业界和客户都对这个版本作出了很差的评价。Adobe采用Scrum提升了生产效率,但可惜的是他们提升的不是整个产品的而是团队的生产效率。各个团队开发的组件没有集成在一起,也就是不具有透明性。集成时潜在的问题被短期掩盖了,因此短期的生产效率看似提高了。然而这却是以产品质量、业界认可度、新特性的发布时机、客户的满意度以及员工的士气和健康都恶化为代价的。因此,他们需要改变。
史蒂夫和彼得决定在CS5的开发中,尽可能广泛地使用Scrum作为开发流程。他们对所有开发人员和项目经理进行了培训。彼得的新任务是培训和指导团队,令他们可以在每个Sprint都开发出质量过关的软件。在每个Sprint,他们都会将所有团队开发的所有增量进行集成和测试。这样,他们就能够在每个Sprint都拥有一个可发布的CS5版本。出乎所有人的意料,开发人员居然提前完成了这个版本。那些由于没有集成而潜伏的问题再也没有拖慢他们的步伐。在剩余的时间里,他们还将从CS4遗留下来的部分问题修复了。CS5在2010年4月发布,这一次他们获得了业界和客户的一致好评。
彼得被要求制定一份用于管理Adobe内部Scrum开发的指标列表。他列举了3个指标,第一个就是在CS5开发期间员工对Scrum的满意度,以及员工对Scrum能够改进他们开发软件的方法的信任度。Adobe对来自25个团队的200名开发人员派发了这份有50个问题的调查问卷 。这些调查的结果会按照团队和问题来分类进行分析,从而找出需要改进的领域。令人印象深刻的是,80%的开发人员认为即使在没用管理层的指引他们也会继续使用Scrum。结果显示产品的缺陷率大大降低,几乎没有任何潜伏的缺陷,客户的满意度也大大提高。
Adobe因为遇到越来越严重的问题而尝试使用Scrum。在决心、训练和一致努力的推动下解决了许多问题,版本发布也变得更及时,软件的质量也更高了。