快捷搜索:  汽车  科技

圆的度量的历史地位(度量的起源)

圆的度量的历史地位(度量的起源)通过度量可以得到一些数据,我们称之为原始数据——是“对象”的“客观属性”数字化描述,这些数据有的是由人员采集、上报的;有的是自动收集。 还是回到度量的主题上。 我忽然联想:我曾经去工作过、咨询过那么多的软件团队,里面那些忙忙碌碌的软件工程师(码农),是不是都是像蚂蚁一样? 而那些所谓的软件园,那些或高档或寒酸的写字楼,那些或标榜互联网(设计新颖、零食充足)或坚持传统的办公场所;是不是就是一堆一堆的“蚁丘”(ant hill)?或者说是热锅? 中国有一句谚语——热锅上的蚂蚁——来形容软件工程师是否很形象?

我从2019年开始写《度量简史》的系列文章,断断续续,很惭愧,至今还没有写到正题——软件规模的度量方法。

在2020年春季版的“metricview”杂志上,刊登了IFPUG前主席Joe Schofield先生的文章——《度量的起源,过去与未来,激发我们再思考》。

显然,Schofield先生的思路要比我宽广和深邃得多;在方法上也要更加“专业”。我的文章都是在做纯粹的思辨;Schofield先生收集了数据,以此做统计分析——即所谓的“实证研究”(empirical study)。

他在2003年就写过一篇文章,来讨论:蚂蚁与软件工程师有什么区别?

我忽然联想:我曾经去工作过、咨询过那么多的软件团队,里面那些忙忙碌碌的软件工程师(码农),是不是都是像蚂蚁一样?

而那些所谓的软件园,那些或高档或寒酸的写字楼,那些或标榜互联网(设计新颖、零食充足)或坚持传统的办公场所;是不是就是一堆一堆的“蚁丘”(ant hill)?或者说是热锅?

圆的度量的历史地位(度量的起源)(1)

中国有一句谚语——热锅上的蚂蚁——来形容软件工程师是否很形象?

还是回到度量的主题上。

通过度量可以得到一些数据,我们称之为原始数据——是“对象”的“客观属性”数字化描述,这些数据有的是由人员采集、上报的;有的是自动收集。

人类发明了“数据库”、“数据中心”,用来存储前所未有的海量数据;又发明了“云”,用来容纳——等待分析引擎挖掘的——即将或已经失控的数据。

人类对存储的数据进行“清洗”、整理;对其进行排序、过滤、渲染、绘图、趋势分析、预测分析,在记分卡中平衡;也有的时候,要刻意地忽略一部分。

由基础数据加工、计算得出的数据,可以称之为“绩效数据、衍生数据、高阶数据”。从学术的角度上来讲,也可以称之为信息(information)。

世界上的先行者发现了“数据”的重要性,并且可以真正地使用这些数据来——打篮球、拍电视剧、做空股票、控制病毒传播、治理国家。

现在,越来越多的人在标榜(忽悠):“我们是一个数据(数字化)企业!” “我们在数字化转型”。

由于使用了软件这个工具,我们比较精准、准确地度量了2020年的这次疫情的数据。那么,关于软件本身的度量的情况如何?

从全球范围来看,Schofield先生认为——软件度量依然是很艰巨的任务。他提出来一系列的深刻的问题,这些问题其实也不限制于软件工程领域。

  • 我们到底在度量什么?
  • 如何确保度量的是正确的事物?
  • 在什么条件下,我们才能不受“霍桑效应”的影响而展开度量?
  • 在收集数据的时候如何不带有偏见?
  • 如何存储度量数据?
  • 这些度量数据的有效期是多长?
  • 哪些度量指标是可以相互比较的?
  • 我们度量得出的数据比随机产生的数更加好吗?
  • 谁应该来度量?
  • 谁有资格来度量?
  • 我们只是真的想将真实工作的能量用数字来表述?
  • 我们还要多久才能看到“进步”?
  • 环境、业务、流程和组织中的一些“动量”会如何影响我们度量的内容?

圆的度量的历史地位(度量的起源)(2)

在所有的这些问题之上,有一个更根本的问题就是:度量是怎么产生的?——从什么时候开始的?

1、时间

目前发现的、最早的人类度量的记录,在非洲南部的列朋波山脉发现的一根的狒狒小腿骨。学术界称之为Lebombo bone,其距今已有4万年左右。

圆的度量的历史地位(度量的起源)(3)

这根骨头很光滑,上面有20多道刻痕,肯定是被它的主人用来度量什么事情。现代的科学家只能是猜测——很有可能是在计数月亮盈亏的周期。

作为软件工程专家的Schofield先生,看到这个骨头上的刻痕,联想到它很有可能用来记录一个“延期(late)”的概念。就像现代的PM,要记录某个项目、某个迭代、某个里程碑的延期一样。

