軟件項(xiàng)目管理
目錄
1.軟件項(xiàng)目管理的概述
所謂軟件項(xiàng)目管理就是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對人員(People)、產(chǎn)品(Product)、過程(Process)和項(xiàng)目(Project)進(jìn)行分析和管理的活動。軟件項(xiàng)目管理先于任何技術(shù)活動之前開始,并且貫穿于軟件的整個(gè)生命周期。
軟件項(xiàng)目管理的根本目的是為了讓軟件項(xiàng)目尤其是大型項(xiàng)目的整個(gè)軟件生命周期(從分析、設(shè)計(jì)、編碼到測試、維護(hù)全過程)都能在管理者的控制之下,以預(yù)定成本按期,按質(zhì)的完成軟件交付用戶使用。而研究軟件項(xiàng)目管理為了從已有的成功或失敗的案例中總結(jié)出能夠指導(dǎo)今后開發(fā)的通用原則,方法,同時(shí)避免前人的失誤。
軟件項(xiàng)目管理的提出是在20世紀(jì)70年代中期的美國,當(dāng)時(shí)美國國防部專門研究了軟件開發(fā)不能按時(shí)提交,預(yù)算超支和質(zhì)量達(dá)不到用戶要求的原因,結(jié)果發(fā)現(xiàn)70%的項(xiàng)目是因?yàn)楣芾聿簧埔鸬?,而非技術(shù)原因。于是軟件開發(fā)者開始逐漸重視起軟件開發(fā)中的各項(xiàng)管理。到了20世紀(jì)90年代中期,軟件研發(fā)項(xiàng)目管理不善的問題仍然存在。據(jù)美國軟件工程實(shí)施現(xiàn)狀的調(diào)查,軟件研發(fā)的情況仍然很難預(yù)測,大約只有10%的項(xiàng)目能夠在預(yù)定的費(fèi)用和進(jìn)度下交付。
1995年,據(jù)統(tǒng)計(jì),美國共取消了810億美元的商業(yè)軟件項(xiàng)目,其中31%的項(xiàng)目未做完就被取消,53%的軟件項(xiàng)目進(jìn)度通常要延長50%的時(shí)間,只有9%的軟件項(xiàng)目能夠及時(shí)交付并且費(fèi)用也控制在預(yù)算之內(nèi)。
2.軟件項(xiàng)目的計(jì)劃
軟件項(xiàng)目計(jì)劃是一個(gè)軟件項(xiàng)目進(jìn)入系統(tǒng)實(shí)施的啟動階段,主要進(jìn)行的工作包括:確定詳細(xì)的項(xiàng)目實(shí)施范圍、定義遞交的工作成果、評估實(shí)施過程中主要的風(fēng)險(xiǎn)、制定項(xiàng)目實(shí)施的時(shí)間計(jì)劃、成本和預(yù)算計(jì)劃、人力資源計(jì)劃等。
軟件項(xiàng)目管理過程從項(xiàng)目計(jì)劃活動開始,而第一項(xiàng)計(jì)劃活動就是估算:需要多長時(shí)間、需要多少工作量、以及需要多少人員。此外,我們還必須估算所需要的資源(硬件及軟件)和可能涉及到的風(fēng)險(xiǎn)。
為了估算軟件項(xiàng)目的工作量和完成期限,首先需要預(yù)測軟件規(guī)模。度量軟件規(guī)模的常用方法有直接的方法——LOC(代碼行),間接的方法——FP(功能點(diǎn))。這兩種方法各有優(yōu)缺點(diǎn),應(yīng)該根據(jù)軟件項(xiàng)目的特點(diǎn)選擇適用的軟件規(guī)模度量方法。
根據(jù)項(xiàng)目的規(guī)??梢怨浪愠鐾瓿身?xiàng)目所需的工作量,我們可以使用一種或多種技術(shù)進(jìn)行估算,這些技術(shù)主要分為兩大類:分解和經(jīng)驗(yàn)建模。分解技術(shù)需要劃分出主要的軟件功能,接著估算實(shí)現(xiàn)每一個(gè)功能所需的程序規(guī)?;蛉嗽聰?shù)。經(jīng)驗(yàn)技術(shù)的使用是根據(jù)經(jīng)驗(yàn)導(dǎo)出的公式來預(yù)測工作量和時(shí)間??梢允褂米詣庸ぞ邅韺?shí)現(xiàn)某一特定的經(jīng)驗(yàn)?zāi)P汀?
精確的項(xiàng)目估算一般至少會用到上述技術(shù)中的兩種。通過比較和協(xié)調(diào)使用不同技術(shù)導(dǎo)出的估算值,我們可能得到更精確的估算。軟件項(xiàng)目估算永遠(yuǎn)不會是一門精確的科學(xué),但將良好的歷史數(shù)據(jù)與系統(tǒng)化的技術(shù)結(jié)合起來能夠提高估算的精確度。
當(dāng)對軟件項(xiàng)目給予較高期望時(shí),一般都會進(jìn)行風(fēng)險(xiǎn)分析。在標(biāo)識、分析和管理風(fēng)險(xiǎn)上花費(fèi)的時(shí)間和人力可以從多個(gè)方面得到回報(bào):更加平穩(wěn)的項(xiàng)目進(jìn)展過程;更高的跟蹤和控制項(xiàng)目的能力;由于在問題發(fā)生之前已經(jīng)做了周密計(jì)劃而產(chǎn)生的信心。
對于一個(gè)項(xiàng)目管理者,他的目標(biāo)是定義所有的項(xiàng)目任務(wù),識別出關(guān)鍵任務(wù),跟蹤關(guān)鍵任務(wù)的進(jìn)展情況,以保證能夠及時(shí)發(fā)現(xiàn)拖延進(jìn)度的情況。為此,項(xiàng)目管理者必須制定一個(gè)足夠詳細(xì)的進(jìn)度表,以便監(jiān)督項(xiàng)目進(jìn)度并控制整個(gè)項(xiàng)目。
常用的制定進(jìn)度計(jì)劃的工具主要有Gantt圖和工程網(wǎng)絡(luò)兩種。Gantt圖具有悠久歷史、直觀簡明、容易學(xué)習(xí)、容易繪制等優(yōu)點(diǎn),但是,它不能明顯地表示各項(xiàng)任務(wù)彼此間的依賴關(guān)系,也不能明顯地表示關(guān)鍵路徑和關(guān)鍵任務(wù),進(jìn)度計(jì)劃中的關(guān)鍵部分不明確。因此,在管理大型軟件項(xiàng)目時(shí),僅用Gantt圖是不夠的,不僅難于做出既節(jié)省資源又保證進(jìn)度的計(jì)劃,而且還容易發(fā)生差錯(cuò)。
工程網(wǎng)絡(luò)不僅能描繪任務(wù)分解情況及每項(xiàng)作業(yè)的開始時(shí)間和結(jié)束時(shí)間,而且還能清楚地表示各個(gè)作業(yè)彼此間的依賴關(guān)系。從工程網(wǎng)絡(luò)圖中容易識別出關(guān)鍵路徑和關(guān)鍵任務(wù)。因此,工程網(wǎng)絡(luò)圖是制定進(jìn)度計(jì)劃的強(qiáng)有力的工具。通常,聯(lián)合使用Gantt圖和工程網(wǎng)絡(luò)這兩種工具來制定和管理進(jìn)度計(jì)劃,使它們互相補(bǔ)充、取長補(bǔ)短。
進(jìn)度安排是軟件項(xiàng)目計(jì)劃的首要任務(wù),而項(xiàng)目計(jì)劃則是軟件項(xiàng)目管理的首要組成部分。與估算方法和風(fēng)險(xiǎn)分析相結(jié)合,進(jìn)度安排將為項(xiàng)目管理者建立起一張計(jì)劃圖。
3.軟件項(xiàng)目的控制
對于軟件開發(fā)項(xiàng)目而言,控制是十分重要的管理活動。下面介紹軟件工程控制活動中的質(zhì)量保證和配置管理。其實(shí)上面所提到的風(fēng)險(xiǎn)分析也可以算是軟件工程控制活動的一類。而進(jìn)度跟蹤則起到連接軟件項(xiàng)目計(jì)劃和控制的作用。
軟件質(zhì)量保證(SQA,Software Quality Insurance)是在軟件過程中的每一步都進(jìn)行的“保護(hù)性活動”。SQA主要有基于非執(zhí)行的測試(也稱為評審)、基于執(zhí)行的測試(即通常所說的測試)和程序正確性證明。
軟件評審是最為重要的SQA活動之一。它的作用是,在發(fā)現(xiàn)及改正錯(cuò)誤的成本相對較小時(shí)就及時(shí)發(fā)現(xiàn)并排除錯(cuò)誤。審查和走查是進(jìn)行正式技術(shù)評審的兩類具體方法。審查過程不僅步數(shù)比走審多,而且每個(gè)步驟都是正規(guī)的。由于在開發(fā)大型軟件過程中所犯的錯(cuò)誤絕大數(shù)是規(guī)格說明錯(cuò)誤或設(shè)計(jì)錯(cuò)誤,而正式的技術(shù)評審發(fā)現(xiàn)這兩類錯(cuò)誤的有效性高達(dá)75%,因此是非常有效的軟件質(zhì)量保證方法。
軟件配置管理(SCM,Software configuration management)是應(yīng)用于整個(gè)軟件過程中的保護(hù)性活動,它是在軟件整個(gè)生命周期內(nèi)管理變化的一組活動。
軟件配置由一組相互關(guān)聯(lián)的對象組成,這些對象也稱為軟件配置項(xiàng),它們是作為某些軟件工程活動的結(jié)果而產(chǎn)生的。除了文檔、程序和數(shù)據(jù)這些軟件配置項(xiàng)之外,用于開發(fā)軟件的開發(fā)環(huán)境也可置于配置控制之下。一旦一個(gè)配置對象已被開發(fā)出來并且通過了評審,它就變成了基線。對基線對象的修改導(dǎo)致建立該對象的版本。版本控制是用于管理這些對象而使用的一組規(guī)程和工具。
變更控制是一種規(guī)程活動,它能夠在對配置對象進(jìn)行修改時(shí)保證質(zhì)量和一致性。配置審計(jì)是一項(xiàng)軟件質(zhì)量保證活動,它有助于確保在進(jìn)行修改時(shí)仍然保持質(zhì)量。狀態(tài)報(bào)告向需要知道關(guān)于變化的信息的人,提供有關(guān)每項(xiàng)變化的信息。
4.軟件項(xiàng)目管理的特性
軟件項(xiàng)目管理和其他的項(xiàng)目管理相比有相當(dāng)?shù)奶厥庑浴J紫?,軟件是純知識產(chǎn)品,其開發(fā)進(jìn)度和質(zhì)量很難估計(jì)和度量,生產(chǎn)效率也難以預(yù)測和保證。其次,軟件系統(tǒng)的復(fù)雜性也導(dǎo)致了開發(fā)過程中各種風(fēng)險(xiǎn)的難以預(yù)見和控制。Windows這樣的操作系統(tǒng)有1500萬行以上的代碼,同時(shí)有數(shù)千個(gè)程序員在進(jìn)行開發(fā),項(xiàng)目經(jīng)理都有上百個(gè)。這樣龐大的系統(tǒng)如果沒有很好的管理,其軟件質(zhì)量是難以想象的。
5.軟件項(xiàng)目管理的組織模式
軟件項(xiàng)目可以是一個(gè)單獨(dú)的開發(fā)項(xiàng)目,也可以與產(chǎn)品項(xiàng)目組成一個(gè)完整的軟件產(chǎn)品項(xiàng)目。如果是訂單開發(fā),則成立軟件項(xiàng)目組即可;如果是產(chǎn)品開發(fā),需成立軟件項(xiàng)目組和產(chǎn)品項(xiàng)目(負(fù)責(zé)市場調(diào)研和銷售),組成軟件產(chǎn)品項(xiàng)目組。公司實(shí)行項(xiàng)目管理時(shí),首先要成立項(xiàng)目管理委員會,項(xiàng)目管理委員會下設(shè)項(xiàng)目管理小組、項(xiàng)目評審小組和軟件產(chǎn)品項(xiàng)目組。
1、項(xiàng)目管理委員會項(xiàng)目管理委員會是公司項(xiàng)目管理的最高決策機(jī)構(gòu),一般由公司總經(jīng)理、副總經(jīng)理組成。主要職責(zé)如下:
(1)依照項(xiàng)目管理相關(guān)制度管理項(xiàng)目;
(2)監(jiān)督項(xiàng)目管理相關(guān)制度的執(zhí)行;
(3)對項(xiàng)目立項(xiàng)、項(xiàng)目撤消進(jìn)行決策;
(4)任命項(xiàng)目管理小組組長、項(xiàng)目評審委員會主任、項(xiàng)目組組長.
2、項(xiàng)目管理小組項(xiàng)目管理小組對項(xiàng)目管理委員會負(fù)責(zé),一般由公司管理人員組成。主要職責(zé)如下:
(1)草擬項(xiàng)目管理的各項(xiàng)制度;
(2)組織項(xiàng)目階段評審;
(3)保存項(xiàng)目過程中的相關(guān)文件和數(shù)據(jù);
(4)為優(yōu)化項(xiàng)目管理提出建議。
3、項(xiàng)目評審小組項(xiàng)目評審小組對項(xiàng)目管理委員會負(fù)責(zé),可下設(shè)開發(fā)評審小組和產(chǎn)品評審小組,一般由公司技術(shù)專家和市場專家組成。主要職責(zé)如下:
(1)對項(xiàng)目可行性報(bào)告進(jìn)行評審;
(2)對市場計(jì)劃和階段報(bào)告進(jìn)行評審;
(3)對開發(fā)計(jì)劃和階段報(bào)告進(jìn)行評審;
(4)項(xiàng)目結(jié)束時(shí),對項(xiàng)目總結(jié)報(bào)告進(jìn)行評審。
4、軟件產(chǎn)品項(xiàng)目組軟件產(chǎn)品項(xiàng)目組對項(xiàng)目管理委員會負(fù)責(zé),可下設(shè)軟件項(xiàng)目組和產(chǎn)品項(xiàng)目組。軟件項(xiàng)目組和產(chǎn)品項(xiàng)目組分別設(shè)開發(fā)經(jīng)理和產(chǎn)品經(jīng)理。成員一般由公司技術(shù)人員和市場人員構(gòu)成。主要職責(zé)是:根據(jù)項(xiàng)目管理委員會的安排具體負(fù)責(zé)項(xiàng)目的軟件開發(fā)和市場調(diào)研及銷售工作。
6.軟件項(xiàng)目管理的內(nèi)容
軟件項(xiàng)目管理的內(nèi)容主要包括如下幾個(gè)方面:人員的組織與管理,軟件度量,軟件項(xiàng)目計(jì)劃,風(fēng)險(xiǎn)管理,軟件質(zhì)量保證,軟件過程能力評估,軟件配置管理等。
這幾個(gè)方面都是貫穿、交織于整個(gè)軟件開發(fā)過程中的,其中人員的組織與管理把注意力集中在項(xiàng)目組人員的構(gòu)成、優(yōu)化;軟件度量把關(guān)注用量化的方法評測軟件開發(fā)中的費(fèi)用、生產(chǎn)率、進(jìn)度和產(chǎn)品質(zhì)量等要素是否符合期望值,包括過程度量和產(chǎn)品度量兩個(gè)方面;軟件項(xiàng)目計(jì)劃主要包括工作量、成本、開發(fā)時(shí)間的估計(jì),并根據(jù)估計(jì)值制定和調(diào)整項(xiàng)目組的工作;風(fēng)險(xiǎn)管理預(yù)測未來可能出現(xiàn)的各種危害到軟件產(chǎn)品質(zhì)量的潛在因素并由此采取措施進(jìn)行預(yù)防;質(zhì)量保證是保證產(chǎn)品和服務(wù)充分滿足消費(fèi)者要求的質(zhì)量而進(jìn)行的有計(jì)劃,有組織的活動;軟件過程能力評估是對軟件開發(fā)能力的高低進(jìn)行衡量;軟件配置管理針對開發(fā)過程中人員、工具的配置、使用提出管理策略。因?yàn)榇蠹覍?a href="/wiki/%E4%BA%BA%E5%8A%9B%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86" title="人力資源管理">人力資源管理和軟件過程能力比較有興趣,下面就詳細(xì)的對這兩方面展開討論。
從軟件工程的角度講,軟件開發(fā)主要分為六個(gè)階段:需求分析階段、概要設(shè)計(jì)階段、詳細(xì)設(shè)計(jì)階段、編碼階段、測試階段、安裝及維護(hù)階段。不論是作坊式開發(fā),還是團(tuán)隊(duì)協(xié)作開發(fā),這六個(gè)階段都是不可缺少的。根據(jù)公司實(shí)際情況,公司在進(jìn)行軟件項(xiàng)目管理時(shí),重點(diǎn)將軟件配置管理、項(xiàng)目跟蹤和控制管理、軟件風(fēng)險(xiǎn)管理及項(xiàng)目策劃活動管理四方面內(nèi)容導(dǎo)入軟件開發(fā)的整個(gè)階段。在20世紀(jì)80年代初,著名軟件工程專家B.W.Boehm總結(jié)出了軟件開發(fā)時(shí)需遵循的七條基本原則,同樣,在進(jìn)行軟件項(xiàng)目管理時(shí),也應(yīng)該遵循這七條原則。它們是:
- 用分階段的生命周期計(jì)劃嚴(yán)格管理;
- 堅(jiān)持進(jìn)行階段評審;
- 實(shí)行嚴(yán)格的產(chǎn)品控制;
- 采用現(xiàn)代程序設(shè)計(jì)技術(shù);
- 結(jié)果應(yīng)能夠清楚地審查;
- 開發(fā)小組地人員應(yīng)該少而精;
- 承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。
7.軟件項(xiàng)目管理的成功原則
1、平衡原則
在我們討論軟件項(xiàng)目為什么會失敗時(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í)的,要么需要增加投資,要么工程延期;如果需求界定清楚了,資源固定了,對系統(tǒng)的質(zhì)量要求很高,則可能需求延長工期。
對于上述四個(gè)要素之間的平衡關(guān)系最容易犯的一個(gè)錯(cuò)誤,就是鼓吹“多快好省”四個(gè)字,“多快好省”,多么理想的境界???需求越多越好,工期越短越好,質(zhì)量越高越好,投入越少越好,這是用戶最常用的口號。
(1)多:需求越多越好嗎?
軟件系統(tǒng)實(shí)施的基本原則是“全局規(guī)劃,分步實(shí)施,步步見效”,需求可以多,但是需求一定要分優(yōu)先級,要分清企業(yè)內(nèi)的主要矛盾與次要矛盾,根據(jù)PARETO的80-20原則,企業(yè)中的80%的問題可以用20%的投資來解決,如果你要大而全,對不起,你那20%的次要問題是需要你花費(fèi)80%的投資的!而這一點(diǎn)恰恰是很多軟件用戶所不能忍受的。
(2)快:真能快起來嗎?
“快”是用戶、軟件開發(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)目,通過快速的啟動項(xiàng)目、結(jié)束項(xiàng)目來承擔(dān)更多的項(xiàng)目,來獲利。但是"快"不是主觀的拍腦袋定工期就可以完成的,工期的定義一定要基于資源的狀況、需求的多少與質(zhì)量的需求來進(jìn)行推算的。軟件畢竟需要一行代碼一行代碼的寫出來,他的工作量是客觀的,并非? quot;人有多大膽,地有多大產(chǎn)"式的精神鼓動就可以短期完成的。
(3)?。菏〉绞裁闯潭龋?
“一分錢一分貨”,這是中國的俗話,他是符合價(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ù)、工具、管理上尋求更多更好的解決之道。
基于高效的原則,對項(xiàng)目的管理需要從幾個(gè)方面來考慮:
- 要選擇精英成員
- 目標(biāo)要明確,范圍要清楚
- 溝通要及時(shí)、充分
- 要在激勵(lì)成員上下工夫
3、分解原則
“化繁為簡,各個(gè)擊破”是自古以來解決復(fù)雜問題的不二法門,對于軟件項(xiàng)目來講,可以將將大的項(xiàng)目劃分成幾個(gè)小項(xiàng)目來做,將周期長的項(xiàng)目化分成幾個(gè)明確的階段。
項(xiàng)目越大對項(xiàng)目組的管理人員、開發(fā)人員的要求越高,參與的人員越多,需要協(xié)調(diào)溝通的渠道越多,周期越長,開發(fā)人員也容易疲勞,將大項(xiàng)目拆分成幾個(gè)小項(xiàng)目,可以降低對項(xiàng)目管理人員的要求,減少項(xiàng)目的管理風(fēng)險(xiǎn),而且能夠充分地將項(xiàng)目管理的權(quán)力下放,充分調(diào)動人員的積極性,目標(biāo)會比較具體明確,易于取得階段性的成果,使開發(fā)人員有成就感。
作者主管過的一個(gè)產(chǎn)品開發(fā)項(xiàng)目代號為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ù)男量啵ǔ6际窃诹璩坎湃バ菹?。我們并非要推崇這種做法,這種措施也有他的問題,但是,這種實(shí)踐卻說明了一個(gè)很樸實(shí)的道理:如果你沒有更好的辦法,就要辛苦一點(diǎn),實(shí)時(shí)控制項(xiàng)目的進(jìn)展,要將項(xiàng)目的進(jìn)展情況完全的實(shí)時(shí)的置于你的控制之下。
上述的方法中對項(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)調(diào)每日構(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、分類管理原則
對于不同的軟件項(xiàng)目其項(xiàng)目目標(biāo)差別很大,項(xiàng)目規(guī)模也是不同的,應(yīng)用領(lǐng)域是不同的,采用的技術(shù)路線差別也很大,因而,針對每個(gè)項(xiàng)目的不同特點(diǎn),其管理的方法、管理的側(cè)重點(diǎn)應(yīng)該是不同的。就像古人講的,"因材施教","對癥下藥"。對于小項(xiàng)目你肯定不能象管理大項(xiàng)目那樣去做,對于產(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)目,而訂單類是指針對某個(gè)具體的客戶定制軟件的項(xiàng)目,訂單類的項(xiàng)目根據(jù)需要協(xié)調(diào)的資源的范圍有劃分成了公司級、部門級、個(gè)人級三類,非訂單類根據(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)行階段評審等多個(gè)方面來考慮,以確保管理的可行性。
6、簡單有效原則
項(xiàng)目經(jīng)理在進(jìn)行項(xiàng)目管理的過程中,往往會得到開發(fā)人員這樣的抱怨"太麻煩了,浪費(fèi)時(shí)間,沒有用處 ",這是很普遍的一種現(xiàn)象。當(dāng)然這樣的抱怨要從2個(gè)方面來分析,一方面從開發(fā)人員本身可能存在不理解,或者逆反心理的情況,另一方面,項(xiàng)目經(jīng)理也要反思:我所采取的管理措施是否簡單有效?搞管理不是搞學(xué)術(shù)研究,沒有完美的管理,只有有效的管理,而項(xiàng)目經(jīng)理往往試圖堵住所有的漏洞,解決所有的問題,恰恰是這種理想,會使項(xiàng)目的管理陷入一個(gè)誤區(qū),作繭自縛,最后無法實(shí)施有效的管理,導(dǎo)致項(xiàng)目的失敗。
7、規(guī)??刂圃瓌t
該原則是和上面提到的其他原則相配合使用的,即要控制項(xiàng)目組的規(guī)模,不要人數(shù)太多,人數(shù)多了,進(jìn)行溝通的渠道就多了,管理的復(fù)雜度就高了,對項(xiàng)目經(jīng)理的要求也就高了。在微軟的MSF中,有一個(gè)很明確的原則就是要控制項(xiàng)目組的人數(shù)不要超過10人,當(dāng)然這不是絕對的,也和項(xiàng)目經(jīng)理的水平有很大關(guān)系。但是人員"貴精而不貴多",這是一個(gè)基本的原則,這和我們上面提到的高效原則、分解原則是相輔相成的。