软件工程和经济发展

开始还债了,呵呵呵。(要看“愚人节Article计划”)
前两年看经济学相关东东的时候有些联想,就写出来分享。

经济学研究的是“社会”利用资源,生产价值,最后合理分配的行为方法(原文是:经济学研究的是社会如何利用稀缺的资源以生产有价值的商品,并将它们分配给不同的个人。—— 萨缪尔森《经济学》)。核心是不同层面的效用决定,达到效益最大化。
软件工程研究的是一个独立项目中花费时间、人力资源和金钱最小化的方法。其中利用资源,生产价值,合理分配倒是可以和经济学略做借鉴。做项目预算和立项市场分析的时候也可以沿用经济学的一些方法。
经济学经过发展已经形成各自一套相对完善的体系。经济学是一门巨牛的东东,人(实际是社会人)的一些表现和决策都可以量化。比较起来,软件工程还只是成长中,软件工程还只是拿人作为“人力资源”来用,人只是“角色”(都是理性人,靠制度约束),具体的协调激励工作靠项目主管来做(那是管理学的东东了)。离千万人协作还有很大的距离,路漫漫其修远兮,任重而道远啊……扯远了。
具体谈起来就那么1/10瓶子水的逛荡,上不了大雅之堂。献丑不如藏拙。所以单就高中政治(实际是政治经济学)中关于“经济发展”一段知识和软件工程过程做些比较(虽然这个比较是西瓜比芝麻)。姑且吹之。
项目做个黑盒作为生产者,客户/需求提供者作为消费者。

经济发展根据生产力发展经历自然经济—→商品经济—→产品经济三个历史阶段。取决于人类对自然界的认识程度和改造能力,即生产力的发展水平。(明显是抄的,呵呵呵)
我国的经济发展经历三个阶段小农经济、计划经济、社会主义的市场经济(中国特色的市场经济?)。(之前的似乎也有,n年前就还给老师了,就这三个吧。)

小农经济就差不多是自然经济,基本就是单干,需要啥写啥,只有工作分工,层次感不是特别强,高手的自留地,一天上万行代码,几天搞定,怎一个“牛”字了得;

“计划经济”是指:根据国民经济发展客观规律的要求,社会(国家)从具体情况出发,预先拟定经济的发展方案,并在实施过程中不断地进行修正,从而对社会经济活动实行“自觉”的组织管理和调节,它是自觉运用经济规律的主观表达形式。我们实行计划经济的时候有些片面,计划经济在形式上的“主观认知性”特点,变成了“主观意志性”,从而形成脱离社会经济活动实际的“主观命令型”经济。有些象瀑布模型,用文档驱动过程,对于非专业用户的交互容易出现误差,而继续“主观命令”,一旦计划偏差损失就比较大了;

市场经济就是复杂商品经济,以市场为导向的一种客观经济形式。在软件工程来说,由客户需求主导,好比快速原型模型,快速丢弃原型,如果保留的话在随后开发会付出更大的代价,此类工程以功能性为主,等价于产品的一个子集,原型开发速度很快,设计方面几乎没有考虑的。保留原型的增量模型也是一个例子,具体倒是没有用过。增量模型的演进版本的XP(极限编程)是目前比较火的一种模型。目前的中小型项目都差不多对应这个阶段。这些模型对大项目超大项目还是有缺陷的;

社会主义市场经济仍然以市场为主导,不过加入了一些计划的宏观调控。除去预算控制、维护和复用,软件工程中的质量控制、风险控制、过程改进都可以参考。RUP作为重量级开发过程就可以与之相对应了。这一类适合大型项目的软件工程。RUP体系很大,使用要很小心。“一个高明的铁匠用铁锤可能可以打出一把好兵器,如果是普通人搞不好就会砸到脚”;

接下来就是老马说的真正的“计划经济”了。计划为主,适应市场,不断修正,持续改进。智能模型勉强可以算这一类。有些超越软件工程的范畴了,一般都是企业做持续性产品的规划开发,算是软件的产品线工程开发了。再大一些,就是更高一级管理控制,需求/客户体验纳入项目组成,做超超大型应用,现在都不敢想象了,也许是将来软件发展的趋势吧;

至于最后的产品经济,以“各尽所能,按需分配”的形式来满足自身的需要。在软件业倒是有那么一种体验:开源/共享。想一下,linux好像有那么些个意思了。不过已经不是软件工程了。

经济发展和软件工程都是很大D,这么肤浅的吹一下,差不多就这么多了。问题是肯定有D,砖头是肯定要挨D。板砖横空出世,俺也只能硬着脖子挺啊,呵呵。

posted on 2005-08-23 14:03  DCH  阅读(1274)  评论(8编辑  收藏  举报

导航