2.2 理论的局限性

在我们不断加深对Scrum的理解,并使用敏捷方法改进日常工作和生活的同时,却发现了Scrum在指导研发工作,特别是复杂的软件研发时存在很大的局限性:Scrum涵盖了软件开发生命周期中的构建阶段,却缺乏对团队的初始创建阶段、项目启动、软件即将发布以及软件维护阶段的指导价值。

我们要否定Scrum吗?不!在否定之前,我们还需开放性地问问自己,Scrum真的没有对构建初期、发布阶段的工作产生任何作用吗?我的答案是,Scrum方法的确没有对这些阶段的研发有任何指导,可是我们聪明的大脑非常愿意修复这个缺陷,对于所有方法论没有制定或涵盖的部分,我们的大脑延伸了Scrum方法,尤其是四句敏捷宣言。这就可以解释为什么大家在“没法可依”的情况下,仍然默契地、毫无顾虑地在软件完整生命周期的各个阶段坚守Scrum原则。

当团队有勇气和智慧批判地继承权威理论的时候,无论对与错,都要赞许他们追寻真理的愿望。我非常愿意和团队的“明白人”探讨并将经验和心得贡献给IBM敏捷领导团队,也正是因为我不怕犯错,勇敢地挑战了Ken Schwaber的Scrum方法,后来我才能加入IBM的敏捷领导团队,成为2010年的IBM Scrum Fellow。在之后的一年半时间里,我又参与了IBM敏捷方法论DAD、分布式敏捷挑战以及ASM的研发。

在详细介绍DAD方法之前,通过一个例子来找找Scrum的局限性何在,以及我们将如何应对。

某房地产开发公司相信,盖好的房子,就必须按照客户需求不断改进,掌控好用料和工序先后,把握好现金流量,不冒进不头脑发热。按照敏捷主义原则,公司的价值追求是务必让客户满意,这样可以少花费因不按照需求工作带来的成本消耗。

然而,设计部门对于市场预期不准,对于购房者的分析不细,这会花费大量的时间,而这个结果本身又随着时间和格局的变化而不同。设计部迫切需要设计出大卖的房子,单凭经验判断和大胆预期自然不是最好的解决方案,于是依照Scrum的构建方法,设计部门打算先设计最可靠的部分,例如先占地,将地基和房屋的支撑结构构建出来,剩下的就走一步看一步吧。

同时,开发商也没有充足的资金来支撑整个项目,银行向房地产行业放贷的口子缩紧,只能拿到以往项目1/4的资金。但是,项目不能再等,必须开始。项目资金需要通过其他方式募集,或者等待房子构建完一部分再从购买者那里筹备。

尽管充满挑战,这家创新型的房地产开发公司依然认为最重要的不在于是否遵循了原计划或者不逾期不超支,而在于对客户需求的理解和执行到位,因为如果出了问题,将会自己担负责任。这就是以Scrum为核心。

房地产公司开始建房了,设计部门、工程部门和验收部门一起工作,结构设计、施工、验收遵循一个个迭代来完成(见图2-4)。第一个月结束的时候,市场需求基本清楚;第二个月中,利用第一部分投资完成了地基的打造,并且在四方的土地上树立了4个结实而高大的立柱,这4个立柱将支撑起最好的房子:至少团队是这么认为的。当第二个月的工作完成时,房地产公司拿到了准售合同,他们提前售出20套房子,来这里看房子的客户对地理位置和房屋效果图,以及工地上如火如荼开展的工作很有信心,开发商很快将这部分钱用于第二期的投入。就在这20位房主签约的时候,设计团队从客户们那里了解到,他们不再喜欢老式的平顶建筑,而是喜欢复古的尖顶房。第三个月结束时,这个设计理念很快被第二期投入的团队开发出来了,房屋验收以后已经初具规模,有坚实的“骨骼”和漂亮的“房顶”。不但之前的20位房主愿意付清剩下部分的尾款,而且吸引来10位新的客户,他们也愿意付1/2房款,并提出了自己对于外墙特色的建议:红色的复古砖墙,但是需要有美丽的花纹,有蔓藤在攀爬一样的效果。终于,最后一个月到了,开发商有了充足的资金完成剩下的工程,和客户之间的沟通让彼此的合作更加顺利,外墙工作完成得非常好也非常迅速,并顺利通过验收,于是有了一个皆大欢喜的结尾。

00104.jpeg

图2-4 使用Scrum建造房子

可是,真的皆大欢喜了吗?不久以后,政府修建的一条高速公路从距离此处100米的位置通过。在高速公路施工期间,房主们纷纷抱怨噪音和光污染,大批住户搬出了住宅。最终,房地产商因为没有提前发现风险并进行规避而损失不小。

事实上,高速公路的修建带来的只是小的损失。当第三个月完成了房顶的构造之后,因为低估了先封顶后建房的技术风险,不得不在第四个月完成外墙修建工作时启用巨型吊车将房顶吊起施工,这个成本是之前没有考虑进去的。突如其来的问题让开发商损失很大。

开发商开始反思,造成损失的原因主要是没有对环境、政治因素进行规划,也没有重视项目中的技术风险。实际项目需要考虑诸多因素,那么如果在开始项目的第一个迭代前,进行初步规划并考虑风险因素,并将其与价值论结合起来,这样的构造方式岂不是更加合理?

其实,IBM敏捷方法DAD的诞生便源自于我们对Scrum和其他核心敏捷方法在复杂环境中的思考和怀疑。这些方法我视为瑰宝,因为让我感动的不仅是方法本身的成功带来的喜悦,更多的是它们见证了一段宝贵的历史。IBM的领导团队心态开放,充分理解和接受新思想,山穷水尽疑无路之时,我们仍不放弃真理,经历了诸多痛苦与挣扎,批判与接受,直到改良落定,柳暗花明又一村。