2001年9月11日,随着世贸双塔轰然倒塌的巨响,美国联邦调查局遭受了前所未有的指责和质疑。美国人民很想知道,这个地球上最强大的情报机构为什么事先一点预警也没有?联调局的分析员们带着愧疚的心情重新分析整理过往的资料,发现恐怖分子的行踪其实都有迹可循,倒霉的事情在于联调局的工作方式还是30年前式的。他们将情报打印在纸上然后从楼上传到楼下由某个负责人签字之后再传回楼上,最后分发给相关部门。显然,恐怖分子不会给联调局这个时间去发现他们的阴谋。
痛定思痛,联调局决定投入巨资建设一套信息化的分析处理系统,力争在最短时间内发现风险并发出预警。考虑到这套系统的保密性要求,他们将其交给了传统军工巨头洛克希德·马丁公司。这项工程被命名为“哨兵”计划,预算4.5亿美元。经过了五年的开发之后,钱花得差不多了,但进度只有一半。更可怕的是洛·马公司宣称完成开发工作还需要6至8年,并且再投入3.5亿美元。其实大家心里都清楚,这已经是一个烂尾工程了。
杰夫·约翰逊是联调局“哨兵”项目的技术负责人,他很清楚项目失败的原因,就在于洛·马公司使用的仍然是传统瀑布式开发方式。这种方式对于需求的变化几乎没有招架之力,只能是将前期工作推倒重来,所以造成困局。约翰逊为此向联调局提出可以采用一种敏捷方法论,只需要用项目里还剩下的2000万美元,保留五分之一的开发人员,在12个月内就能完成这个项目。
负责经费预算的检察长一度认为约翰逊因为焦虑过度而病急乱投医。但面对现实同样束手无策的检察长只好死马当活马医,让约翰逊按照他自己的想法姑且一试。约翰逊使用敏捷方法论中的Scrum开发管理方式,首先确定最重要的需求,然后立即开发实现功能原型。有了最小可用的功能,就让联调局的工作人员使用并提出意见。之后调整功能,扩展需求进入下一轮迭代中。这样的一个过程在Scrum称之为冲刺,在不断的冲刺之下这套系统逐渐完善起来。
终于在两年之后“哨兵”系统正式运行起来,尽管这比约翰逊承诺的时间要长,但还是让联调局大大松了一口气。这个神奇的Scrum是什么?它来自于橄榄球运动的一个术语,即团队能力合作,在场地内传球。引申在软件开发管理上则是强调团队合作的重要性,以及成员的应变能力与激情。
接下来将会详细阐述Scrum的理念与工作流程。