软件开发的两条铁律 | 程明

来源:百度文库 编辑:神马文学网 时间:2024/04/27 20:17:48
在硅谷,流传着软件开发的两条铁律, 一是 over time  超工期,  一是 over budge. 超预算。 既然是铁律, 那就是基本不会被违背。 软件行外的人, 甚至国内的软件开发员都不太相信这两条铁律。但结果往往总是被事实证明。有的人说, 那好办,我把工期定的长一些不就行了,本来只要2个月完成的,我计划4个月来做, 不就不会 over time了。实际上你会发现,就算是你计划6个月来做,一样  over time 。只要你是在认真地发开一个有一定复杂程度的软件。
几年以前,我在国内的公司还在南方,我在美国给他们项目做, 是一个监控系统,用别人的监控卡和API,要求并不高,能工作就好,我从美国给开发员电话, 现在做的怎么样了? 还要多久?  回答说,还要2周。我说,好,我给你们 2 个月。结果这个项目做了2年也没有做好。
有朋友说,哈,那是你的公司水平太差。特别是软件工程水平太差。好,那我们来看看软件产业的老大,微软公司,微软财大气粗,软件工程师可以组成一个军。如果说微软软件工程水平太差,就像说中国银行缺少人民币一样。对吧?  但我们看看微软每次推出他的新软件产品的时间, 至少比他事先宣布的发布日期要晚半年以上,有的时候甚至要晚两年。像微软这样的大公司,宣布发布新软件产品的日期可不能忽悠大家,那要影响股票市场和整个产业的。 故意忽悠是要吃官司的。那微软为什么老拖工期?那就是他也没有办法突破铁律。 但微软为什么老拖工期而没有太大的麻烦呢?因为任何其他软件公司也都在拖工期。大家都想按时出来,但大家都按时不了。如果真能按时出来那真的要引起股票市场波动了。
就是微软发布了新产品,在产业界也没有什么人敢马上用来开发。大家都知道,微软新产品第一版基本上是垃圾,总要等到第三版才能用。 Wndows 到3。0,  NT 到4。0,软件公司才敢在上面作开发。一开始全世界的电脑玩家就免费替微软做测试员吧。微软的window 95推出时在市场推广上是登峰造极的做宣传。微软在纽约时报上登全版广告,广告上说, window 95  的开发员和测试员为加班吃去了10万块pizza 比萨饼。 比尔亲自第一次出来在大会上演示  window 95 ,结果 window 95 当场蓝屏,全场哄笑,比尔也跟着打哈哈。 但从此比尔再没有亲自演示任何微软的新产品。
最近我的一个学生在国内一家著名软件公司替中国电信作项目,说拖了半年,电信很不高兴。 一个大项目,拖了半年很正常啦。 我知道的国内一家老大软件公司替国内一家老大电器公司作ERP,  拖了4 年了还不能上线。
这就叫 IT 陷阱,像 “人月神话”  说的,恐龙陷进泥潭了,越用力就陷得越深 。 俗话说, 炒股炒成股东,网聊聊成老公。非IT公司做IT项目则往往把自己做成 IT公司了。
有的朋友可能会说, 我们的IT 项目都基本按时完成。 我不用去看,就知道你们是用已经成熟的软件产品在做实施,你们不是在做软件产品开发。
学院派或资源丰富的大公司会强调软件工程, 软件工程是一方面,但软件工程的完全效果那其实往往出在没有压力的R&D 项目上。现实中其实很多问题其实不是软件工程学的问题。很多实际情况下没法完全用软件工程学。 中国的erp实施就是很好的例子。最大的问题往往是需求方跟实施方扯不清楚。这里其他方面的因素更为重要。就是公司自己同时是需求方跟实施方的时候,也有很多问题。不然微软也不会老拖工期了。