針對(duì)軟件項(xiàng)目開(kāi)發(fā)的特點(diǎn)和軟件開(kāi)發(fā)包項(xiàng)目高失敗率的善通過(guò)對(duì)軟件項(xiàng)目管理方法的研究提出了軟件項(xiàng)目開(kāi)發(fā)過(guò)程的一種管理流程和相應(yīng)的子流程,實(shí)現(xiàn)了對(duì)軟件項(xiàng)目控制和管理。
前言
軟件項(xiàng)目管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對(duì)成本、人員、進(jìn)度、質(zhì)量、風(fēng)險(xiǎn)等進(jìn)行分析和管理的活動(dòng)。實(shí)際上,軟件項(xiàng)目管理的意義不僅僅如此,進(jìn)行軟件項(xiàng)目管理有利于將開(kāi)發(fā)人員的個(gè)人開(kāi)發(fā)能力轉(zhuǎn)化成企業(yè)的開(kāi)發(fā)能力,企業(yè)的軟件開(kāi)發(fā)能力越高,表明這個(gè)企業(yè)的軟件生產(chǎn)越趨向于成熟,企業(yè)越能夠穩(wěn)定、持續(xù)地發(fā)展。
軟件項(xiàng)目管理的特殊性表現(xiàn)在:①軟件產(chǎn)品是無(wú)形的。軟件項(xiàng)目管理者不能像其他項(xiàng)目管理者那樣,能夠從被開(kāi)發(fā)的產(chǎn)品上看到進(jìn)度、已經(jīng)完工的部分是否與設(shè)計(jì)相符等,他們只能從其他人所提交的文檔中來(lái)掌握相關(guān)的情況。②沒(méi)有標(biāo)準(zhǔn)的軟件過(guò)程。對(duì)軟件過(guò)程的理解雖然已經(jīng)取得了長(zhǎng)足的進(jìn)步,但是軟件管理者還是不能確切地預(yù)見(jiàn)某一軟件過(guò)程何時(shí)有可能出現(xiàn)問(wèn)題。③大型軟件項(xiàng)目常常是“一次性的”。由于軟件項(xiàng)目與一個(gè)國(guó)家、地區(qū)的經(jīng)濟(jì)政策相聯(lián)系,與用戶的發(fā)展戰(zhàn)略、經(jīng)濟(jì)實(shí)力、管理水平相適應(yīng),軟件項(xiàng)目的開(kāi)發(fā)過(guò)程中所采用的技術(shù)和管理方式與當(dāng)時(shí)的計(jì)算機(jī)和通信技術(shù)有關(guān),因此大型軟件項(xiàng)目一般都不同于早先的項(xiàng)目,管理者縱使有在計(jì)劃中降低不確定性的經(jīng)驗(yàn),也很難較準(zhǔn)確地預(yù)見(jiàn)問(wèn)題的出現(xiàn),以前的經(jīng)驗(yàn)教訓(xùn)也較難在新項(xiàng)目中發(fā)揮大的作用。
從目前國(guó)內(nèi)外的軟件企業(yè)來(lái)看,“軟件危機(jī)”的陰影仍然存在,軟件行業(yè)的項(xiàng)目實(shí)施情況一直很不樂(lè)觀。研究表明,軟件項(xiàng)目失敗的原因主要有兩個(gè):一是應(yīng)用項(xiàng)目的復(fù)雜性;二是缺乏合格的軟件項(xiàng)目管理人才。實(shí)踐證明,缺乏有效的項(xiàng)目管理是導(dǎo)致軟件項(xiàng)目失控的直接原因。
軟件項(xiàng)目管理的方法研究
從軟件項(xiàng)目的管理角度來(lái)看,項(xiàng)目的直接責(zé)任人是軟件項(xiàng)目經(jīng)理。也就是說(shuō),項(xiàng)目經(jīng)理是項(xiàng)目整體管理的責(zé)任人,要在規(guī)定的時(shí)間范圍內(nèi),在不超過(guò)經(jīng)費(fèi)的情況下,能夠達(dá)到或超過(guò)項(xiàng)目干系人的愿望。項(xiàng)目整體管理圍繞項(xiàng)目計(jì)劃進(jìn)行,主要過(guò)程有計(jì)劃制定、計(jì)劃執(zhí)行和計(jì)劃變更控制。項(xiàng)目經(jīng)理在以下幾個(gè)方面對(duì)軟件項(xiàng)目進(jìn)行全面的管理:
(1)制定項(xiàng)目計(jì)劃。
軟件項(xiàng)目計(jì)劃是一個(gè)用來(lái)協(xié)調(diào)所有其他計(jì)劃,以指導(dǎo)項(xiàng)目執(zhí)行和控制的可操作的文件。它體現(xiàn)了對(duì)客戶需求的理解,是開(kāi)展項(xiàng)目活動(dòng)的基礎(chǔ),是軟件項(xiàng)目跟蹤與監(jiān)控的依據(jù)。項(xiàng)目計(jì)劃主要由全局計(jì)劃和下屬計(jì)劃兩大部分組成。
在上級(jí)主管簽發(fā)項(xiàng)目任務(wù)書(shū)后,項(xiàng)目經(jīng)理立即和核心成員組成一個(gè)項(xiàng)目規(guī)劃小組,對(duì)項(xiàng)目進(jìn)行規(guī)劃,得到項(xiàng)目的全局計(jì)劃,主要內(nèi)容有項(xiàng)目的目標(biāo)與范圍、人力資源計(jì)劃、軟件資源和硬件資源計(jì)劃、財(cái)務(wù)計(jì)劃、整體任務(wù)進(jìn)度計(jì)劃。這一部分計(jì)劃要上一級(jí)機(jī)構(gòu)領(lǐng)導(dǎo)審批。下屬計(jì)劃一般包括配置管理計(jì)劃、質(zhì)量管理計(jì)劃、階段開(kāi)發(fā)計(jì)劃和測(cè)試計(jì)劃等,因?yàn)轫?xiàng)目計(jì)劃與項(xiàng)目執(zhí)行應(yīng)該是相互滲透的,因此在下屬計(jì)劃制定時(shí),項(xiàng)目經(jīng)理必須把握的原則是:某一部分的工作由誰(shuí)負(fù)責(zé),則該部分的計(jì)劃就由誰(shuí)來(lái)制定;下屬計(jì)劃部分一般由項(xiàng)目經(jīng)理審批即可。
(2)制定開(kāi)發(fā)過(guò)程。
軟件開(kāi)發(fā)的風(fēng)險(xiǎn)之所以大,是由于軟件過(guò)程能力低,其中關(guān)鍵的問(wèn)題在于軟件開(kāi)發(fā)組織不能很好地管理其軟件過(guò)程,為此必須強(qiáng)調(diào)和加強(qiáng)軟件開(kāi)發(fā)過(guò)程的控制和管理。軟件項(xiàng)目的開(kāi)發(fā)過(guò)程主要有系統(tǒng)調(diào)研、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試、實(shí)施與維護(hù)等,但對(duì)于不同的軟件項(xiàng)目,雖然大體上過(guò)程相同,但不同的項(xiàng)目其每一個(gè)過(guò)程所包含的一系列具體的開(kāi)發(fā)活動(dòng)(子過(guò)程)千差萬(wàn)別,而且不同的項(xiàng)目組采用不同的開(kāi)發(fā)技術(shù)、使用不同的技術(shù)路線,其開(kāi)發(fā)過(guò)程的側(cè)重點(diǎn)亦不一樣。因此項(xiàng)目經(jīng)理在軟件項(xiàng)目開(kāi)發(fā)前,根據(jù)所開(kāi)發(fā)的軟件項(xiàng)目和項(xiàng)目組的實(shí)際情況,建立起一個(gè)穩(wěn)定、可控的軟件開(kāi)發(fā)過(guò)程模型,并按照該過(guò)程來(lái)進(jìn)行軟件開(kāi)發(fā)是項(xiàng)目成功的基本保證。
軟件開(kāi)發(fā)過(guò)程要做到穩(wěn)定、可控,真正對(duì)項(xiàng)目起到規(guī)范和約束作用,關(guān)鍵在于以下幾個(gè)方面:①整個(gè)開(kāi)發(fā)過(guò)程以流程的形式表示,過(guò)程簡(jiǎn)單、清楚。②重要的過(guò)程以子流程表示,對(duì)總體流程進(jìn)行細(xì)化和補(bǔ)充。③定義總體流程和各子流程進(jìn)入的必備條件和結(jié)束條件。④明確流程結(jié)束時(shí)需要考核的內(nèi)
容。⑤所有前面四項(xiàng)通過(guò)評(píng)審和批準(zhǔn)。
(3)加強(qiáng)過(guò)程控制。
軟件項(xiàng)目的開(kāi)發(fā)和實(shí)施往往都是在“變化”中進(jìn)行的??梢院敛豢鋸埖卣f(shuō),軟件項(xiàng)目的變化是持續(xù)的、永恒的,找不到不會(huì)變化的軟件項(xiàng)目。需求會(huì)變,技術(shù)會(huì)變,系統(tǒng)架構(gòu)會(huì)變,代碼會(huì)變,甚至連環(huán)境都會(huì)變;項(xiàng)目經(jīng)理在完成相應(yīng)的項(xiàng)目計(jì)劃和準(zhǔn)備后,其主要任務(wù)就是進(jìn)行過(guò)程控制。軟件項(xiàng)目的過(guò)程控制包括過(guò)程管理和變更控制。
過(guò)程管理主要是依據(jù)項(xiàng)目計(jì)劃對(duì)軟件項(xiàng)目進(jìn)行監(jiān)控,能順利進(jìn)行過(guò)程管理的關(guān)鍵是項(xiàng)目管理制度化。制度化的主要內(nèi)容有:①對(duì)項(xiàng)目組成員的工作定期檢查。②要求所有的開(kāi)發(fā)過(guò)程以文檔形式表示。③制定各種文檔的模板,并要求在項(xiàng)目的整體開(kāi)發(fā)過(guò)程中,以統(tǒng)一的模板來(lái)撰寫(xiě)文檔。④項(xiàng)目組成員在開(kāi)發(fā)過(guò)程中嚴(yán)格按照規(guī)定的流程進(jìn)行,若更改過(guò)程,必須按變更管理的規(guī)程進(jìn)行。
如何在受控的方式下引入變更、監(jiān)控變更的執(zhí)行、檢驗(yàn)變更的結(jié)果、最終確認(rèn)并固化變更,并使變更具有追溯性,這一系列問(wèn)題直接影響項(xiàng)目的成敗。為此,變更的控制關(guān)鍵要從以下兩點(diǎn)人手:①制定適合于本項(xiàng)目的變更處理流程,并嚴(yán)格按流程來(lái)處理所有變更。②做好配置管理,保證軟件項(xiàng)目的工作產(chǎn)品在整個(gè)項(xiàng)目周期中的“完整性”。
配置管理則是軟件項(xiàng)目能順利進(jìn)行的基礎(chǔ)。一個(gè)軟件項(xiàng)目開(kāi)發(fā)過(guò)程中,會(huì)有大量的“中間產(chǎn)品”產(chǎn)生,典型的如代碼、技術(shù)文檔、產(chǎn)品文檔、管理文檔、數(shù)據(jù)、腳本、執(zhí)行文件、安裝文件、配置文件,甚至一些參數(shù)等,這些中間成果都是項(xiàng)目的產(chǎn)品。而且,不斷變化的軟件項(xiàng)目還會(huì)使這些產(chǎn)品產(chǎn)生多個(gè)不同的版本,可以想像,一旦配置管理失控,項(xiàng)目組成員就會(huì)陷入配置項(xiàng)的“泥潭”。很顯然,制定配置管理計(jì)劃、建立配置管理系統(tǒng)、確定配置管理的流程和規(guī)程、嚴(yán)格按照配置管理流程來(lái)處理所有配置項(xiàng),是確保配置管理順利實(shí)現(xiàn)的方法和必要的手段。
軟件項(xiàng)目管理方法的實(shí)現(xiàn)
1.項(xiàng)目背景
某局通信建設(shè)工程項(xiàng)目管理系統(tǒng)(以下簡(jiǎn)稱DX-PMS)主要針對(duì)該電信局每年建設(shè)的各種通信建設(shè)項(xiàng)目進(jìn)行全過(guò)程全方位的管理,主要包括的內(nèi)容有工程項(xiàng)目管理、工程結(jié)算管理、工程合同管理、工程檔案與統(tǒng)計(jì)查詢管理四個(gè)主要子系統(tǒng),并要求與現(xiàn)在已經(jīng)使用的某省局工程項(xiàng)目管理系統(tǒng)共同使用,各行其職,但數(shù)據(jù)不需要用戶重復(fù)錄入,系統(tǒng)能自動(dòng)進(jìn)行數(shù)據(jù)無(wú)縫連接;另外DX-PMS還要與該局現(xiàn)在正在使用的OA系統(tǒng)、ERP系統(tǒng)等進(jìn)行集成,其軟件開(kāi)發(fā)非常復(fù)
雜。
2.DX-PMS開(kāi)發(fā)過(guò)程的管理
(1)制定DX-PMS項(xiàng)目計(jì)劃。
項(xiàng)目經(jīng)理接受項(xiàng)目任務(wù)書(shū)后,組成一個(gè)項(xiàng)目規(guī)劃小組,結(jié)合項(xiàng)目任務(wù)書(shū)和實(shí)際開(kāi)發(fā)經(jīng)驗(yàn),確定項(xiàng)目所采用的技術(shù)路線;估計(jì)項(xiàng)目的工作量、成本及相關(guān)資源,依據(jù)項(xiàng)目管理規(guī)范,制定項(xiàng)目計(jì)劃書(shū),評(píng)審后納入配置管理。
(2)制定DX-PMS的開(kāi)發(fā)過(guò)程。
總流程的制定:項(xiàng)目經(jīng)理與核心組成員,根據(jù)項(xiàng)目任務(wù)書(shū)和項(xiàng)目的實(shí)際情況,確定軟件開(kāi)發(fā)過(guò)程,得到如圖1所示的開(kāi)發(fā)過(guò)程流程圖。確定流程進(jìn)入的必備條件:①具有已簽署的《DX—PMS合同書(shū)》②上級(jí)簽發(fā)的((DX-PMS任務(wù)書(shū)》。③與用戶協(xié)商后得到的《DX-PMS執(zhí)行計(jì)劃》和《DX-
PMS實(shí)施計(jì)劃》確定流程結(jié)束的條件和考核內(nèi)容。具體檢查下列工作任務(wù)是否完戍:①軟件開(kāi)發(fā)項(xiàng)目組完成《DX-PMS功能說(shuō)明書(shū)》、《DX-PMS需求分析》、《DX-PMS開(kāi)發(fā)計(jì)劃》、《~DX-PMS配置管理計(jì)劃》、《DX—PMS概要設(shè)計(jì)說(shuō)明書(shū)》、《DX—PMS詳細(xì)設(shè)計(jì)說(shuō)明書(shū)》、《DX—PMS單元測(cè)試總結(jié)報(bào)告》等文檔的編寫(xiě)及文檔所規(guī)定的工作任務(wù)、可交付的源代碼、可執(zhí)行代碼。②測(cè)試組完成《DX-PMS測(cè)試計(jì)劃》、《DX-PMS測(cè)試方案與測(cè)試用例》的編寫(xiě)和文檔所規(guī)定的工作任務(wù)。③質(zhì)量保證組完成《DX-PMS質(zhì)量保證計(jì)劃》的編寫(xiě)和相應(yīng)的質(zhì)量保證工作。
DX—PMS具體的開(kāi)發(fā)流程為:上級(jí)部門(mén)任命項(xiàng)目經(jīng)理,協(xié)助項(xiàng)目經(jīng)理組建項(xiàng)目開(kāi)發(fā)組和軟件測(cè)試組、質(zhì)量保證組;項(xiàng)目經(jīng)理負(fù)責(zé)組織項(xiàng)目開(kāi)發(fā)組對(duì)客戶需求進(jìn)行調(diào)研,完成《DX-PMS系統(tǒng)需求說(shuō)明書(shū)》及《DX-PMS用戶需求調(diào)查報(bào)告》;部門(mén)經(jīng)理負(fù)責(zé)對(duì)系統(tǒng)需求進(jìn)行分析,確定其核心或可產(chǎn)品化的程度,可重用的構(gòu)件等;項(xiàng)目組對(duì)軟件需求進(jìn)行分析,形成《DX—PMS軟件需求分析說(shuō)明書(shū)》,并通過(guò)評(píng)審5項(xiàng)目組制定《DX-PMS項(xiàng)目開(kāi)發(fā)計(jì)劃》,《DX-PMS軟件配置管理計(jì)劃》;測(cè)試組制定《DX-PMS軟件測(cè)試計(jì)劃質(zhì)量保證組制定《DX-PMS軟件質(zhì)量保證計(jì)劃》,并通過(guò)評(píng)審,軟件開(kāi)發(fā)項(xiàng)目組進(jìn)行系統(tǒng)的《DX-PMS概要設(shè)計(jì)》并通過(guò)評(píng)審;測(cè)試組進(jìn)行系統(tǒng)的《DX-PMS測(cè)試設(shè)計(jì)》并通過(guò)評(píng)審;軟件開(kāi)發(fā)組進(jìn)行系統(tǒng)的《DX—PMS詳細(xì)設(shè)計(jì)》并通過(guò)評(píng)審;所有源代碼需要按照編碼規(guī)范進(jìn)行開(kāi)發(fā)并由項(xiàng)目經(jīng)理負(fù)責(zé)審查;軟件開(kāi)發(fā)項(xiàng)目組進(jìn)行《DX-PMS單元測(cè)試用例》設(shè)計(jì);在軟件開(kāi)發(fā)項(xiàng)目組的詳細(xì)設(shè)計(jì)和編碼階段,測(cè)試項(xiàng)目組同步進(jìn)行《DX-PMS測(cè)試方案與用例》的設(shè)計(jì)并進(jìn)行評(píng)審;軟件開(kāi)發(fā)組進(jìn)行單元測(cè)試,并提交《DX-PMS單元測(cè)試總結(jié)報(bào)告》;項(xiàng)目經(jīng)理負(fù)責(zé)產(chǎn)品的完整性和正確性檢查。
(3)過(guò)程控制。
過(guò)程控制的主要工作包括過(guò)程管理、變更控制和配置管理。
過(guò)程管理是項(xiàng)目能順利進(jìn)行的基礎(chǔ),過(guò)程的質(zhì)量決定軟件項(xiàng)目所開(kāi)發(fā)的產(chǎn)品的質(zhì)量。項(xiàng)目經(jīng)理依據(jù)《DX-PMS詳細(xì)設(shè)計(jì)說(shuō)明書(shū)》和《DX-PMS開(kāi)發(fā)計(jì)劃》將軟件開(kāi)發(fā)階段的考核分為系統(tǒng)需求調(diào)研、需求分析、軟件設(shè)計(jì)、編碼與單元測(cè)試四個(gè)考核點(diǎn)。考核方式與要求包括:①項(xiàng)目經(jīng)理對(duì)每個(gè)階段所花費(fèi)的有效工作量的確認(rèn)。②項(xiàng)目經(jīng)理檢查每個(gè)階段的軟件工作產(chǎn)品完成情況,將階段工作產(chǎn)品納入配置管理庫(kù)并形成基線,并交資源管理部歸檔。③部門(mén)經(jīng)理負(fù)責(zé)簽署階段報(bào)告,總經(jīng)理對(duì)軟件工作產(chǎn)品進(jìn)行確認(rèn)。④在測(cè)試過(guò)程中,統(tǒng)計(jì)軟件工作產(chǎn)品的缺陷率。⑤分析軟件工作產(chǎn)品評(píng)審的數(shù)據(jù)的有效性。
項(xiàng)目經(jīng)理具體的過(guò)程管理工作有:①檢查項(xiàng)目組成員的周報(bào)。②制定相應(yīng)的文檔模板。③檢查項(xiàng)目組成員的文檔。④定期召開(kāi)小組例會(huì),交流開(kāi)發(fā)經(jīng)驗(yàn)和體會(huì),解決突出的問(wèn)題。⑤負(fù)責(zé)與項(xiàng)目雙方人員之間的溝通,特別是與雙方領(lǐng)導(dǎo)的溝通。
變更控制的基礎(chǔ)是變更控制流程的確定,在項(xiàng)目開(kāi)發(fā)前項(xiàng)目經(jīng)理根據(jù)相關(guān)規(guī)范制定變更控制流程(如圖2),通過(guò)項(xiàng)目成員評(píng)審,并報(bào)上級(jí)管理層批準(zhǔn),形成項(xiàng)目組的一個(gè)規(guī)范,作為項(xiàng)目變更的執(zhí)行標(biāo)準(zhǔn),對(duì)項(xiàng)目的所有變更,必須按照變更控制流程進(jìn)行。 配置管理則是變更控制能順利進(jìn)行的基礎(chǔ)和保證,為避免陷入配置項(xiàng)的泥潭,項(xiàng)目經(jīng)理在項(xiàng)目開(kāi)始之前編寫(xiě)配置管理計(jì)劃,《DX—PMS酉己置管理計(jì)劃》和《DX-PMS開(kāi)發(fā)計(jì)劃》將同時(shí)產(chǎn)生,并制定配置管理流程(如圖3),以保證項(xiàng)目的所有配置項(xiàng)目均納入到配置管理庫(kù),進(jìn)行配置管理。
通過(guò)采用軟件項(xiàng)目管理方法,明確了項(xiàng)目管理流程和控制項(xiàng)目開(kāi)發(fā)過(guò)程,項(xiàng)目經(jīng)理嚴(yán)格按照流程進(jìn)行控制,嚴(yán)格變更控制和配置管理;項(xiàng)目組嚴(yán)格按照項(xiàng)目計(jì)劃進(jìn)行開(kāi)發(fā);主管部門(mén)嚴(yán)格進(jìn)行考核和評(píng)審。在整個(gè)開(kāi)發(fā)過(guò)程中,項(xiàng)目小組人員清楚自己的工作,明白其他人的任務(wù),了解項(xiàng)目的實(shí)際進(jìn)程,明確下一步的工作重點(diǎn),整個(gè)開(kāi)發(fā)過(guò)程有條不紊地進(jìn)行,圓滿地完成了開(kāi)發(fā)任務(wù)。
結(jié)束語(yǔ)
軟件項(xiàng)目管理的方法研究及在DX-PMS項(xiàng)目中的成功應(yīng)用,為如何進(jìn)行軟件項(xiàng)目的開(kāi)發(fā)與控制提供了借鑒。實(shí)踐證明,制定適合軟件開(kāi)發(fā)項(xiàng)目的管理規(guī)范、過(guò)程、流程、模板,并借助于適當(dāng)?shù)墓芾砉ぞ哌M(jìn)行管理,對(duì)軟件項(xiàng)目的成功是非常有效的。
湖南大學(xué)軟件學(xué)院 羅鐵清 王如龍
文章來(lái)源: 網(wǎng)友推薦
【?發(fā)表評(píng)論?0條?】