剖析短迭代
敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?
作者 Vikas Hazrati译者 郑柯 发布于 2008年6月22日 下午8时19分
投资回报率(ROI)的定义是:在一项投资活动中获得的金钱损益,与投入相关项目的总资金之比。软件开发技术的选择,对ROI的预期会起到非常重要的决定性作用。
Roger N. Dunn在IBM developerWorks网站上发表了文章,通过一些工具对敏捷进行了分析,他的分析角度包括:
- 敏捷技术提供优越的投资回报率(ROI)的潜力
- 敏捷技术压低总持有成本(TCO)的能力
- 信任在敏捷商业案例中起到的重要作用
Roger认为,将注意力放在敏捷所能带来的优秀的ROI上,可以将决策过程带入新的阶段。相关讨论的内容将会从主观感受(“采用敏捷方法感觉更好”)变成客观的评论(“敏捷方法能将ROI提高x%”)。
Roger依据成本和收益这两个变量来评估ROI。研究对比了敏捷项目和计划驱动这两种不同的途径,并对成本降低和收益提高的结果进行了评估。测试结果如下:
第一组:成本降低,收益不变;在同样的收益情况下重点放在降低成本上,敏捷方法超出计划驱动方法141%。
第二组:成本不变,收益增加;在同样成本的情况下,敏捷方法通过对客户的关注获取更高的回报,超过计划驱动方法63%。
第三组:成本降低,收益增加:成本和收益两个量一起变化,项目会向精益化的趋势演变,此时敏捷方法超过传统的计划驱动方法205%。
Roger研究了TCO和信任的重要性,结果显示敏捷方法优于传统的方法。
敏捷方法能够提高ROI,这已毋庸置疑;那么有助于获得最高ROI的、最重要的敏捷实践是什么?
Mishkin Berteig在Agile Device上的一篇帖子中提到了XP和Scrum中的三个实践,而且,采纳这三个实践的团队不必完全遵循XP和Scrum。他认为采用这三个实践付出的成本并不高,但是却可以获得可观的ROI。这三个实践是:
合适的团队房间
这会令人感到惊讶:仅仅通过这一项实践,团队的生产力就能够提升60%!重新布置办公室消耗的成本,与因此获取的收益相比微不足道。如果要这么做的话,一定要保证做对!
就如何拥有适当的团队房间,Mishkin在Agile Advice上给出了一些提示。
短迭代
软件项目的迭代通常持续两个星期,有的甚至长达一个月。我强烈建议将周期缩短到一个星期,它带来的好处同样令人难以置信:相对于较长的迭代周期或是没有迭代的情况,团队的开发周期(设计、讨论、规范、实施)会大大加快……并因此更快获得高生产率。
Mishkin承认,短迭代会带来一定压力,但是考虑到每一次迭代都将产生有价值、可以运行的软件,这个压力就会激发士气,而不是让士气低落。
测试驱动开发
Mishkin认为:快速、优质的开发会带来可观的收益。而TDD能让开发的质量提高。他补充道:
我曾目睹这样的情况:与采用测试驱动开发之前相比,团队将缺陷率降低到5%(甚至更低!)……同时以比当初预期更快的速度交付项目。
Mishkin认为:如果团队采纳以上三条实践,工作效率至少提升一倍。他说:
如果一个5人组成的团队需要完成100天规模的项目,采用这些实践能将项目时间缩短到50天(节省20万美元),或者在100天里完成双倍的工作。
正如研究中提到的:与传统方法相比,很容易看出敏捷技术能带来更高的ROI。要获得最高的ROI,团队不一定要完全照搬XP和Scrum,不妨从选取一组实践开始,你就能看到效果。
查看英文原文:Agile Practices with the Highest Return on Investment
本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。
在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。
InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!
在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。
通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。
本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。
InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。
没有回复
回复