敏捷开发中提高软件生产率的方法
2011-03-07 09:59
141 查看
作者:陈勇
出处:blog.csdn.net/cheny_com
很多人都知道甚至感觉到敏捷开发的生产率比传统开发高,但到底敏捷开发是怎样提升生产率的呢?以及当前自己正在实施的敏捷开发还有多大的生产率潜力?
当然“受激励的个体”会产生生产率,但只是这样解释恐怕难以服众,更难说服老板。让我们换一个角度吧。
下面几个问题揭示了一些隐性的生产率潜力:
10万/100万/1000万代码行的项目有20%/48%/65%被取消(Jones, 1998)
成功交付的产品中,约2/3延期交付(The Standish Group, 1992~2004)
所有软件平均60%左右的功能从未或很少被使用(个人是PPT和Excel高手,但是发现: PowerPoint: 53/116用过,Excel: 51/132用过)
约?%的文档内容在后来的维护、升级中从来没有被阅读过
约?%的代码在后来被抛弃或重新编写
所以,若你能做到下面的工作,则能为企业提供难以想象的生产力提升:
1. 100%:若能避免100万行代码的项目不被取消,则生产率接近提升100%(因为原来有接近50%的可能性被取消)
2. 50%:若能避免无用功能减少一半,则生产率大约可以提升50%(若能彻底消除则接近100%)
3. 50%~1000%:若能避免代码被大量乃至完全重写,则生产率大约可以提升50%~500%(个人曾遇到13人编写9年的软件被1人编写1.5年重建)
4. 约10%:若只写有用的文档,则生产率可以提升10%以上
因此只是在站着开会、共同估算、每月反思、按优先级排序等等层面来推广敏捷是不行的,应该时刻注意上述效果是否达到。比如:
1. 我的项目整体的工期/成本策略是什么?我应该在哪些节点交付哪些功能来证明什么?
2. 哪些功能是客户最常使用的?(不要过度相信“现场客户”那个人,更应该多接触那个群体)
3. 竞争对手都做过些什么?哪些功能其客户评价高?哪些功能其实华而不实(而我们却以为是对方强项)?
4. 这个项目或产品的生命有多久?需要我们注意可维护行吗?要写点文档说明哪些无法从代码中看到的东西?(“给政府做个网站”和“新型4G通讯基站软件”的生命周期可相差10倍)
5. ……
掌握好这些事情之后,会发现人的积极性不但因受激励而提高了,产品的生命力也似乎提高了,很少走弯路。而最终表现结果就是生产率提高了。
点击下载免费的敏捷开发教材:《火星人敏捷开发手册》
出处:blog.csdn.net/cheny_com
很多人都知道甚至感觉到敏捷开发的生产率比传统开发高,但到底敏捷开发是怎样提升生产率的呢?以及当前自己正在实施的敏捷开发还有多大的生产率潜力?
当然“受激励的个体”会产生生产率,但只是这样解释恐怕难以服众,更难说服老板。让我们换一个角度吧。
下面几个问题揭示了一些隐性的生产率潜力:
10万/100万/1000万代码行的项目有20%/48%/65%被取消(Jones, 1998)
成功交付的产品中,约2/3延期交付(The Standish Group, 1992~2004)
所有软件平均60%左右的功能从未或很少被使用(个人是PPT和Excel高手,但是发现: PowerPoint: 53/116用过,Excel: 51/132用过)
约?%的文档内容在后来的维护、升级中从来没有被阅读过
约?%的代码在后来被抛弃或重新编写
所以,若你能做到下面的工作,则能为企业提供难以想象的生产力提升:
1. 100%:若能避免100万行代码的项目不被取消,则生产率接近提升100%(因为原来有接近50%的可能性被取消)
2. 50%:若能避免无用功能减少一半,则生产率大约可以提升50%(若能彻底消除则接近100%)
3. 50%~1000%:若能避免代码被大量乃至完全重写,则生产率大约可以提升50%~500%(个人曾遇到13人编写9年的软件被1人编写1.5年重建)
4. 约10%:若只写有用的文档,则生产率可以提升10%以上
因此只是在站着开会、共同估算、每月反思、按优先级排序等等层面来推广敏捷是不行的,应该时刻注意上述效果是否达到。比如:
1. 我的项目整体的工期/成本策略是什么?我应该在哪些节点交付哪些功能来证明什么?
2. 哪些功能是客户最常使用的?(不要过度相信“现场客户”那个人,更应该多接触那个群体)
3. 竞争对手都做过些什么?哪些功能其客户评价高?哪些功能其实华而不实(而我们却以为是对方强项)?
4. 这个项目或产品的生命有多久?需要我们注意可维护行吗?要写点文档说明哪些无法从代码中看到的东西?(“给政府做个网站”和“新型4G通讯基站软件”的生命周期可相差10倍)
5. ……
掌握好这些事情之后,会发现人的积极性不但因受激励而提高了,产品的生命力也似乎提高了,很少走弯路。而最终表现结果就是生产率提高了。
点击下载免费的敏捷开发教材:《火星人敏捷开发手册》
相关文章推荐
- 敏捷开发中提高软件生产率的方法
- 敏捷开发中提高软件生产率的方法
- 敏捷开发中提高软件生产率的方法
- 敏捷开发中提高软件生产率的方法
- 敏捷开发中提高软件生产率的方法
- 敏捷开发中提高软件生产率的方法
- 敏捷开发中提高软件生产率的方法
- 应该用精益软件开发方法而不是敏捷软件开发吗?
- 简介七种主流敏捷软件开发方法
- 用敏捷软件方法开发界面(zz)
- 敏捷开发学习总结(1):传统序列式软件开发方法的缺点,以及迭代开发方法的选择
- 如何开发高质量的软件 - 通过测试集中型的软件开发方法来提高软件质量
- 网友关于单元测试的感悟(来自javaeye)--对敏捷软件开发方法的一些体会
- 敏捷软件开发工具——精益开发方法
- 如何开发高质量的软件 - 通过测试集中型的软件开发方法来提高软件质量
- 【读书笔记】软件工程·实践者的研究方法第7版 第一部分 软件过程(第3章 敏捷开发)
- 《敏捷软件开发-原则、方法与实践》-Robert C. Martin
- 对软件开发有利的5个敏捷编程方法
- 章节 1.1 软件开发方法 – 灵活,可靠的软件 使用设计模式和敏捷开发
- 《敏捷软件开发-原则、方法与实践》-Robert C. Martin