在核桃兄的BLOG上看到他的《
软件开发中的成本意识》一文,正好我最近也有一些关于这方面的想法,于是在回复里大致说了一下:
有一些不同意见:
完全抵制第三方控件固然不对,但是滥用第三方控件也是很有问题的:
首先现在的第三方控件良莠不齐,可能带来潜在的问题;
其次正如你所说的,有问题需要改源码,但第三方控件特别是ActiveX控件大多没有源码;
第三并不是所有的第三方控件都是免费的,特别是一些优秀的控件,多是商业产品,它的费用会导致成本的增加。
>经常看到有一些程序员写的东西根本就没有意识到效率或者稳定性问题,或者是有时候为了贪方便或赶工而牺牲程序的性能但也不可否认,在很多时候是因为老板或客户的工期压力而不得不作的迁就。这就是国内软件企业常有的情况--本来是为了降低成本,结果反而提高了成本。
其实归根到底还是在于两个方面:一是大环境使然,二是企业主的短视眼光。
关于大环境,我在《
软件与中国古代史:大历史观》一文中已经说过了。而对于企业主的短视眼光,其实在Tom.DeMarco&Timothy.Lister的经典著作《人件》也已经有详尽的论述。其中最关键的一点就是老板往往只会看到那些看得见的成本:比如员工的工资。而无视很多潜在的成本,这些成本很可能比看得见的成本更加大得多。
从软件的开发角度上说,软件的成本最大一块好像是开发的成本,其实这只是公开的部分,还有其它一些不是那么明显的:比如公司的运作成本,日常开支,税费,市场营销人员的工资提成差旅费等。在中国,还要有一笔为数不小的“关系费”。对于一些大的项目,“关系费”通常要远大于开发本成本。在这样的分摊下,其实开发成本并不一定很高到哪里去,但是这笔成本是公开透明的,所以最有理由被压缩,只要一谈“降低成本”,这部分便是首当其冲。
表面上压缩这部分成本的效果是立竿见影的,立即可以提高利润率。但是如核桃兄所言,它潜在地将带来软件质量的下降,而这种下降一旦到了客户那里表现出来,结果自然是导致返工,工期拖延等问题,最终导致成本更加上升,常常足以把前面压缩的成本全部耗费,甚至超出。
这些都还是直接的损失,间接的损失在于将损害到开发者,而导致人员流失。人员流失对于企业来说是一种影响更大更深远的损失,只是大多数软件企业没有意识到罢了。
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=267868