適應日益加劇的競爭環(huán)境、把握瞬息萬變的市場信息是企業(yè)得以生存和發(fā)展的基礎(chǔ),某大型IT公司估計其產(chǎn)品推遲上市一個月將導致收入減少530萬(人民幣)、利潤減少265萬、還要付出另外的研發(fā)費用37.5萬。這就對產(chǎn)品研發(fā)項目提出了更高的要求:如何在有限的資源投入下以更快的速度滿足或者超越用戶的需求。
在提高研發(fā)效率方面,業(yè)界已經(jīng)進行了大量有益的探索和實踐,下面是幾種較有代表性的見解:
◆過程/流程決定一切(強調(diào)過程的重要性);
◆人是生產(chǎn)力的決定因素(強調(diào)人的重要性);
◆采用XXX編程工具,可以使您的開發(fā)效率提高一個數(shù)量級(強調(diào)工具的重要性);
◆良好的計劃是項目成功的一半(強調(diào)項目管理的重要性);
……
盡管每種見解都有大量的擁躉(無論處于業(yè)務(wù)還是商務(wù)角度),但是仍會遭到大量的挑戰(zhàn)而不能自圓其說,從研發(fā)項目的實踐來看也同樣反映了“瞎子摸象”的現(xiàn)象:好像每種見解都是對的,但是又不完全對。
根據(jù)美國項目管理協(xié)會的定義:“項目管理是在項目活動中運用知識,技能,工具和技術(shù),以便達到項目要求”;項目管理的目標是在給定的資源、預算和時間內(nèi)安全地完成符合質(zhì)量要求的項目。以上定義意味著項目的資源、預算、時間和項目范圍有著內(nèi)在的約束關(guān)系,在這四個因素已經(jīng)被“極其樂觀”的限定的情況下,項目最終無法完成——項目經(jīng)理常常會遇到非常緊張的、不可能完成的Deadline,如何應對?項目范圍的約束關(guān)系告訴我們手中的王牌包括增加人手(有時候人多反幫倒忙,可以參考《人月神話》)、投入更多資源(部分模塊外包、使用COTS、購買最好的開發(fā)/管理工具)、削減項目范圍/需求(承諾在后續(xù)版本中提供某些功能,但是用戶未必會認同)、降低質(zhì)量(軟件項目交付質(zhì)量的降低往往意味著客戶需求沒有完全實現(xiàn),用戶也未必會認同)。
更深一個層次,多個因素影響了研發(fā)項目的開發(fā)效率,片面強調(diào)某一個因素而忽略其他的因素,都無法揭示項目實踐中遇到的問題。這里引用一個老笑話:
有個警察看到個喝醉的人在路燈下找東西,他就問:你找什么?那個醉鬼說,車鑰匙下車時掉了,我在找。警察問:你不在掉的車子附近找,怎么到路燈下找呢。醉鬼說:那里黑啊,這里亮啊,好找!
其實很多項目經(jīng)理或者咨詢機構(gòu)都在犯類似這個醉鬼的錯誤,不管是有意或是無意的——試圖在自己最熟悉、最容易控制的因素上尋求突破,而對自己陌生的、難以控制的因素卻置若罔聞,盡管它可以為項目帶來更大的回報。我推測很大程度上是由于“人類本能的需要心理安全感”。
那么,到底哪些因素影響了開發(fā)的效率、他們又能夠在多大程度上造成影響?下面的資料是Capers Jones在《Software Assessments, Benchmarks, and Best Practices》中使用的數(shù)據(jù),這是目前為止最新資料(雖然量化管理是管理追求的較高層次,但現(xiàn)在度量方面的專著卻幾乎絕跡,可能是商業(yè)利益使然)。
影響軟件項目生產(chǎn)率的積極因素(以影響程度排序):
項目因素 |
影響程度(%) |
項目因素 |
影響程度(%) |
高質(zhì)量可交付產(chǎn)品復用 |
350 |
正式審查的使用 |
15 |
高水平的管理人員經(jīng)驗 |
65 |
好的辦公室人體工程學 |
15 |
高水平的技術(shù)人員經(jīng)驗 |
55 |
低的項目復雜度 |
13 |
有效的方法與過程 |
35 |
適度的進度壓力 |
11 |
有效的管理工具 |
30 |
生產(chǎn)率測量 |
10 |
有效的C |