如今,隨著信息技術的飛速發(fā)展,軟件產(chǎn)品的規(guī)模也越來越龐大,個人單打獨斗的作坊式開發(fā)方式已經(jīng)越來越不適應發(fā)展的需要。各軟件企業(yè)都在積極將軟件項目管理引入開發(fā)活動中,對開發(fā)實行有效的管理。
以四川托普軟件公司為例,該公司是成都一家中型軟件企業(yè),在公司中已經(jīng)實行了項目管理制度,軟件項目管理是整個項目管理中的一個重要組成部分。從概念上講,軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質(zhì)量順利完成,而對成本、人員、進度、質(zhì)量、風險等進行分析和管理的活動。
實際上,軟件項目管理的意義不僅僅如此,進行軟件項目管理有利于將開發(fā)人員的個人開發(fā)能力轉化成企業(yè)的開發(fā)能力,企業(yè)的軟件開發(fā)能力越高,表明這個企業(yè)的軟件生產(chǎn)越趨向于成熟,企業(yè)越能夠穩(wěn)定發(fā)展(即減小開發(fā)風險)。軟件開發(fā)不同于其他產(chǎn)品的制造,軟件的整個過程都是設計過程(沒有制造過程);另外,軟件開發(fā)不需要使用大量的物質(zhì)資源,而主要是人力資源;并且,軟件開發(fā)的產(chǎn)品只是程序代碼和技術文件,并沒有其他的物質(zhì)結果。
基于上述特點,軟件項目管理與其他項目管理相比,有很大的特殊性。
1.什么是軟件項目管理
軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質(zhì)量順利完成,而對成本、人員、進度、質(zhì)量、風險等進行分析和管理的活動。
軟件項目管理的提出是在20世紀70年代中期的美國,當時美國國防部專門研究了軟件開發(fā)不能按時提交,預算超支和質(zhì)量達不到用戶要求的原因,結果發(fā)現(xiàn)70%的項目是因為管理不善引起的,而非技術原因。于是軟件開發(fā)者開始逐漸重視起軟件開發(fā)中的各項管理。到了20世紀90年代中期,軟件研發(fā)項目管理不善的問題仍然存在。據(jù)美國軟件工程實施現(xiàn)狀的調(diào)查,軟件研發(fā)的情況仍然很難預測,大約只有10%的項目能夠在預定的費用和進度下交付。1995年,據(jù)統(tǒng)計,美國共取消了810億美元的商業(yè)軟件項目,其中31%的項目未做完就被取消,53%的軟件項目進度通常要延長50%的時間,只有9%的軟件項目能夠及時交付并且費用也控制在預算之內(nèi)。
軟件項目管理的根本目的是為了讓軟件項目尤其是大型項目的整個軟件生命周期(從分析、設計、編碼到測試、維護全過程)都能在管理者的控制之下,以預定成本按期,按質(zhì)的完成軟件交付用戶使用。而研究軟件項目管理為了從已有的成功或失敗的案例中總結出能夠指導今后開發(fā)的通用原則,方法,同時避免前人的失誤。
軟件項目管理和其他的項目管理相比有相當?shù)奶厥庑?。首先,軟件是純知識產(chǎn)品,其開發(fā)進度和質(zhì)量很難估計和度量,生產(chǎn)效率也難以預測和保證。其次,軟件系統(tǒng)的復雜性也導致了開發(fā)過程中各種風險的難以預見和控制。Windows這樣的操作系統(tǒng)有1500萬行以上的代碼,同時有數(shù)千個程序員在進行開發(fā),項目經(jīng)理都有上百個。這樣龐大的系統(tǒng)如果沒有很好的管理,其軟件質(zhì)量是難以想象的。
軟件項目管理的內(nèi)容主要包括如下幾個方面:人員的組織與管理,軟件度量,軟件項目計劃,風險管理,軟件質(zhì)量保證,軟件過程能力評估,軟件配置管理等。
這幾個方面都是貫穿、交織于整個軟件開發(fā)過程中的,其中人員的組織與管理把注意力集中在項目組人員的構成、優(yōu)化;軟件度量把關注用量化的方法評測軟件開發(fā)中的費用、生產(chǎn)率、進度和產(chǎn)品質(zhì)量等要素是否符合期望值,包括過程度量和產(chǎn)品度量兩個方面;軟件項目計劃主要包括工作量、成本、開發(fā)時間的估計,并根據(jù)估計值制定和調(diào)整項目組的工作;風險管理預測未來可能出現(xiàn)的各種危害到軟件產(chǎn)品質(zhì)量的潛在因素并由此采取措施進行預防;質(zhì)量保證是保證產(chǎn)品和服務充分滿足消費者要求的質(zhì)