世界正面临有史以来最严重的金融危机,多个欧洲国家、美国以及日本都已陷入衰退。世界货币基金组织近期指出,这次衰退将会继续加深,并且它恢复起来要比过去慢。因此,新兴及发展中的经济体,如印度、巴西,将遭受大规模净资本流出。国际货币基金组织在预测时还指出,世界经济在2009年将减缓1.3%。
Forrester与Gartner分别预测指出,在2009年技术投资将下降百分之三或百分之四。尤其是IT服务业的开支将下降。像东芝与诺基亚这样的公司近期宣称损失或利润急剧下降,并准备解雇上千员工。Intel公司也眼看着股票暴跌。即使是互联网巨头Google,看似稳如泰山,也在财报中宣称有史以来第一次季报利润下降,而且削减了上百个工作岗位。
项目遇到的新情况
在这种充满不确定因素和不断变化的环境中,项目的市场参与者与大多数的客户正面临着资源合理化、信贷资金缩减、利润压力增大、以及财政问题。决策的过程变得更加漫长,对项目的需求也明显萎缩。这种新的环境迫使这些组织改变工作的方式以求生存。有必要进行一次真正的模式转变。生存下来的IT企业将具有以下特点:
· 在迅速变化的环境中,工作良好,并且允许不断重新制定计划;
· 致力于最大化客户的投资回报率;
· 致力于减少产品开发时间,或者上市时间;
· 致力于避免浪费精力和时间研发从不会被用到的子产品和特性;
· 致力于持续交付产品价值给客户,即使这个产品需要在完成前被迫中止;
· 致力于提高利益相关者的沟通和反馈,这样他们可以知道需要做什么以及正在做什么。
Scrum正是致力于解决所有这些问题的项目开发框架。在经济危机来临时,Scrum是项目的最佳选择。
为什么是Scrum?
在经济危机的环境下,让我们了解一下项目的市场参与者吧。
1. 一个提供项目服务的组织或团体,为了不失去国内外的客户,它必须提高竞争力;
2. 一个公司领导者需要缩减经营成本以求得公司的生存。他选择使用内部项目以获得更好结果;
3. 一个客户也可以选择外包,但要能缩减成本。
在这个经济动荡的时代,我们将提供重要论据来帮助各方(以及其他市场决策者与那些会影响他们的人)为他们的组织捍卫选择Scrum的权利。
不浪费!
传统的项目开发方法花费了大量的成本和时间开发项目于维护大量文档。然而,一旦完成,这些成果很少得到及时更新,因为变化太快,团队无法及时保持他们的时效性。最后,大部分文档变得无用,最终被废弃。
Schwaber指出,传统项目花费大约50%的时间(与资金)放在需求、架构及规范上,并且这些花销都是在建造任何功能之前完成的。然而,35%的的需求变化需求所描述的65%的功能从未被用到或者很少用到。在经济危机时代,这种对时间和精力的浪费是不可接受的。
Scrum提醒我们,一个项目的目标是产品,而不是文档。在Scrum的管理上,期望的功能可以在称为产品Backlog的优先级列表里看到。在这个动态列表里的每个功能确切的规约与设计,是在它实际运行之前的几周里才被确定的。在整个项目过程中,可以增加、删除功能,或者对功能的优先级重新排列。它们总是按优先顺序排列。在一次迭代周期或者sprint的结束,一个新的功能集合会被交付。一次,无论交付的什么功能,都有更大的机会被用户实际使用。
更多价值第一!
一个典型的瀑布模型项目,在客户看到产品与获得投资回报之前,他可能要等待一年时间。在今天的经济环境下,任何公司都不可能等待那么长时间。
另一方面,Scrum在一个Sprint结束时交付投资回报。产品负责人的主要职责之一是通过不断对产品Backlog更新于重排优先次序以获得最大投资回报。这使得客户的最大价值回报首先得以实现。企业得以保持竞争力,得益于以价值回报为基础把产品Backlog区分不同的优先次序,交付成果比其他对手快,为商业增加价值的功能被更快速的加入产品,或者推出新产品和新版本更加频繁,因此,他们总能跟上不可避免市场的变化。
可能会有变化!
说到不可避免的市场变化,任何时候也没有经济危机时代的市场变化更频繁。法律与规章制度的建立、商业规则的变化、新机遇的出现/重要的参与者退出了市场、从前提供的预算变少了、公司面临巨大损失、兼并与收购的增加,政府开始干预来保持稳定。
传统开发方法不期望变化,变化也是风险与花销巨大,这么大的变化在传统开发方法里几乎无法管理。它对项目团队与客户关系上都增加压力。
Scrum遵循敏捷宣言:应对变化比遵守计划更重要。Scrum坚持认为,变化是开发进程中的自然而然的一部分。它有适当的机制使变化成为惯例,而不是变成压力。产品Backlog的动态性允许用户的新需求及时加入到产品Sprint。这种对变化的快速响应变成的巨大的竞争优势,从而化危机为机遇。
打包还是合伙!
对于一个典型的瀑布模型项目,在整个项目过程中客户参与两次:开始的需求分析和最后的验收测试。客户认为该项目是一个大包裹,上边加盖“不要打开,知道...”,其中的内容只有在进程结束时才被揭晓。他们唯一看到未来产品模样的方式是通过文档,而大部分文档或已过时或已与变化的需求脱节。在今天快节奏,不断变化的市场中,客户在最初的需求最后不太可能满足他的需要。
对于采用Scrum的项目,产品负责人总是保持与客户沟通来识别他的需要,以此来保持产品Backlog的快速更新并重新排出优先级。客户不断得到新版本,并且可以通过产品负责人快速反馈给开发团队。客户感觉到参与进了整个过程,与项目共同分担责任,增加了对项目团队与进程的信任。与客户的关系不再仅仅是商业关系,取而代之的是,变为一种合作的伙伴关系,促进共出计谋,提高了满意度。由此,一个长期的客户关系发展起来了,这常常可以克服经济危机的非常时期。
沟通并不只发生在产品负责人与客户之间。每个项目参与者都在关注团队正在做什么。每日会议使得每个团队成员想其他成员展示,自从上自会议他们做了什么,以及到下次会议他们将做什么。Sprint Backlog与kanban向成员展示所有将要做的,正在做的,以及已经完成的事情。并排工作刺激成员去沟通。进度图向每个人展示了项目进度。经常向产品负责人演示已经完成的功能,并且提供反馈意见的机会。最后,回顾会议上,每个成员反馈什么在Sprint执行良好,什么需要改进。
与利益相关者保持开放式的沟通,是确保每个人知道需要做什么,正在做什么的最好方式,这样可以提高生产效率,这对度过危机至关重要。
项目暂停怎么办?
经济危机背景下,在项目进行过程中预算用光或者投资人退出市场都是很正常的。当这些发生在非敏捷项目上时,那么客户拿什么交付给终端用户呢?
如果项目正巧暂停在最初阶段——需求规范制定之后,客户将得到一系列对他们来说毫无用处的文档。万一发生在实施过程中,客户将得到一系列未完成与未经测试的功能。即使发生在测试阶段,产品也是不可信赖的。事实上,如果项目成熟之前夭折,所做出的投资,客户将得不到任何回报。
使用Scrum管理的项目总能提供产品的增量交付,它在每个Sprint结束时提供交付对象。如果项目在任何阶段暂停,客户可以使用之前Sprint的交付功能,最小化客户风险。在不确定环境里,这变成重要的竞争优势。
如果必须缩编队伍怎么办?
在经济危机期间,可能需要缩减或者迁移团队成员。在瀑布模型里,项目的角色定义的非常清晰。比如,一个IT项目里,程序员去编程,测试人员进行测试等等。因此,如果设计人员离开项目,新的界面窗口将无人设计;如果测试人员离开项目,测试将无从进行。最坏的情况是,如果项目经理离开,项目将无人管理。由此可见,整个项目的成功被一个成员的去留所左右。
Scrum管理中,交付责任属于整个团队,无关个人角色。虽然每个人有其天然特长,Scrum鼓励每个人发展和利用第二能力,通常,这可以弥补团队人员缺失。通过这种方式,即使能力欠佳,团队也能保持交付。
很重要的一点需要指出,解雇团队成员绝不是缩减开支的唯一选择。缩编团队也会减小交付能力。结果会导致客户不高兴而去寻找提供更多服务的供应商。这会使团队变得更糟,形成双向损失的恶性循环。
结束
Scrum是经济危机条件下项目的最佳选择。通过致力于最大化投资回报、避免浪费、对重要信息的沟通与可见性上促进项目良性发展、营造一个跨职能的团队,Scrum在适应持续变化的环境,以及频繁交付用户更多价值方面优于其他方法。
一旦危机过去,采用Scrum的组织将更贴近用户,关注结果,更加缜密、客观与透明。对这些组织来说,这场危机就像推动的春天一样,当经济复苏时,这些组织将引领风骚。
本文的原作者是Rafael Sabbagh Armony 与 Marcos Garrido ,查看原文。