陳宏峰
摘 要:隨著當前計算機產(chǎn)業(yè)的迅速發(fā)展,軟件開發(fā)已經(jīng)成為一個新興的產(chǎn)業(yè)。而軟件項目規(guī)范化管理作為軟件開發(fā)過程中的一個重要一環(huán),對保證軟件開發(fā)環(huán)境具有重大的意義。本文通過淺析軟件項目規(guī)范化管理的現(xiàn)狀問題,具體方法等,為今后的軟件項目管理工作提供一點有價值的思考。
關(guān)鍵詞:軟件項目 規(guī)范化 管理
隨著全球計算機信息技術(shù)產(chǎn)業(yè)發(fā)展的日新月異,軟件的整個開發(fā)環(huán)境也變得日益復(fù)雜,隨著軟件業(yè)的不斷發(fā)展,其對整個軟件開發(fā)過程中的有效管理的要求也越來越高。事實已經(jīng)證明,如果沒有科學有效地軟件項目規(guī)范化管理,軟件的整個開發(fā)過程將面臨著巨大的風險。因此在當前的軟件開發(fā)過程中要不斷地加強軟件額項目規(guī)范化管理工作,努力建立科學有效的軟件開發(fā)管理程序和制度,保證軟件開發(fā)的整個過程都能科學合理。
一、軟件項目規(guī)范化管理的概念及當前存在的主要問題
所謂軟件項目規(guī)范化管理是使整個軟件項目尤其是大型的軟件項目從軟件的分析、設(shè)計到編碼、使用及維護的這一個全過程都能按照管理者事先預(yù)定好的成本、完成進度、質(zhì)量及數(shù)量等指標順利完成,其覆蓋了整個軟件開發(fā)的全過程。軟件項目的管理是一個系統(tǒng)的過程,包括了軟件項目風險評估、相關(guān)的成本的預(yù)算、相關(guān)的人員的組織和管理、項目計劃、開發(fā)管理、產(chǎn)品交付等幾個相互關(guān)聯(lián)程序。軟件項目化管理最終與軟件開發(fā)的質(zhì)量、效率息息相關(guān),但是由于當前許多軟件開發(fā)人員只重視軟件的開發(fā)過程,而忽視了與軟件開發(fā)過程緊密聯(lián)系的其他的相關(guān)聯(lián)的管理過程,結(jié)果使得許多軟件項目因缺乏有效科學的管理而導(dǎo)致了諸如數(shù)據(jù)缺失、開發(fā)人員溝通不到位、產(chǎn)品開發(fā)周期漫長、效率低下、產(chǎn)品使用性能差等一系列問題,最終導(dǎo)致了軟件開發(fā)工作的失敗,給企業(yè)和個人都帶來了極大的損失,因此在軟件的開發(fā)過程中我們一定要做好軟件的項目化管理,確保軟件開發(fā)的順利完成。
二、軟件開發(fā)項目規(guī)范化管理的必要性
隨著計算機相關(guān)技術(shù)的不斷發(fā)展,軟件開發(fā)已經(jīng)不僅僅局限于一個部門所能完成,其整個開發(fā)的過程已經(jīng)發(fā)展成為一種系統(tǒng)的工業(yè)化模式的生產(chǎn)過程,涉及的整個過程十分復(fù)雜,在當前一個應(yīng)用軟件的開發(fā)可能涉及到成百上千個的軟件模塊和代碼,讓幾個研發(fā)人員去獨立完成是不可想象的,必須就必須有一個專業(yè)的團隊來協(xié)同完成,而要實現(xiàn)團隊的開發(fā)必須實現(xiàn)資源共享和平臺的跨越。因此必須將軟件的開發(fā)過程實現(xiàn)項目管理化,加強對整個開發(fā)過程的有效的管理;同時當前全球軟件市場異常激烈,要想在激烈的市場競爭中保持優(yōu)勢地位,就必須加強對整個軟件開發(fā)過程的科學管理,這幾乎已經(jīng)是所有軟件研發(fā)機關(guān)的共識。
三、做好軟件項目規(guī)范化管理工作
軟件的項目規(guī)范化管理是一個系統(tǒng)的全過程,在整個的管理過程中需要統(tǒng)一協(xié)調(diào),溝通一致,從軟件開發(fā)的整個全過程始終做好軟件的開發(fā)管理工作。因此針對軟件項目化管理的全過程,我們可以從軟件開發(fā)前期管理、軟件項目開發(fā)管理和后期管理這三個方面來具體做好軟件項目規(guī)范化管理工作。
3.1軟件開發(fā)前期管理
3.11軟件開發(fā)之前做好風險評估工作
風險評估工作是軟件開發(fā)前期工作的基礎(chǔ)和有利保證,在確定開發(fā)一個軟件項目之前,要充分的對該軟件項目的成本、技術(shù)、安全、需求等方面做一個詳細的風險評估,“不打無把握之仗”,風險評估不僅是軟件開發(fā)前期的重要一環(huán),更應(yīng)該貫穿整個軟件的開發(fā)過程。針對軟件開發(fā)過程中可能遇到的技術(shù)、成本、安全等的風險。在軟件開發(fā)的前期應(yīng)該做好以下幾個方面的工作:
首先,在軟件開發(fā)的整個過程要不斷積極和客戶進行交流溝通,使軟件的整個開發(fā)過程都和客戶的意愿保持一致。
其次,建立嚴密的監(jiān)督機制和責任明確的責任負責制。在整個軟件的開發(fā)過程中由獨立的第三方來對整個軟件的開發(fā)過程進行監(jiān)督,如資金監(jiān)督,技術(shù)監(jiān)督等;同時明確項目責任人,建立明確責任制度的負責制。
再次,建立相應(yīng)的應(yīng)急機制和應(yīng)急預(yù)案,以保證軟件開發(fā)工作的順利進行。
3.12做好相關(guān)的成本預(yù)算工作
全面考慮軟件開發(fā)所涉及的所有的工作項目,確立自下而上的預(yù)算方法。自下而上的預(yù)算方法是針對資源進行的,主要是針對諸如硬件配置等方面,項目經(jīng)理在此基礎(chǔ)上再加上適當?shù)拈g接費用(如培訓(xùn)費用、管理費用、不可預(yù)見費等)以及項目要達到的利潤目標,形成整個軟件開發(fā)項目的總預(yù)算。自下而上的預(yù)算方法要求全面考慮所有涉及到的工作任務(wù),更適用于項目的初期與中期,它能準確地評估項目的成本和整個項目所需要的資金數(shù)額,最大限度的縮小預(yù)算與實際所需資金的數(shù)額,因此相比較傳統(tǒng)意義上的自上而下的預(yù)算方式更加的科學合理。
3.13做好項目需求的分析
做好項目需求的相關(guān)分析,就是要做好項目的需求開發(fā)和需求管理兩個方面。需求開發(fā)就是要和客戶進行積極的交流的過程,充分了解客戶對這個產(chǎn)品的相關(guān)的指標要求,需求管理就是要對整個軟件的開發(fā)過程進行管理以期滿足客戶需求的活動。具體的就是要做好產(chǎn)品的性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶要求等幾個方面。例如在環(huán)境需求這個方面就需要做好硬件方面和軟件方面的準備,硬件方面例如機型、外部設(shè)備、數(shù)據(jù)通信接口等幾個方面;軟件方面例如系統(tǒng)軟件,包括操作系統(tǒng)、網(wǎng)絡(luò)軟件、數(shù)據(jù)庫管理系統(tǒng)方面以及產(chǎn)品的技術(shù)要求等方面;其他方面例如在制度上應(yīng)該如何規(guī)范開發(fā)人員的日常工作,操作人員上的技術(shù)水平上應(yīng)具備怎樣的條件等方面;在可靠性方面,應(yīng)該事先考慮到所開發(fā)軟件的使用環(huán)境,可能發(fā)生的事故等,對實際的運行環(huán)境提出要求。因此在這個階段,項目經(jīng)理要積極和客戶進行交流,通過文本等方式積極和客戶進行溝通,了解客戶的最新要求和期望,隨時將軟件開發(fā)過程中的最新動態(tài)和不明確之處和客戶進行交流,以得到客戶的回復(fù),和客戶就項目的應(yīng)用,技術(shù)、性能等方面都盡可能的達成一致,以便為軟件開發(fā)的額實際過程打好基礎(chǔ)。
3.2軟件項目開發(fā)過程
這是整個軟件開發(fā)過程的核心環(huán)節(jié),在這個環(huán)節(jié)要充分利用前期的準備成果,科學有效進行軟件工作的開發(fā)工作。
3.21建立整體的項目計劃。要在統(tǒng)一的領(lǐng)導(dǎo)下建立該項目的整體計劃,充分設(shè)計總體的進度框架,建立相關(guān)的基礎(chǔ)設(shè)施,制定和分配各個部門的開發(fā)任務(wù)和計劃。
3.22組建參與軟件開發(fā)的團隊。按照軟件的需求建立團隊,確定軟件開發(fā)人員,應(yīng)該根據(jù)軟件開發(fā)的整體布局合理分配開發(fā)人員的職位,要根據(jù)項目的技術(shù)要求、工作量、參考開發(fā)人員的性格能力等進行科學合理的人員調(diào)度,努力打造一個高效、和諧的團隊,這是軟件開發(fā)成功與否的關(guān)鍵所在。同時,明確團隊的職責,同時分配開發(fā)任務(wù),應(yīng)具體應(yīng)落實到每一個團隊成員身上,同時部署和監(jiān)督開發(fā)任務(wù)和進度,應(yīng)該定期舉行軟件全體人員的會議,以便更好地討論軟件開發(fā)中出現(xiàn)的問題、吸取經(jīng)驗等,了解軟件開發(fā)的具體進度,吸取教訓(xùn),總結(jié)經(jīng)驗,為下一步工作的展開做好準備。
3.23進行項目成果的測試。對沒一個階段完成的具體的成果進行及時的測試,以保證其質(zhì)量和性能,對測試結(jié)果要及時在會議上向相關(guān)的開發(fā)人員進行指出,以便及時糾正;同時在這一過程中要隨時積極和客戶進行交流,在整個開發(fā)的過程中都和客戶進行溝通,通報詳細的進度計劃并征求客戶的意見。
3.24設(shè)計初步完成的評審工作。在產(chǎn)品初步完成之后,這時應(yīng)首先由項目經(jīng)理進行最后的項目審查和評審,一定要在最后時刻把好關(guān),嚴格分析產(chǎn)品的性能、各項指標等是否和客戶需求一致,在項目經(jīng)理審核完成之后,應(yīng)該交由相關(guān)的專業(yè)的質(zhì)檢部門進行及時的質(zhì)量評審,一定要確認無誤,嚴格把關(guān)。
3.3軟件項目管理后期管理
在完成上述程序后確認無誤,和客戶進行產(chǎn)品的最后交付。這個階段主要要做好以下兩個方面的工作:
3.31制定軟件項目報告。在最終完成軟件的交付之后,應(yīng)該完成軟件項目管理的最終的報告,主要要包括項目的范圍,開發(fā)過程,相關(guān)的技術(shù)資料、會議記錄、驗收報告、最終的成果等方面,做好備份資料。
3.32做好產(chǎn)品的后期維護工作。在產(chǎn)品的應(yīng)用過程中應(yīng)及時和客戶進行信息的交流和反饋,對整個產(chǎn)品的使用的全過程進行跟蹤,如果出現(xiàn)了技術(shù)層面的問題應(yīng)該及時進行產(chǎn)品的售后維護,同時應(yīng)及時研制新技術(shù)使得產(chǎn)品跟上時代的潮流。
四、總結(jié)
總之,軟件項目管理是一項體統(tǒng)工程,軟件開發(fā)過程的管理與軟件開發(fā)的質(zhì)量、效率等息息相關(guān);良好的軟件項目管理可以極大的促進軟件的整個開發(fā)過程,使得軟件開發(fā)過程更加的科學完善。因此在實際的軟件開發(fā)過程中我們一定要嚴格加強軟件開發(fā)過程中的管理工作,利用先進的軟件開發(fā)工具和管理成果,不斷在實踐中總結(jié)經(jīng)驗,使整個軟件開發(fā)過程更加的科學有效,為企業(yè)創(chuàng)造出更大的經(jīng)濟效益。