论软件生产力
软件在这个世界上已经有了几十年的历史,其本身也发生了巨大的变化。它使得计算机可以代替人类进行巨量、复杂的工作,并得出极精确的结果。几十年来,软件本身也变得极其复杂。
软件越来越复杂,可是生产软件的基础理论及方法却没有得到显著的改变。目前的软件工程学仍然停留在几十年前的水平。
几十年来软件变得越来越杂,其对开发者的要求,对资源投入的要求越来越巨大。可以直观地说:“开发软件的成本提高了”。而同时,生产软件的方式并没有改变。软件的生产力并没有得到提升。开发越来越复杂和庞大的软件产品唯一的出路就是投入更多的人力、物力、财力和时间。
首先,我们需要了解软件生产方式与生产力难以获得改进和提升的原因是什么?相比之下,为什么工业革命以来短短一百年中,社会生产力却能得到惊人的提升?
同样是生产,但为什么效率提升却有如此大的差别?并不是软件生产的效率没有提升,而是与工业生产力相比提升极其有限。如果我们能够找到软件生产与工业品生产的差别,是否就能找到提升软件生产力的钥匙?
让我们来回顾一下人类工业化的历史。工业革命的标志是蒸汽机的诞生。为什么蒸汽机对人类的工业化进程如此重要,以至于人类将蒸汽机的诞生标志为工业革命的起点。
在人类拥有蒸汽机以前,劳动的方式最先是纯手工的,人力是社会生产的主要动力。然后,人类开始驯养动物,畜力将社会生产力提升到了一个高度。接着,随着人们对大自然认识的进步,自身知识的丰富就开始利用自然资源作为动力。普通人最耳熟能详的莫过于水力了。
在英国的工业革命前期,社会对工业制品有着极大的需求。但是生产力却跟不上。当时的商品经济完全处于卖方市场,也就是说,不论生产多少产品都能卖掉,都能赚钱。当时典型的产品如英国的纺织品。
当时也出现了很多的先进的纺织机械,但是有一个非常大的局限是它们利用水力作为动力。也就是说,工厂主必须将纺织厂建在河边上。当然,天然河流提供的动力无法满足整个社会中人们对工业产品的巨大需求。众多的工厂主急切地盼望着新动力的诞生。
蒸汽机应运而生。它解决了人类社会生产力对天然、自然动力的依赖。人们对新型商品的渴望、商人对利润的渴望、国王对富强的渴望不断互动。终于促成了社会生产能力的巨量释放。
现在我们才开始进入正题,我们将讨论:“社会生产力巨量释放或惊人增长的基础”。
到目前为止,人类的生产活动只有一个模式,即:“投入->产出”。随着生产能力的不断提升,相伴而来的是社会分工的越来越细化,直至出现一个新的经济学概念“经济链条”。
但是这些经济学概念与“社会生产力巨量释放或惊人增长的基础”有什么联系呢?
这个“基础”是什么?这个“基础”是我们天天看到,天天接触却很少有人提及的东西。我不知道是经济学家故作不知,还是不认为重要,或者认为它超出了大众的理解力之外。反正很少人会提到它。
在英国经济学家亚当·斯密的著作《国富论》中反复提到两样东西,他认为与国家财富密切相关的两样东西:天然产物与劳动力。
在资本的活动中,或人类生产活动中“产出”是丰富的,而“投入”只有这两样,即:“天然产物”与“劳动力”。而我的表述是“自然资源”与“劳动力”。
在一件工业产品(其实包括任何产品)的成本构成中通常有不同的部分。其中比较易见的是“工人的工资”和“原材料”。当然还有很多不明显,或隐性的成本,但追本述源还是“自然资源”与“劳动力”。举个简单的例子:
海尔公司生产电冰箱,每台电冰箱的成本构成中包括了:
一、向上游供应商支付的零部件成本。
而零部件的成本包括了自“自然资源”与“劳动力”的成本。因为供应商也要向雇员支付工资。而人类社会的任何产品的“物质”原形均是“自然资源”。我们的电脑中有玻璃、塑料、金属。衣物是丝、棉、麻、化纤。食物更不用说了。
二、向员工支付工资。
而工资也包括了自“自然资源”与“劳动力”的成本。因为员工也会购买各种商品:包括、家电、食物、房子。购买各种服务:交通、通讯、再教育。
首先,员工作为一个活生生的人,至少需要维持生命的基本条件。包括食物、居所、衣物。
第二,员工作为社会成员,必然要与其它组织和个人发生关系。他需要交通、通讯。
第三,社会生产力的不断发展,对劳动力提出了更高的要求。这要求员工拥有更多的知识。员工需要购买图书资料、接受再教育、获得更多的信息(如上网、参加各种活动)。
因为一个员工除生活之外的时间都在工作,所以雇主必须为员工以上所有需求买单。如果一个人的工资只能维持衣、食、住、行。那么他也能工作,但能做一些简单的、不需要复杂知识的工作。当然这有一个致命的问题,工资全吃用光了,连孩子也养不起。那么几十年后的即使最廉价的劳动力也灭绝了。
现在我是一个软件公司的老板,我认为员工一定要甘心加班不能怕苦,少拿钱吃饱就行,技术全面永不淘汰。过一阵子我发现,水平好的都跑掉当老板了,水平差的宁愿去搬石头也不当白领了。
三、海尔将电冰箱运输到各个城市进行销售。
物流费用还是包括了自“自然资源”与“劳动力”的成本。首先动输工具的购买、折旧和报废(运输工具需要的钢铁橡胶归根结底还是“自然资源”);再者油料(自然资源)、保养(人工和自然资源)和税费(国家管理成本,可以理解为劳动力成本);最后是架驶员的工资。
架驶员工资的成本构成参考第二条。
以上只是一个很微观的例子,它描述了资本活动与生产活动的“投入”环节。简单的说,要想更多的“产出”就必须更多的“投入”。产量不够就购置更多机器,招更多工人。运输能力不够就修更多铁路、公路。购置更多汽车、火车、飞机、轮船,并让它们跑得更快。
这样我们就发现在社会财富、文明、生产力高度发达的今天,我们人类每天都消耗比工业革命时期更多的资源,更多的劳动力。
美国人也许会跳出来说:“不对!我们的生产力世界第一,一个人就可以创造大量的财富。”。那我会说:“你用高价工业、科技产品跑去非洲换木材、矿石、金属,去美洲换咖啡、可可、橡胶,不用来消耗难道是堆成山观赏吗?”。
好的,现在我们下一个简单的结论。
社会生产力巨量释放或惊人增长的基础就是--丰富的,可以源源不断投入的“自然资源”与“劳动力”。
而软件生产恰恰缺少这种可持续的、源源不断的投入。软件的生产完全依赖程序员(软件工程师)个人,或者他所在的整个团队。
首先我们来思考一下影响软件生产投入的各种因素。
一、程序员(软件工程师)的数量。这个很明显,数量的供应是不确定的。教育并不一定能提供足够拥有开发技能的人才。或者即使有人拥有很好的开发技能也不一定就去做程序员(软件工程师)。
二、程序员(软件工程师)的质量。这个也很明显,质量是不稳定的。它与社会的教育、文化,甚至个人的情绪都有关系。
如果社会教育质量高,可以培养更多高素质的人才,也包括高素质的软件人才。
文化环境是否有利于软件及相关科学的发展是非常重要的。比如现在中国的科学家就远没有包装精致的明星耀眼,收入也差很多。再者“专家”满天飞,我们遇到一个“专家”首先要想一下他是不是假货,是不是为即得利益说话来骗我钱。大众认为科学家离自己很远,不关心也不尊重科学家。中国一些“精英”总说,看看人家外国有本事的学者都想去名校做教授,中国人太爱钱了,太浮躁。是不是也要问一下,国外的教授是什么地位,国内的教授又是什么地位呢?或者再换个说法,中国的“精英”也是即得利益者,“精英”拥护的草根坚决反对。
对一个政治领导科学,外行领导内行的国家里五十多年不出一个诺贝尔奖的现像我深感庆幸。我终于在理论基础上找到了攻击这个国家一小搓人群的科学依据。
Warning: main(../../lib/2/3/4/5/6/AdSense/ad_336_280.php): failed to open stream: No such file or directory in
/home/kecourser2kksekc2oqu3rcs9etrk2/wwwroot/create/idea/fertility.php on line
78
Fatal error: main(): Failed opening required '../../lib/2/3/4/5/6/AdSense/ad_336_280.php' (include_path='.:/usr/local/php/lib/php') in
/home/kecourser2kksekc2oqu3rcs9etrk2/wwwroot/create/idea/fertility.php on line
78