濟(jì)南軟件開(kāi)發(fā)之成本

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