關(guān)于軟件管理,歷來(lái)是仁者見仁、智者見智,但軟件項(xiàng)目復(fù)雜而又難于管理應(yīng)該是公認(rèn)的。
為此,早在1968年秋季,NATO(北約)的科技委員會(huì)召集了近50名一流的編程人員、計(jì)算機(jī)科學(xué)家和工業(yè)界巨頭,討論和制定擺脫“軟件危機(jī)”的對(duì)策。在那次會(huì)議上第一次提出了軟件工程(software engineering)這個(gè)概念。
軟件工程是一門研究如何用系統(tǒng)化、規(guī)范化、數(shù)量化等工程原則和方法去進(jìn)行軟件的開發(fā)和維護(hù)的學(xué)科。
軟件工程包括兩方面內(nèi)容:軟件開發(fā)技術(shù)和軟件項(xiàng)目管理。
軟件開發(fā)技術(shù)包括軟件開發(fā)方法學(xué)、軟件工具和軟件工程環(huán)境。
軟件項(xiàng)目管理包括軟件度量、項(xiàng)目估算、進(jìn)度控制、人員組織、配置管理、項(xiàng)目計(jì)劃等。
統(tǒng)計(jì)數(shù)據(jù)表明,大多數(shù)軟件開發(fā)項(xiàng)目的失敗,并不是由于軟件開發(fā)技術(shù)方面的原因。它們的失敗是由于不適當(dāng)?shù)墓芾碓斐傻摹?br />
隨著人們對(duì)軟件項(xiàng)目管理重要性的認(rèn)識(shí)有所提高,在軟件項(xiàng)目管理方面總結(jié)出很多經(jīng)驗(yàn)和行之有效的方法。
人們發(fā)現(xiàn),軟件項(xiàng)目管理的本質(zhì)就是對(duì)時(shí)間、質(zhì)量和成本的管理。通過項(xiàng)目管理,我們可在同樣的時(shí)間內(nèi),花更少的錢,開發(fā)出更優(yōu)秀的軟件產(chǎn)品。這不是特例,越來(lái)越多成功的公司和越來(lái)越多成功的產(chǎn)品一次又一次證明了實(shí)施軟件項(xiàng)目管理的有效性。
按PMI的定義:“Project management is the applications of knowledge, skills,tools,techniques to project activities in order to meet or exceed stakeholderneeds and expectations from the project. ”。項(xiàng)目管理就是“在項(xiàng)目活動(dòng)中運(yùn)用一系列的知識(shí)、技能、工具和技術(shù),以滿足或超過相關(guān)利益者對(duì)項(xiàng)目的要求”。
對(duì)于以項(xiàng)目為基本運(yùn)作單位的IT服務(wù)公司來(lái)說,主要目標(biāo)是讓每個(gè)項(xiàng)目都能使客戶滿意和公司獲利,成熟有效的項(xiàng)目管理無(wú)疑將起著重要的作用。因此,項(xiàng)目管理的水平已經(jīng)是公認(rèn)的IT服務(wù)公司核心競(jìng)爭(zhēng)力之一。
為了有效提高項(xiàng)目管理的水平,要涉及到相當(dāng)多的領(lǐng)域,在這里,只著重分析時(shí)間管理、質(zhì)量管理和成本管理。
時(shí)間(Time)。項(xiàng)目時(shí)間相關(guān)的因素用進(jìn)度計(jì)劃描述,進(jìn)度計(jì)劃不僅說明了完成項(xiàng)目工作范圍內(nèi)所有工作需要的時(shí)間,也規(guī)定了每個(gè)活動(dòng)的具體開始和完成日期。項(xiàng)目中的活動(dòng)根據(jù)工作范圍確定,在確定活動(dòng)的開始和結(jié)束時(shí)間時(shí)還要考慮它們之間的依賴關(guān)系。
質(zhì)量(Quality)。是指項(xiàng)目滿足明確或隱含需求的程度。一般通過定義工作范圍中的交付物標(biāo)準(zhǔn)來(lái)明確定義,這些標(biāo)準(zhǔn)包括各種特性及這些特性需要滿足的要求,因此交付物在項(xiàng)目管理中有重要的地位。另外,有時(shí)還可能對(duì)項(xiàng)目的過程有明確要求,比如規(guī)定過程應(yīng)該遵循的規(guī)范和標(biāo)準(zhǔn),并要求提供這些過程得以有效執(zhí)行的證據(jù)。
成本(Cost)。指完成項(xiàng)目需要的所有款項(xiàng),包括人力成本、原材料、設(shè)備租金、分包費(fèi)用和咨詢費(fèi)用等。項(xiàng)目的總成本以預(yù)算為基礎(chǔ),項(xiàng)目結(jié)束時(shí)的最終成本應(yīng)控制在預(yù)算內(nèi)。特別值得注意的是,在IT項(xiàng)目中人力成本比例很大,而工作量又難以估計(jì),因而制定預(yù)算難度很大。
時(shí)間、質(zhì)量、成本這三個(gè)要素簡(jiǎn)稱TQC。在實(shí)際工作中,時(shí)間由進(jìn)度計(jì)劃規(guī)定,成本通過預(yù)算規(guī)定,而如何確保質(zhì)量在質(zhì)量保證計(jì)劃中規(guī)定。這幾份文件是一個(gè)項(xiàng)目立項(xiàng)的基本條件。TQC確定了,項(xiàng)目的順利完成就有保障了。如果項(xiàng)目在TQC的約束內(nèi)順利結(jié)束,就可以說項(xiàng)目成功了。
說起來(lái)容易,做起來(lái)難,表面上看這三要素是相輔相成、互相配合的,但大多數(shù)情況下,三要素是魚與熊掌不可兼得的,特別是有重大的變更發(fā)生時(shí),你要么是保證質(zhì)量、延長(zhǎng)工期、增加成本,要么是保證工期和成本而在質(zhì)量上作出讓步。
但有一點(diǎn)是肯定的,隨著項(xiàng)目管理的水平不斷提高,項(xiàng)目的進(jìn)度會(huì)越來(lái)越精確,項(xiàng)目的質(zhì)量會(huì)越來(lái)越有保障,而項(xiàng)目的成本更會(huì)呈不斷下降的趨勢(shì)。
首先為了保證按期完成,我們要制定項(xiàng)目的計(jì)劃,它應(yīng)該來(lái)自啟動(dòng)項(xiàng)目的基本文件。
項(xiàng)目章程經(jīng)常提到計(jì)劃的項(xiàng)目開始與結(jié)束日期,它們是更詳細(xì)的進(jìn)度計(jì)劃的起點(diǎn)。項(xiàng)目經(jīng)理將從項(xiàng)目章程開始,制定詳細(xì)的范圍說明書和WBS。項(xiàng)目章程也應(yīng)該包括一些關(guān)于多少資金將被分配到項(xiàng)目上的估計(jì)。
有了這項(xiàng)信息,項(xiàng)目經(jīng)理及其團(tuán)隊(duì)就可以使用范圍說明書、WBS和預(yù)算信息、開始制定更加詳細(xì)的項(xiàng)目進(jìn)度計(jì)劃并估計(jì)完成日期。如果估計(jì)的完成日期與高層管理者或客戶的原始計(jì)劃差別很大,項(xiàng)目經(jīng)理為了達(dá)到預(yù)期的進(jìn)度計(jì)劃,必須就范圍或成本方面的變更進(jìn)行談判。
如果我們能對(duì)所做過項(xiàng)目的相關(guān)數(shù)據(jù)有很好的保留,并有專項(xiàng)的統(tǒng)計(jì)和分析,那么我們?cè)谧鲱愃频捻?xiàng)目時(shí),我們將能更快更精確地制定出項(xiàng)目的進(jìn)度計(jì)劃,而且如果這個(gè)過程能夠持續(xù)下去,我們將能夠得到不斷的修正和自我完善。
正常情況下,我們?cè)谥贫ㄓ?jì)劃時(shí)就已經(jīng)考慮到了成本的問題,如果我們能順利完成計(jì)劃,項(xiàng)目的成本將不會(huì)超出預(yù)算。
下一個(gè)重要的問題就是我們?nèi)绾伪WC項(xiàng)目的質(zhì)量。
我們知道,軟件產(chǎn)品的質(zhì)量取決于它開發(fā)過程的質(zhì)量。只要我們將開發(fā)中的各個(gè)過程的質(zhì)量加以控制,我們就可以保證軟件產(chǎn)品的質(zhì)量。關(guān)于過程的持續(xù)改進(jìn),無(wú)論CMM還是ISO都有詳細(xì)的定義和很好的解決辦法。
關(guān)于項(xiàng)目管理的領(lǐng)域涉及很多,以上只就時(shí)間、質(zhì)量和成本(TQC)進(jìn)行了簡(jiǎn)要地闡述,主要因?yàn)檫@三個(gè)因素?zé)o論是客戶還是開發(fā)商都很關(guān)心,而且相對(duì)來(lái)說管理這三個(gè)因素的成功案例和有效方法較多,見效也比較明顯,本著循序漸進(jìn),持續(xù)改進(jìn)的原則,我們可以不斷在項(xiàng)目的開發(fā)過程中逐步實(shí)踐、完善和擴(kuò)展。