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