现代智人第一个进行度量的“事物”,很可能就是“时间”。随着时间本身的发展,后来的古巴比伦人,发明了用“60进制”的方法来度量时间。如此的度量,就比骨头上的那一道“刻痕”要精确多了。

这里,就引出了度量工作中两个重要的特性——“准确(accuracy)”与“精确(precision)”。

这里再插一句,智人开始度量(计数)——被国外的专家认为是“科学史上100个重大发明”中的NO.1。(参见Paul Parsons先生的书籍Science in 100 Key Breakthroughs)

2、成本

由于“交换”的发生,生活在欧亚大陆上的智人们发明了成本、价值的概念,并对其进行了度量。伴随着这种度量,他们还发明了一种工具,结果这个发明几千年来一直迷惑了很多人——把“工具”当做了“目的”。

而独处南美大陆的印加人一直没有这方面的苦恼,因为他们就没有“货币”的概念。

货币有很多形式,中国人都知道“贝壳”的故事;而直到17世纪,西伯利亚人还是拿兽皮当做货币。

人们在希腊的阿尔特弥斯神庙发现了公元前800年的硬币;印度文明可能在公元前1000-600年,铸造了银币或铜币;公元1000年左右的北宋,中国人发明了第一种纸币。

到了现在,货币只是一个bit符号了,还经常被我们“封印”在手机里。

这里还要插一句,我对国内的工程项目管理有一些研究。建筑工程项目成本的“实时度量”一直是中国企业界的管理难题。往往都是项目结束以后,几经折腾,才能度量出真实的成本;并且会发现——当初的预算太乐观了!

3、范围

看了上面两段,对现代项目管理知识有了解的同学,都知道“三角形”的“第三个管理”已经呼之欲出——范围。

圆的度量的历史地位(度量的起源)(4)

智人对于“范围、规模”的认识是什么?又开始于什么时候?

智人最早意识到的关于范围的概念之一,就是“重量”,也因此发明了天平、容器等工具。通过这些物品的考古发现,可以追寻历史。

同一个时期,早期的智人还意识到了另一个关于范围的概念,就是“距离、长度、空间”。而对于空间的度量,智人一开始使用的都是自己的身体部位。古埃及、古希腊、古罗马一脉相承都在使用“脚”来度量长度。现在“英尺”的原文还是feet。

这种人肉工具不容易追寻历史,也引来了不少的麻烦。一直到13世纪,英王约翰一世才“一脚定乾坤”。

在今天,我们对范围、规模的度量已经非常普遍——我们用总排水量吨数来度量海船,用桶来度量石油,用立方英尺来度量天然气,用加仑来度量水,用平方英尺来度量面积;宇宙空间以光年为单位,香水以盎司为单位,违禁物以克为单位。

当然,这个世界还存在两种度量标准:公制与英制。还是有少数国家、地区在坚持使用英制。

4、美国的经验教训

为什么一直在标榜、炫耀先进和发达的美国,在今天还是在使用“落后”、与世界“格格不入”的“英制”度量标准。要知道——此制度的发明者英国,都已经不使用了。

我听了罗胖的一期《罗辑思维》的节目,他对这个事情进行了分享,有以下两个结论:

1、保守的态度,往往不是观念的问题,而是被存量的利益绑架了。

2、失败的改革,往往不是“是非问题”,而是错过了最好的时间窗口。

这两个结论,放到中外软件度量的历史上,其实是都有一定的借鉴意义。结合我在国内的经验,可能还是要加上一点:

3、成功的改革,其组织机构内部一定要有强大的“执行力”。

5、软件的度量

软件自身的历史,至今也只有80年左右;对软件的度量也差不多有同期的历史。

早期的度量,一般都是用“代码行”方法来度量规模。这种方法的工作原理是“开发者视角”,有很多的弊病——可以参考我的《度量简史》系列文章——有一篇是专门讲王小波的故事。

1979年,Allan Albrecht先生发布了功能点分析(FPA)方法,彻底转变了思路,从“用户视角”(user view)来度量软件规模。这种方法可以很精确、很准确;但是也有问题——不简单、不易用。

Schofield先生回忆,功能点方法在国外推广之初,也是困难重重。创新者与改革派希望推行这个方法来改变现状;而组织里的既得利益者,即保守派则会忽悠高层管理者:“应该继续完善现有的方法!”

保守派的言论也有一定的道理——直到今天,全世界的软件工程专家们都在寻找即精确、准确又简单方便的度量方法。只是我们至今没有找到这种平衡。

暂时不能够“完美”的今天,我们应该看重什么?有时候,改革、繁琐要比保守、简单更有价值。

在国内很多软件企业,保守派使用的度量方法——就是没有“规模”度量。这种方法,相比较功能点法来说,肯定是便宜、方便、简单!既得利益者们也很喜欢。

我们推行的度量改进周期,应该是:可持续、客观、有意义、最小化。对此,Schofield先生也整理了一个宣言:

圆的度量的历史地位(度量的起源)(5)

猜您喜欢: