量化管理在程序员身上永无可能

简介: 恰如标题,第二定律表示为:在思维可以精确量化前,量化管理在程序员身上永无可能。这次估计会有争议,所以这里给出具体的逻辑链以及对应的分析。逻辑链:软件是一种固化的思维 →思维的本质是概念和逻辑 → 概念和逻辑无法直接度量和精确度量 → 度量过程中需要很多的主观判断 → 以目标为导向的,个人中心的量化管理(相关的激励和惩罚)将崩溃 具体分析:公平公正是管理的基石,为达成这一目的很多人会想到量化管理,但量化管理的基石却往往被忽略。

恰如标题,第二定律表示为:在思维可以精确量化前,量化管理在程序员身上永无可能。


这次估计会有争议,所以这里给出具体的逻辑链以及对应的分析。


逻辑链:

软件是一种固化的思维 →思维的本质是概念和逻辑 → 概念和逻辑无法直接度量和精确度量 → 度量过程中需要很多的主观判断 → 以目标为导向的,个人中心的量化管理(相关的激励和惩罚)将崩溃 


具体分析:


公平公正是管理的基石,为达成这一目的很多人会想到量化管理,但量化管理的基石却往往被忽略。


对人进行量化管理的基石是:量化后的数字主要受个人表现这一个因素的影响,否则将产生巨大的不公正,并对个人工作意愿产生不良影响,是真正的事与愿违。


好比说,不同的工人在同等条件下生产杯子,一个人一小时生产5个,一个人1小时生产6个,那显然后者要好于前者。这时,56可以用来比较的前提是两个人的生产条件相同,比如生产工艺等。在这种情况下,量化后的数字为个人表现的函数,因此量化管理基本上是公正的。


这时可以进一步来考虑下面的情形:两个人同时生产杯子,厂方安排一个人用工艺a,另一个人用工艺b,这个时候前者一小时生产5个,后者1小时生产6个。这个时候单纯比较56事实上是不公平的,因为这1个杯子的差距可能是工艺造成的。


大多时候,软件的情况比后一个情形还要糟糕一些。


在软件开发中,往往既没有办法清楚的界定一个人的输入,也没办法清楚的界定一个人的输出。


软件开发的输入是需求,但同一个需求不需要做多次,所以对需求自身的复杂程度眼下来看还只能依赖判断,而不能精确度量。

软件开发的输出是代码,而代码自身属于固化后的思维。在度量思维时,多少、大小、长短、厚薄这类惯常的度量方向,并不具有多大意义。就好比说,不能讲一个人代码写的越多贡献就越大一样。


诚 然思维的表现形式则是可以度量的,我们可以通过页数来度量一本书的厚薄,通过分钟来度量一部电影的长短,通过代码行来度量软件,但这种度量所反映的内涵是 有限度的,精度也是有限度的。最终结果很可能是人员之间的差距是由误差或其他非主观因素造成的,而不是由个人工作好坏所造成的。


总结来看,在软件开发中,数字含义的模糊性会导致使用数字进行评价包含非常多的不公正,这种不公正会对工作意愿构成致命伤害。所以个人层面的量化管理在软件开发面前,必然崩溃。


补充说明:

  • 为避免矫枉过正,最后需要强调的是:并不是说项目管理中不需要收集数据,只是说在软件这个行业中,各种数据的精度天生是有限的,因此必须用在允许有限精度的工作上(估算、任务安排等),而不能用在对人进行评价、对项目进行评价这样需要高精度数据的工作上。


  • 这条定律的推论可以无限多,影响到管理,流程乃至估算,这里就不列了。
目录
相关文章
|
11天前
|
机器学习/深度学习 人工智能 测试技术
探索软件测试中的“禅”:寻找内在的平和与外在的效率####
在软件测试的世界里,我们常常被缺陷的数量、测试用例的覆盖度以及上线时间的紧迫性所困扰。但如果我们能像禅宗修行者一样,将注意力转向内心的平静与专注,或许能在纷繁复杂的测试工作中找到一种全新的效率和质量提升之道。本文将带您走进软件测试的“禅意世界”,探讨如何在看似枯燥无味的测试过程中,通过调整心态、优化方法,实现个人成长与项目成功的双赢。 ####
|
架构师 开发者 运维
开发人员各级岗位胜任力模型
上个月,我写了一篇《架构设计师能力模型》,为开发者指出一些发展的方向、架构师的能力要求,以及需要学习的相关知识。 本月,我为公司的人力部门编制了更加量化的《2017年研发人员岗位能力模型 V1.4》。
9963 0
|
5月前
|
人工智能 搜索推荐 安全
全面了解性格测试:探索你的内在世界
全面了解性格测试:探索你的内在世界
86 2
|
6月前
|
算法 搜索推荐 数据挖掘
掌握程序员之剑:解析常见算法与其在生活和工作中的影响
掌握程序员之剑:解析常见算法与其在生活和工作中的影响
86 1
|
6月前
|
测试技术 项目管理 数据库
【软件设计师备考 专题 】软件生存期模型:瀑布、螺旋与喷泉
【软件设计师备考 专题 】软件生存期模型:瀑布、螺旋与喷泉
168 0
【观点】工作效率上的错觉
译文出自:外刊IT评论
630 0