敏捷开发中提高软件生产率的方法

作者:陈勇

出处: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. ……

掌握好这些事情之后,会发现人的积极性不但因受激励而提高了,产品的生命力也似乎提高了,很少走弯路。而最终表现结果就是生产率提高了。

 

点击下载免费的敏捷开发教材:《火星人敏捷开发手册

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
敏捷开发方法是一种软件开发方法论,旨在通过迭代、协作和快速响应变化来提高开发效率和产品质量。它强调团队合作、自组织和持续交付,以满足客户需求的变化。 敏捷开发方法的核心原则包括: 1. 个体和互动胜过流程和工具:强调团队成员之间的沟通和合作,以及快速反馈和问题解决能力。 2. 可工作的软件胜过详尽的文档:注重实际可运行的软件,而不是过多的文档编写。 3. 客户合作胜过合同谈判:与客户密切合作,理解和满足其需求,以及及时响应变化。 4. 响应变化胜过遵循计划:灵活适应需求变化,通过迭代开发和持续反馈来不断改进产品敏捷开发方法通常采用以下实践: 1. 迭代开发:将开发过程分为多个短期迭代,每个迭代都会产生可工作的软件增量。 2. 用户故事:以用户需求为心,将需求分解为小而可执行的用户故事,以便更好地理解和满足客户需求。 3. 燃尽图:通过可视化展示项目进度和剩余工作量,帮助团队和客户了解项目的状态和进展。 4. 持续集成:频繁地将代码集成到主干分支,并进行自动化测试,以确保软件质量和稳定性。 5. 团队协作:强调团队成员之间的合作和沟通,通过日常站会、迭代回顾等方式促进信息共享和问题解决。 6. 反馈机制:及时收集用户和客户的反馈,以便快速调整和改进产品

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值