目前,中國的軟件企業(yè)正處于高速發(fā)展、急需規(guī)范管理并以項目為主導(dǎo)的環(huán)境中。企業(yè)每天所面對的不僅僅是幾個越來越大的大型項目,而將是成百上千不斷發(fā)生和進行的項目。產(chǎn)生這種變化的因素是多方面的,這包括客戶需求的不斷提高導(dǎo)致產(chǎn)品生命周期縮短;產(chǎn)品開發(fā)項目數(shù)量大增;新技術(shù)導(dǎo)致了對研究和開發(fā)項目需求的增加;為了提高業(yè)務(wù)贏利能力,改進業(yè)務(wù)模式的項目需求大增等。在這種多項目并發(fā)、技術(shù)含量高、變化速度快、資源有限的環(huán)境下,如何對企業(yè)、項目、資源實施科學(xué)的管理。加強團隊能力,實現(xiàn)軟件企業(yè)的生產(chǎn)規(guī)模化、規(guī)范化、國際化,是當(dāng)前我國軟件業(yè)面臨的大挑戰(zhàn)。
中國目前軟件業(yè)的落后狀況,實際已經(jīng)不是技術(shù)本身的問題,而是科學(xué)管理的問題,軟件工程理論與軟件項目管理的實際應(yīng)用與經(jīng)驗,是我國軟件企業(yè)急待學(xué)習(xí)與渴求的。中國軟件業(yè)各個層次上的管理問題,目前可以說已經(jīng)制約了中國軟件業(yè)走向國際化的進程。
一、軟件項目管理的概念
從概念上講,軟件項目管理是根據(jù)管理科學(xué)的理論,結(jié)合軟件產(chǎn)品開發(fā)的實際,保證工程化系統(tǒng)開發(fā)方法順利實施的管理實踐,為了使軟件項目能夠按照預(yù)定的成本、進度、質(zhì)量順利完成,從而對成本、人員、進度、質(zhì)量、風(fēng)險、文檔等進行分析、管理和控制的一系列活動。實際上,軟件項目管理的意義不僅僅如此,進行軟件項目管理有利于將開發(fā)人員的個人開發(fā)能力轉(zhuǎn)化成企業(yè)的開發(fā)能力,企業(yè)的軟件開發(fā)能力越高,表明這個企業(yè)的軟件生產(chǎn)越趨向于成熟,企業(yè)越能夠穩(wěn)定發(fā)展(即減小開發(fā)風(fēng)險)。
軟件項目的開發(fā)不同于其他產(chǎn)品的制造,軟件開發(fā)的整個過程都是以設(shè)計過程為主(幾乎沒有制造過程);另外,軟件開發(fā)不需要使用大量的物質(zhì)資源,而主要使用的是人力資源;并且,軟件項目開發(fā)的產(chǎn)品大多數(shù)是程序代碼和技術(shù)文檔,并沒有其他的物質(zhì)結(jié)果;谏鲜鎏攸c,軟件項目管理與其他項目管理相比,具有很大的獨特性。
二、軟件項目管理的目的
隨著信息技術(shù)的飛速發(fā)展,計算機軟件產(chǎn)品的規(guī)模和復(fù)雜度也隨之增加。個人單打獨斗的作坊式開發(fā)方式已經(jīng)越來越不適應(yīng)發(fā)展的需要。與此同時,軟件項目中"項目黑洞"也應(yīng)運而生:項目無法按期完成、項目合作方的工作難以協(xié)調(diào)、用戶需求經(jīng)常變動、工作質(zhì)量難以保證,給企業(yè)帶來為了愈來愈多的損失。這種情況說明了軟件項目開發(fā)及管理過程中,存在著許多的問題,需要更多的重視和研究。
沒有運用軟件項目管理是面臨如此眾多問題主要原因之一。軟件項目管理作為一種科學(xué)的管理手段,是為了使軟件項目能夠按照預(yù)定的成本、進度、質(zhì)量順利完成,而對成本、人員、進度、質(zhì)量、風(fēng)險等進行分析和管理的一系列活動。因此,對于以"項目"為基本運作單位的各軟件開發(fā)企業(yè),都在積極地將軟件項目管理引入開發(fā)活動中,對軟件開發(fā)實行有效的管理。因此,決定一個軟件項目實施成功與否,軟件項目管理無疑起著舉足輕重的作用,軟件項目管理已經(jīng)是公認(rèn)的軟件開發(fā)企業(yè)的核心競爭力之一。
三、軟件項目管理的原則
1.平衡原則
在我們討論軟件項目為什么會失敗時可以列出很多的原因,如管理問題、技術(shù)問題、人員問題等等,但是有一個根本的思想問題是容易忽視的,也是軟件系統(tǒng)的用戶、軟件開發(fā)商、銷售代理商不想正視的,那是:需求、資源、工期、質(zhì)量這四個要素之間的平衡關(guān)系問題。
需求定義了"做什么",定義了系統(tǒng)的范圍與規(guī)模,資源決定了項目的投入(人、財、物),工期定義了項目的交付日期,質(zhì)量定義了做出的系統(tǒng)好到什么程度,這四個要素之間是有制約平衡關(guān)系的。如果需求范圍很大,要在較少的資源投入下,很短的工期內(nèi),很高的質(zhì)量要求來完成某個項目,那是不現(xiàn)實的,要么需要增加投資,要么工程延期;如果需求界定清楚了,資源固定了,對系統(tǒng)的質(zhì)量要求很高,則可能需求延長工期。對于上述四個要素之間的平衡關(guān)系容易犯的一個錯誤,是鼓吹"多快好省"四個字。
正視這四個要素之間的平衡關(guān)系是軟件用戶、開發(fā)商、代理商成熟理智的表現(xiàn),否則系統(tǒng)的成功失去了一塊堅實的理念基礎(chǔ)。
2.高效原則
在需求、資源、工期、質(zhì)量四個要素中,很多的項目決策者是將進度放在首位的,現(xiàn)在市場的競爭越來越激烈,"產(chǎn)品早上市,早掙錢,掙的比花的多,所以一定要多掙",基于這樣一個理念,軟件開發(fā)越來越追求開發(fā)效率,大家從技術(shù)、工具、管理上尋求更多更好的解決之道;诟咝У脑瓌t,對項目的管理需要從幾個方面來考慮:要選擇精英成員;目標(biāo)要明確,范圍要清楚;溝通要及時、充分;要在激勵成員上下工夫。
3.分解原則
"化繁為簡,各個擊破"是自古以來解決復(fù)雜問題的不二法門,對于軟件項目來講,可以將大的項目劃分成幾個小項目來做,將周期長的項目化分成幾個明確的階段。
項目越大對項目組的管理人員、開發(fā)人員的要求越高,參與的人員越多,需要協(xié)調(diào)溝通的渠道越多,周期越長,開發(fā)人員也容易疲勞,將大項目拆分成幾個小項目,可以降低對項目管理人員的要求,減少項目的管理風(fēng)險,而且能夠充分地將項目管理的權(quán)力下放,充分調(diào)動人員的積極性,目標(biāo)會比較具體明確,易于取得階段性的成果,使開發(fā)人員有成感。
4.實時控制原則
實時控制項目進度的機制,依靠一套規(guī)范的過程來保證實時監(jiān)控項目的進度,以實現(xiàn)實時控制項目的進展,將項目的進展情況完全的實時的置于你的控制之下。實時控制確保項目經(jīng)理能夠及時發(fā)現(xiàn)問題、解決問題,保證項目具有很高的可見度,保證項目的正常進展。
5.分類管理原則
對于不同的軟件項目其項目目標(biāo)差別很大,項目規(guī)模也是不同的,應(yīng)用領(lǐng)域是不同的,采用的技術(shù)路線差另0也很大,因而,針對每個項目的不同特點,其管理的方法、管理的側(cè)重點應(yīng)該是不同的。像古人講的,"因材施教","對癥下藥"。項目經(jīng)理需要根據(jù)項目的特點,制訂不同的項目管理的方針政策。
6.簡單有效原則
項目經(jīng)理在進行項目管理的過程中,往往會得到開發(fā)人員這樣的抱怨"太麻煩了,浪費時間,沒有用處",這是很普遍的一種現(xiàn)象。當(dāng)然這樣的抱怨要從兩個方面來分析,一方面從開發(fā)人員本身可能存在不理解,或者逆反心理的情況,另一方面,項目經(jīng)理也要反思:我所采取的管理措施是否簡單有效?搞管理不是搞學(xué)術(shù)研究,沒有完美的管理,只有有效的管理,而項目經(jīng)理往往試圖堵住所有的漏洞,解決所有的問題,恰恰是這種理想,會使項目的管理陷入一個誤區(qū),作繭自縛,后無法實施有效的管理,導(dǎo)致項目的失敗。
7.規(guī)?刂圃瓌t
該原則是和上面提到的其他原則相配合使用的,即要控制項目組的規(guī)模,不要人數(shù)太多,人數(shù)多了,進行溝通的渠道多了,管理的復(fù)雜度高了,對項目經(jīng)理的要求也高了。在微軟的MSF中,有一個很明確的原則是要控制項目組的人數(shù)不要超過10人,當(dāng)然這不是的,也和項目經(jīng)理的水平有很大關(guān)系。但是人員"貴精而不貴多",這是一個基本的原則,這和我們上面提到的高效原則、分解原則是相輔相成的。
8.組織的知識積累原則
有效的積累知識的方法是:人員專業(yè)化培養(yǎng),知識與載體分離。具體的做法是,把需要度量的知識實體分為固定知識(項目成果)和流動知識(參與人員),再把知識實體的價值體現(xiàn)劃分成不同的度量平面。根據(jù)所有知識實體在不同度量平面上的知識度量值,可以形成不同的知識平面指數(shù)和公司知識指數(shù),并可根據(jù)此知識指數(shù)體系來全面分析公司的知識積累狀況,并迅速做出恰當(dāng)?shù)姆磻?yīng)。知識與載體分離體現(xiàn)的是,在組織中人力資本與組織資本是有區(qū)別的,簡單地說,人力資本屬于員工個人,企業(yè)只可租借使用;而組織資本是8小時以外員工帶不回家的企業(yè)資產(chǎn),它為公司所有。對企業(yè)來說,相比于人力資本,組織資本更為重要。一個管理者()必須知道如何容納和積累知識,使之為公司所有。