由于已经是历史了,所以这篇文字可以放出来了。2010年10月31日的草稿。
===========================================
这是一个很有意思的问题,算是”软件工程”的一个很好实例。
听人提到某个项目,开发人员很早就声称feature完成,等待release。可是不幸的是,测试以后发现种种问题,而且与硬件平台配合以后发现很严重的bug,导致这个项目迟迟不能release。
问题是很多,主要是从当事人那里得来,简单列举一下。
比如现在这个release已经包含了很多以前release版本commit过来的bug,本身就是很不稳定的产品,只是可以用罢了。
还有一个很严重的问题是硬件平台firmware的不稳定导致软件平台无法稳定测试,出现问题很难判断,另外firmware的变动也会导致嵌入软件必须随之变动。firmware常常号称已经OK,但是却充斥了bug,动辄还是需要返工。
再就是需要添加的feature太多,完成也不仔细,测试也不够。甚至在临近code freeze的时候还有新需求提出。
再比如平台升级到CE6.0系统,对平台不熟悉,也是引入了很多新问题,原来OK的不OK了,甚至产生严重的Memory leak等等。
还有比如文档不够,软件开发人员水平不够对产品不了解(导致新特性加入新bug),流程不完善,或者某个决定推来推去,谁都不拍板等问题。
总而言之,貌似开发人员做的很快,但是快将近一年半以后依然没有release。这个问题一定不是第一次发生也不是最后一次发生。
那么,该如何解决呢?