分享

程序员工作效率悖论

 定义幸福 2016-08-24

(点击上方公众号,可快速关注)


译文:伯乐在线 / 都叫我老莫 

英文:Dalip Mahal

链接:http://blog./69906/

点击 → 了解如何加入专栏作者


程序员看起来是非常高效的人。你经常看到他们在桌子上码字。他们迫不及待的开完会议,快点回到他们的桌子上继续编程。当被问起来为什么这样,他们会说他们没有足够的时间完成编码,越早开始,就能越快完成。



因此写代码一定是最重要的事情,是这样吗?


如果普通程序员每天写 50 行产品代码。一个 50000 行的程序需要 1000 人天来完成。这 50000 行的代码清单可以由一个程序员一天写 1000 行左右或大概 50 人天完成。


那么开发者剩余的 950 天到底做了什么?


在回答这个疑问之前,让我们做一个简单的观察。Capers Jones 比较了很多方法论(RUP、XP、Agile、Waterfall 等)和许多项目上的编程语言,断定了程序员每个月的代码行数在 325 和 750 之间,少于上面提到的 1000 代码行每月的数量。即使程序员平均每天没有达到 50 行代码,下列的也是很清楚的。


  • 方法论不能解释明显的生产力差距

  • 任何语言都不占明显的生产力差距的比重


实际上只有很小部分开发者的时间是真正花在写有效代码上的。如果一个开发者一直在写代码,那么他们在努力尝试不同的代码组合,直到他们最终发现有效的代码组合。



或者更加准确的说,在 QA 或业务分析人员返回来跟他们说出现问题之前,这个组合看起来是符合需求的。这就是为什么那些在敲键盘前规划代码的开发者常常比其他开发者做得更好。不仅只有一小部分开发者在编码前真的对代码做计划,拥有多年经验的人也不教开发者学着做计划。实际上,超过 40 年的研究表明,开发者效率不会随着经验年限而改变。(请看 无经验要求)


经验年限不会推动高效率


有趣的是,很多方法论围绕着强调规划代码这个话题已经有很长一段时间了。Watts Humphrey 就是创建于个人软件过程(PSP)。 已经可以测量出使用 PSP:


PSP 可以提高 21.2% 的生产效率和 31.2% 的质量。


如果你感兴趣,还有很多其他不太经常使用的提高代码质量的证明方法。(请看 弱者无计划)


如果你的开发者没有在白板上计划就在写代码,那么你的生产力效率不会有本应有的那么高。



参考目录


1. 人月神话更悲观地指出程序员每天写出 10 行产品代码

2.Jones,Capers 和 Bonsignour,Olivier. 软件质量经济 Addison Wesley.2011

3.Watts,Humphrey. 个人关键过程简介,Addison Wesley Longman.1997


毫无疑问,我是他们中的最大” 输家”。我相信我已经至少犯过书中提到的每一个错误。


引用:来自 JCG 的伙伴 Dalip Mahal 在 Accelerated Development 博客上的程序员效率悖论


【今日微信公号推荐↓】

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多