业务领导人(或发起人)
从业务领导人的角度,迭代式开发的价值在于它对被考虑过的项目增量资源委托的支持能力,同时能够对项目资金投入以及项目风险和成功机会进行平衡。投入项目的资金可以被限制于本次迭代。如果本次迭代所展现出来的进展以及风险缩减并不充分,项目可以被取消或是重新定义,而对组织来说损失并不是很大。一次迭代的资金可以被看作是在进一步投资一完成项目之前,对项目额外信息的购买。项目管理者联盟
Barry Boehm使用stud poker 的类比2 对一个迭代式增量开发项目从发起人视角进行阐述。在一个stud poker游戏中,你可以向壶中投入一对筹码并得到两张牌,一个被隐藏的一个暴露出的。你也可以看到另一个游戏者暴露出来的牌。如果你的牌不能保证可以获得胜利的输出,你可以退出游戏而不会损失太多。如果你的两张牌都是 Ace ,那么你会因为拥有一个可以获得胜利的输出而赢得很多。在任何情况下,你都可以在每一轮决定是否要更多的牌以购买更多的关于你获胜前景的信息,或是基于你已经知道的而放弃。项目管理者联盟
类似的,每一次迭代中关于成功的项目输出资源被投注并且关于项目获胜机会有更多的可用信息。如果项目成功的迭代并且产生出客观可测的、可证明的增量,那么发起人对于项目的信息也将随之增长,而投资将继续。如果,在初始迭代中,项目看起来像是失败的,并且面对着不可克服的风险等级,那么发起人可以退出而不会带来很大的损失。talent.mypm.net
通过这种使用迭代的方法来管理项目风险的概念是成功使用迭代式增量开发技术的基础。项目管理者联盟
结论
迭代式增量开发为业务提供了超越传统的瀑布式开发方案所提供的更多的优点。这包括增强的可预测性,减小了上市时间,更高的质量,增强了项目灵活性以及生产效率。这将从根本上改变项目业务工作,从需求捕获方法直至进展评估产生影响,更重要的可能是项目本身被投资的方法。项目管理者联盟
用户反馈请求 ―― 及早! 这里存在一个保险公司,指定一个想象中的新IT主管。这个新IT主管第一个行动是颁布: 所有公司所开发的新应用都将作为Windows应用程序而设计并开发 基于PC的Windows桌面被展开至所有公司IT用户 所有软件都将采用面向对象技术进行开发 在这个新体制下第一个被开发的重要应用软件是取代公司呼叫中心的旧有风格的“green screen”系统。开发进行的很顺利,并且对系统测试所用的应用程序按时在预算之内完成可用。想象中的IT主管对应用印象很深,特别是当新的用户接口被展示出来时。采用“指指点点”的窗口使用用户界面,一个复杂的帮助界面。并且3维肖像 ―― 是如此精致以至IT主管留下很深的印象。“太好了!通过这个指指点点的界面以及广泛的虚拟帮助,我甚至可以回答用户电话呼叫。”当团队庆祝项目的成功以及这个新IT策略时,香槟被砰的打开。 实际上,这个想象中的IT主管并不是工作于应答电话呼叫中的一员。这是不同组人的工作,他们工作于非常困难的情况下 ―― 在他们的桌面上没有鼠标或是鼠标垫的空间。他们需要的最后一件事情是一个能够接受许多鼠标点击以达到通过一个单一的热键可用的图形用户接口。并且,除了这个事实,没有人能够在不通过广泛训练开始接听电话的工作。这样,这个新系统建立了一个完整的在用户期望和工作场所物质及文化情况间的不匹配。 用户期望一个能够让他们的生活变得更容易的新系统,但是他们得到了一个仅仅能够让他们的生活变得更困难的东西。如此多的努力被投入到这个新用户接口工程中却没有开发出任何新功能。这个系统没有通过用户接受以及初始用户的测试而进行开发。 这个失败的故事告诉我们的道理是:如果早期版本能够与用户团体成员共享,或是如果开发团队能够着重于发布业务价值而不是被使用流行的新技术所诱惑的话,所有这些都可以很容易的避免。项目管理者联盟
备注 1 C. Northcote Parkinson, 帕金森定律 (1958) 2 "螺旋式开发: 经验,规则" , Barry Boehm, 特别报道 CMU/SEI-2000-SR-008, July 2000 项目管理者联盟
参考资料 您可以参阅本文在 developerWorks 全球站点上的 英文原文。
作者简介 Lan Spence为Ivar Jacobson Consulting UK的首席科学家。他的主要职责是为建立并运行软件改造以提高他们软件开发能力的客户提供帮助。最后,他专门研究IBM Rational Unified Process的大规模应用,用例驱动,以及所推荐的架构中心解决方案。Lan有着超过18年的软件工业经验,涵盖完整的开发周期,包括需求捕获,架构,分析,设计,实现,以及项目管理。 项目管理者联盟
Kurt Bittner为IBM软件组,Rational软件部门的产品策略进行工作。他已经为找出能够帮助团队软件开发的更好的方法工作了20多年。他是original RUP开发团队的成员,并且在不同的工业界中领导开发关对。当不需要进行软件开发工作时,他喜欢通过攀爬冰瀑的方法进行放松。项目管理者联盟
Ian和Kurt合作编写了Use Case Modeling (Kurt Bittner, Ian Spence -- Addison-Wesley 2003) 并且他们正在合作进行下一本书籍的编写,本系列文章便是摘自这本书。service.mypm.net bbs.mypm.net
|