濟南軟件開(kāi)發(fā)之成(chéng)本

2015-11-27 09:01:14
    很多公司管理層的想法:某年某月某日我拿到一個小項目,也就(jiù)是所謂的私活。我把這(zhè)個項目丢給某個人搞定,讓他兼職美工、文檔員、測試員,反正從頭到尾他一個人搞定。我希望他花的時間越少越好(hǎo),完成(chéng)的質量越高越好(hǎo),隻要他不“叛變”,我一如既往的給他支付正常的工資(什麼(me)加班費,要加班,你得先申請,什麼(me)項目獎、年終獎,去做夢把。)
   上面(miàn)說的是幻想,現實中也可以找到原型.
   愛因斯坦的能(néng)量守恒定律告訴我們,E = MC*C,就(jiù)是能(néng)量=質量×光速的平方,理論告訴我們所謂的企業核心競争力來自那個地方。
   做一個項目,如果軟件成(chéng)本是守恒的(由公司的軟件團隊實力決定),那我們得出一個結論 cost = quality × speed,就(jiù)是開(kāi)發(fā)成(chéng)本  = 軟件質量 × 軟件開(kāi)發(fā)的速度。開(kāi)發(fā)成(chéng)本是軟件團隊的實力,包括軟實力和硬實力,大緻等于這(zhè)個團隊的年薪。軟件質量我想大家都(dōu)知道(dào),開(kāi)發(fā)速度大家也知道(dào)。從中看出,在固定成(chéng)本的前提下,要求軟件的質量越高,就(jiù)是quality越高,那麼(me),speed就(jiù)會(huì)降下來,那麼(me)相應的開(kāi)發(fā)周期就(jiù)越長(cháng)。
    如果來了一個時間很緊的項目,要保證速度,就(jiù)是完成(chéng)時間,就(jiù)得加班再加班,變相的提高速度,提高進(jìn)度。以時間換速度,在人的注意力時間有限和精力有限的情況下,此是下策,會(huì)帶來很多反作用。 加班的效率要比正常上班低很多,特别是不給加班費。造成(chéng)的怨氣會(huì)嚴重影響開(kāi)發(fā)進(jìn)度和質量。所以軟件質量會(huì)被(bèi)降低。加班會(huì)讓程序員對(duì)軟件産生怨恨情緒,對(duì)設計、性能(néng)要求、錯誤等得過(guò)且過(guò)。所有的軟件工程理論都(dōu)是要求質量第一。而且明确說明,反對(duì)加班以追求速度。 
    所以你的觀點是錯誤的。成(chéng)本是多方面(miàn)的。不是簡單的質量×速度。你把日後(hòu)的維護成(chéng)本刨除了。質量越差,維護成(chéng)本越高。很多系統開(kāi)發(fā)完成(chéng)後(hòu),發(fā)現因爲過(guò)分追求速度,造成(chéng)維護成(chéng)本居高不下。故障頻發(fā)。最後(hòu)隻好(hǎo)重新開(kāi)發(fā),造成(chéng)嚴重浪費。 
    所以,要降低成(chéng)本,不能(néng)降低質量,也不能(néng)靠壓榨程序員。要采用更加科學(xué)的開(kāi)發(fā)管理手段、更加先進(jìn)的開(kāi)發(fā)技術框架來提高軟件生産效率。而不是對(duì)程序員進(jìn)行掠奪式剝削。