在本書伊始,我提到過聯(lián)邦調(diào)查局的“哨兵”項(xiàng)目:某家承包商花費(fèi)了數(shù)億美元,開發(fā)的軟件卻沒法用。超支的一大原因是變更需求引起的費(fèi)用。無論是開發(fā)計(jì)算機(jī)軟件、設(shè)計(jì)飛機(jī),還是修建大樓,幾乎所有外包項(xiàng)目都是如此。事實(shí)上,很多政府項(xiàng)目的承包商都是先以較低的價(jià)格投標(biāo),然后通過向政府收取變更需求費(fèi)用實(shí)現(xiàn)贏利的,這已經(jīng)成為一種商業(yè)模式。當(dāng)承包商簽下一個(gè)耗時(shí)數(shù)年的大項(xiàng)目時(shí),會(huì)以精美的甘特圖列出所有需求,發(fā)包單位很難不說:“嗯,這樣就行了?!苯酉聛恚邪叹蜁?huì)說:“我們答應(yīng)會(huì)做這個(gè),還有那個(gè)。如果你們變更需求,我們會(huì)額外收費(fèi)?!边@種事后加錢的收費(fèi)方式是超支的主要原因,以至于各大企業(yè)與機(jī)構(gòu)不得不為此專門設(shè)置“需求變更控制委員會(huì)”。從成本的角度來看,這樣做是有道理的。限制變更需求的次數(shù),你就能控制由此產(chǎn)生的成本。
但這些開發(fā)人員卻沒有意識(shí)到控制需求變更無異于否定客戶的真正需求。他們努力限制成本的同時(shí),也限制了學(xué)習(xí)、創(chuàng)新及創(chuàng)意。如果你開始執(zhí)行一個(gè)項(xiàng)目后不久便發(fā)現(xiàn)真正有價(jià)值的功能,也就是能夠傳遞80%價(jià)值的那20%的功能,并不在你列出的功能之中,那么,傳統(tǒng)的項(xiàng)目管理方法不但會(huì)妨礙你變更固有的需求,還會(huì)妨礙你以更快的速度創(chuàng)造價(jià)值。
此外,嚴(yán)格控制成本的措施根本行不通。即使“需求變更控制委員會(huì)”努力控制需求的變更,但很多時(shí)候,變更需求的必要性非常大,不變更,項(xiàng)目便不會(huì)有任何價(jià)值,以至于“需求變更控制委員會(huì)”不得不答應(yīng),從而增加了項(xiàng)目的成本。類似的需求變更會(huì)一而再、再而三地出現(xiàn),過不了多久,項(xiàng)目經(jīng)費(fèi)就會(huì)超支數(shù)百萬美元,而且還會(huì)延期一年、兩年,甚至五年。
正是由于這個(gè)原因,我才提出了“免費(fèi)變更需求”的觀點(diǎn)。在一個(gè)標(biāo)準(zhǔn)的固定價(jià)格合同中,列出你期望的所有功能,然后專門添加一款關(guān)于免費(fèi)變更需求的條文。比如,如果你要制造一輛坦克車,你需要的功能可能包括:每小時(shí)能跑75英里、發(fā)射速度能達(dá)到每分鐘10發(fā)、有4個(gè)座位、有空調(diào)等。你可以把自己覺得有必要的需求都列出來。制造商看過需求描述之后會(huì)說:我會(huì)把制造引擎算成100點(diǎn),裝填裝置算成50點(diǎn),座位算成5點(diǎn),諸如此類,由上至下評(píng)估。最后,每項(xiàng)功能都會(huì)評(píng)估出一個(gè)固定的點(diǎn)數(shù)。根據(jù)合同,客戶必須與產(chǎn)品負(fù)責(zé)人密切合作,在每個(gè)沖刺階段中,他們都可以完全變更優(yōu)先順序,任何在待辦事項(xiàng)清單中的項(xiàng)目或功能都可以移到任何其他地方。至于新發(fā)現(xiàn)的功能?沒問題,只要從原本可開發(fā)的項(xiàng)目中扣除同等點(diǎn)數(shù)的功能即可。你們現(xiàn)在想把激光制導(dǎo)系統(tǒng)加進(jìn)去?好,這個(gè)項(xiàng)目相當(dāng)于50點(diǎn),那就從待辦事項(xiàng)清單中移除一個(gè)50點(diǎn)的功能來抵消。
少數(shù)公司已經(jīng)把這種理念運(yùn)用到了新境界,為客戶提供高價(jià)值的功能。幾年前,我聽說過一家采用Scrum方法的軟件開發(fā)公司的故事,他們?nèi)〉昧艘环輧r(jià)值1000萬美元的合同,為一家建筑公司編寫一款軟件。雙方約定20個(gè)月后交付產(chǎn)品。但Scrum公司在合同中插入了一個(gè)條款:如果建筑公司想要在任何時(shí)間終止合同,只需支付剩余合同價(jià)值的20%。基本上,只要軟件公司做出建設(shè)公司需要的軟件,建筑公司就能要求軟件公司不必再繼續(xù)開發(fā)了。
這家軟件開發(fā)公司把沖刺周期設(shè)定為一個(gè)月。在第一個(gè)月結(jié)束后,客戶告知開發(fā)商新的開發(fā)方向,以期創(chuàng)造更多價(jià)值。第二個(gè)月結(jié)束后同樣如此。第三個(gè)月結(jié)束后,客戶終止合同,收下軟件,并投入使用。他們已經(jīng)得到自己需要的價(jià)值了。
現(xiàn)在來做一點(diǎn)簡(jiǎn)單的數(shù)學(xué)計(jì)算,看看雙方如何獲益。在合同剛開始的3個(gè)月內(nèi),客戶支付給這家Scrum公司150萬美元。為了提前終止合同,他們還必須額外支付剩余的850萬美元中的20%,也就是170萬美元。他們總共支付了320萬美元,得到的是自己原本認(rèn)為價(jià)值1000萬美元的軟件,而且還提前17個(gè)月拿到了產(chǎn)品。
同時(shí),贏家不只是建筑公司。軟件開發(fā)公司也是贏家。該公司原本預(yù)期的贏利率是15%,但是在前3個(gè)月里只花費(fèi)了130萬美元開發(fā)軟件,卻收到了320萬美元的報(bào)酬,從而使得獲利率從15%提高到了60%,提高了3倍。開發(fā)人員提前收工,又可以競(jìng)標(biāo)別的項(xiàng)目了。這不僅僅是一門好生意,還是一個(gè)能夠讓人早點(diǎn)退休的策略。
他們之所以能做到這一點(diǎn),是因?yàn)樗麄儾捎昧薙crum方法。開發(fā)團(tuán)隊(duì)是多功能團(tuán)隊(duì),能夠加快工作速度,以更快的速度傳遞出更多價(jià)值。每一個(gè)沖刺階段結(jié)束后,他們都會(huì)推出具備新功能的產(chǎn)品。這種產(chǎn)品是可以使用的,而且立即就可以投入使用。在每一個(gè)沖刺階段結(jié)束后,產(chǎn)品負(fù)責(zé)人都能根據(jù)顧客反饋的意見重新安排待辦事項(xiàng)的優(yōu)先順序。只要為客戶創(chuàng)造了足夠的價(jià)值,所有人都可以收工了。通過這種方式,Scrum把所有人的利益凝聚在了一起,包括開發(fā)團(tuán)隊(duì)成員、Scrum主管、產(chǎn)品負(fù)責(zé)人、客戶以及公司的利益。每個(gè)人都會(huì)朝著同樣的目標(biāo)而努力。這個(gè)目標(biāo)就是盡快創(chuàng)造出切切實(shí)實(shí)的價(jià)值。我非常推崇互利共贏的做法。我認(rèn)為,以較低的成本制造較好的產(chǎn)品,并賺到更多的錢,是一樁非常不錯(cuò)的買賣。