軟件項(xiàng)目管理的成功原則
1 平衡原則
在我們討論軟件項(xiàng)目為什么會(huì)失敗時(shí)可以列出了很多的原因,答案有很多,如管理問題、技術(shù)問題、人員問題等等,但是有一個(gè)根本的思想問題是最容易忽視的,也是軟件系統(tǒng)的用戶、軟件開發(fā)商、銷售代理商最不想正視的,那就是:需求、資源、工期、質(zhì)量四個(gè)要素之間的平衡關(guān)系問題。
需求定義了"做什么",定義了系統(tǒng)的范圍與規(guī)模,資源決定了項(xiàng)目的投入(人、財(cái)、物),工期定義了項(xiàng)目的交付日期,質(zhì)量定義了做出的系統(tǒng)好到什么程度,這四個(gè)要素之間是有制約平衡關(guān)系的。如果需求范圍很大,要在較少的資源投入下,很短的工期內(nèi),很高的質(zhì)量要求來完成某個(gè)項(xiàng)目,那是不現(xiàn)實(shí)的,要么需要增加投資,要么工程延期;如果需求界定清楚了,資源固定了,對(duì)系統(tǒng)的質(zhì)量要求很高,則可能需求延長工期。
對(duì)于上述四個(gè)要素之間的平衡關(guān)系最容易犯的一個(gè)錯(cuò)誤,就是鼓吹"多快好省"四個(gè)字,"多快好省",多么理想的境界啊?需求越多越好,工期越短越好,質(zhì)量越高越好,投入越少越好,這是用戶最常用的口號(hào)。
多:需求越多越好嗎?
軟件系統(tǒng)實(shí)施的基本原則是"全局規(guī)劃,分步實(shí)施,步步見效",需求可以多,但是需求一定要分優(yōu)先級(jí),要分清企業(yè)內(nèi)的主要矛盾與次要矛盾,根據(jù)PARETO的80-20原則,企業(yè)中的80%的問題可以用20%的投資來解決,如果你要大而全,對(duì)不起,你那20%的次要問題是需要你花費(fèi)80%的投資的!而這一點(diǎn)恰恰是很多軟件用戶所不能忍受的。
快:真能快起來嗎?
"快"是用戶、軟件開發(fā)商都希望的。傳統(tǒng)企業(yè)里強(qiáng)調(diào)資金的周轉(zhuǎn)情況,軟件企業(yè)里強(qiáng)調(diào)的是人員的周轉(zhuǎn)情況,開發(fā)人員應(yīng)盡快做完一個(gè)項(xiàng)目再做另外一個(gè)項(xiàng)目,通過快速的啟動(dòng)項(xiàng)目、結(jié)束項(xiàng)目來承擔(dān)更多的項(xiàng)目,來獲利。但是"快"不是主觀的拍腦袋定工期就可以完成的,工期的定義一定要基于資源的狀況、需求的多少與質(zhì)量的需求來進(jìn)行推算的。軟件畢竟需要一行代碼一行代碼的寫出來,他的工作量是客觀的,并非?quot;人有多大膽,地有多大產(chǎn)"式的精神鼓動(dòng)就可以短期完成的。
好:什么是好軟件?
軟件系統(tǒng)的"好"字是最難定義、最難度量的。"讓用戶滿意"是最高目標(biāo),你可以做到,但是資金的投入與時(shí)間的投入用戶能否承擔(dān)的起呢?在硬件生產(chǎn)企業(yè)中,產(chǎn)品的需求是明確的,是有形的,質(zhì)量目標(biāo)是明確的,是可以分解到各個(gè)作業(yè)環(huán)節(jié)中去的,而軟件生產(chǎn)不具備此特征。在硬件生產(chǎn)中,生產(chǎn)能力是基本穩(wěn)定的,對(duì)人員的依賴性較小,質(zhì)量的要求對(duì)進(jìn)度的影響并不是差別很大,而在軟件生產(chǎn)中質(zhì)量的一點(diǎn)提高或降低可能會(huì)對(duì)工期、投入產(chǎn)生巨大的影響,盡管用戶沒有明確定義出質(zhì)量要求,所以軟件生產(chǎn)是質(zhì)量敏感型的生產(chǎn)。
?。菏〉绞裁闯潭??
"一分錢一分貨",這是中國的俗話,他是符合價(jià)值規(guī)律的。甲方希望少投入,乙方希望降低自己的生產(chǎn)成本,省到乙方僅能保本的時(shí)候,再省,乙方就虧損了。
正視這四個(gè)要素之間的平衡關(guān)系是軟件用戶、開發(fā)商、代理商成熟理智的表現(xiàn),否則系統(tǒng)的成功就失去了一塊最堅(jiān)實(shí)的理念基礎(chǔ)。
企業(yè)實(shí)施IT系統(tǒng)的首要目標(biāo)是要成功,而不是失敗,企業(yè)可以容忍小的成功,但不一定容忍小的失敗,所以需要真正理解上述四個(gè)要素的平衡關(guān)系,確保項(xiàng)目的成功。
2 高效原則
在需求、資源、工期、質(zhì)量四個(gè)要素中,很多的項(xiàng)目決策者是將進(jìn)度放在首位的,現(xiàn)在市場的競爭越來越激烈, "產(chǎn)品早上市一天,就早掙一天錢,掙的就比花的多,所以一定要多掙" ,基于這樣一個(gè)理念,軟件開發(fā)越來越追求開發(fā)效率,大家從技術(shù)、工具、管理上尋求更多更好的解決之道。
基于高效的原則,對(duì)項(xiàng)目的管理需要從幾個(gè)方面來考慮:
要選擇精英成員
目標(biāo)要明確,范圍要清楚
溝通要及時(shí)、充分
要在激勵(lì)成員上下工夫
3 分解原則
"化繁為簡,各個(gè)擊破"是自古以來解決復(fù)雜問題的不二法門,對(duì)于軟件項(xiàng)目來講,可以將將大的項(xiàng)目劃分成幾個(gè)小項(xiàng)目來做,將周期長的項(xiàng)目化分成幾個(gè)明確的階段。
項(xiàng)目越大對(duì)項(xiàng)目組的管理人員、開發(fā)人員的要求越高,參與的人員越多,需要協(xié)調(diào)溝通的渠道越多,周期越長,開發(fā)人員也容易疲勞,將大項(xiàng)目拆分成幾個(gè)小項(xiàng)目,可以降低對(duì)項(xiàng)目管理人員的要求,減少項(xiàng)目的管理風(fēng)險(xiǎn),而且能夠充分地將項(xiàng)目管理的權(quán)力下放,充分調(diào)動(dòng)人員的積極性,目標(biāo)會(huì)比較具體明確,易于取得階段性的成果,使開發(fā)人員有成就感。
作者主管過的一個(gè)產(chǎn)品開發(fā)項(xiàng)目代號(hào)為SB,該項(xiàng)目前期投入了5人做需求,時(shí)間達(dá)3個(gè)多月,進(jìn)入開發(fā)階段后,投入了15人,時(shí)間達(dá)10個(gè)月之久,陸續(xù)進(jìn)行了3次封閉開發(fā),在此過程中經(jīng)歷了需求的裁剪、開發(fā)人員的變更、技術(shù)路線的調(diào)整,項(xiàng)目組成員的壓力極大,大家疲憊不堪,產(chǎn)品上市時(shí)間拖期達(dá)4個(gè)月。項(xiàng)目完工后總結(jié)下來的很致命的一個(gè)教訓(xùn)就是應(yīng)該將該項(xiàng)目拆成3個(gè)小的項(xiàng)目來做,進(jìn)行階段性版本化發(fā)布,以緩解市場上的壓力,減少項(xiàng)目組成員的挫折感,提高大家的士氣。
4 實(shí)時(shí)控制原則
在一家大型的軟件公司中,有一位很有個(gè)性的項(xiàng)目經(jīng)理,該項(xiàng)目經(jīng)理很少談起什么管理理論,也未見其有什么明顯的管理措施,但是他連續(xù)做成多個(gè)規(guī)模很大的軟件項(xiàng)目,而且應(yīng)用效果很好。作者一直很奇怪他為什么能做的如此成功,經(jīng)過仔細(xì)觀察,終于發(fā)現(xiàn)他的管理可以用"緊盯"2字來概括,即每天他都要仔細(xì)檢查項(xiàng)目組每個(gè)成員的工作,從軟件演示到內(nèi)部的處理邏輯、數(shù)據(jù)結(jié)構(gòu)等,一絲不茍,如果有問題,改不完是不能去休息的。正是在他這種簡單的措施下,支撐他完成了很多大的項(xiàng)目,當(dāng)然他也是相當(dāng)?shù)男量?,通常都是在凌晨才去休息。我們并非要推崇這種做法,這種措施也有他的問題,但是,這種實(shí)踐卻說明了一個(gè)很樸實(shí)的道理:如果你沒有更好的辦法,就要辛苦一點(diǎn),實(shí)時(shí)控制項(xiàng)目的進(jìn)展,要將項(xiàng)目的進(jìn)展情況完全的實(shí)時(shí)的置于你的控制之下。
上述的方法中對(duì)項(xiàng)目經(jīng)理的個(gè)人能力、犧牲精神要求是很高,我們需要有一種進(jìn)行實(shí)時(shí)控制項(xiàng)目進(jìn)度的機(jī)制,依靠一套規(guī)范的過程來保證實(shí)時(shí)監(jiān)控項(xiàng)目的進(jìn)度。如在微軟的管理策略中強(qiáng)每日構(gòu)建",這確實(shí)是是一種不錯(cuò)的方法,即每天要進(jìn)行一次系統(tǒng)的編譯鏈接,通過編譯鏈接來檢查進(jìn)度、檢查接口、發(fā)現(xiàn)進(jìn)展中的問題、大家互相鼓勵(lì)互相監(jiān)督。
實(shí)時(shí)控制確保項(xiàng)目經(jīng)理能夠及時(shí)發(fā)現(xiàn)問題、解決問題,保證項(xiàng)目具有很高的可見度,保證項(xiàng)目的正常進(jìn)展。
5 分類管理原則
對(duì)于不同的軟件項(xiàng)目其項(xiàng)目目標(biāo)差別很大,項(xiàng)目規(guī)模也是不同的,應(yīng)用領(lǐng)域是不同的,采用的技術(shù)路線差別也很大,因而,針對(duì)每個(gè)項(xiàng)目的不同特點(diǎn),其管理的方法、牢管理的側(cè)重點(diǎn)應(yīng)該是不同的。就像古人講的,"因材施教","對(duì)癥下藥"。對(duì)于小項(xiàng)目你肯定不能象管理大項(xiàng)目那樣去做,對(duì)于產(chǎn)品開發(fā)類的項(xiàng)目,你也不可能象管理系統(tǒng)集成類的項(xiàng)目那樣去做,項(xiàng)目經(jīng)理需要根據(jù)項(xiàng)目的特點(diǎn),制訂不同的項(xiàng)目管理的方針政策。如,下表是作者為一家應(yīng)用軟件公司制訂的項(xiàng)目管理的方針:
在該案例中,將項(xiàng)目分成了訂單類項(xiàng)目與非訂單類項(xiàng)目,非訂單類項(xiàng)目是指由公司根據(jù)市場的需求開發(fā)一個(gè)標(biāo)準(zhǔn)產(chǎn)品的項(xiàng)目,而訂單類是指針對(duì)某個(gè)具體的客戶定制軟件的項(xiàng)目,訂單類的項(xiàng)目根據(jù)需要協(xié)調(diào)的資源的范圍有劃分成了公司級(jí)、部門級(jí)、個(gè)人級(jí)三類,非訂單類根據(jù)估算的工作量的大小也分成了A、B、C三類,估算的工作量超過720人天的為A類,超過360人天的為B類,360人天以下的為C類。不同類的項(xiàng)目管理的側(cè)重點(diǎn)是不同的,從立項(xiàng)手續(xù)的完備性、計(jì)劃的嚴(yán)格層度、周報(bào)的完備層度、規(guī)范的嚴(yán)格層度、跟蹤的實(shí)時(shí)性、是否進(jìn)行階段總結(jié)、是否核算項(xiàng)目成本、是否嚴(yán)格進(jìn)行階段評(píng)審等多個(gè)方面來考慮,以確保管理的可行性。
6 簡單有效原則
項(xiàng)目經(jīng)理在進(jìn)行項(xiàng)目管理的過程中,往往會(huì)得到開發(fā)人員這樣的抱怨"太麻煩了,浪費(fèi)時(shí)間,沒有用處",這是很普遍的一種現(xiàn)象。當(dāng)然這樣的抱怨要從2個(gè)方面來分析,一方面從開發(fā)人員本身可能存在不理解,或者逆反心理的情況,另一方面,項(xiàng)目經(jīng)理也要反思:我所采取的管理措施是否簡單有效?搞管理不是搞學(xué)術(shù)研究,沒有完美的管理,只有有效的管理,而項(xiàng)目經(jīng)理往往試圖堵住所有的漏洞,解決所有的問題,恰恰是這種理想,會(huì)使項(xiàng)目的管理陷入一個(gè)誤區(qū),作繭自縛,最后無法實(shí)施有效的管理,導(dǎo)致項(xiàng)目的失敗。
7 規(guī)??刂圃瓌t
該原則是和上面提到的其他原則相配合使用的,即要控制項(xiàng)目組的規(guī)模,不要人數(shù)太多,人數(shù)多了,進(jìn)行溝通的渠道就多了,管理的復(fù)雜度就高了,對(duì)項(xiàng)目經(jīng)理的要求也就高了。在微軟的MSF中,有一個(gè)很明確的原則就是要控制項(xiàng)目組的人數(shù)不要超過10人,當(dāng)然這不是絕對(duì)的,也和項(xiàng)目經(jīng)理的水平有很大關(guān)系。但是人員"貴精而不貴多",這是一個(gè)基本的原則,這和我們上面提到的高效原則、分解原則是相輔相成的。
【?發(fā)表評(píng)論?0條?】