淺談企業軟件項目建設管理

時間:2022-05-15 03:06:39

導語:淺談企業軟件項目建設管理一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

淺談企業軟件項目建設管理

引言

1.軟件項目管理發展背景。對軟件項目建設的管理方法的研究和應用在20世紀70年代就已經開始了,目的是為了解決軟件危機。隨著軟件需求的日益復雜和快速膨脹,出現了軟件開發質量不可靠、成本嚴重超預算、開發周期不可控、使用起來問題多、可維護性差、運維成本和費用不斷增加等問題。為了解決這些問題,軟件工程化管理思想和理論應運而生,通過軟件工程的管理模式也很好地解決了軟件危機,滿足了軟件開發的質量可靠性、成本可控性和工期可控等需求。軟件項目的管理采用了工程管理辦法(有計劃、有步驟、系統化),也采用了很多基于現代管理方法的成熟管理技術和工具,對于軟件項目的管理和開發方法,可以通過互聯網加以了解,各種管理工具(例如項目管理軟件PROJECT、禪道等)很多,并且不斷進化。但在實際執行具體項目時,必須具體情況具體分析,采用最適合當時當地具體項目特點的方法和工具,去完成每一個軟件項目的實施。雖然軟件工程在軟件項目的應用已經超過40年,但軟件項目的開發模式和管理方法還在不斷發展和進步。一方面軟件技術發展日新月異,另一方面軟件項目本身也非常復雜,需要解決的問題的復雜性更是與日俱增。2.企業背景。廈門煙草工業有限責任公司作為獲得政府質量獎的現代化企業,管理流程的梳理和落實已經經歷多輪錘煉和演化,企業管理是非常規范和相對成熟的,信息化輔助管理開始于20世紀90年代,ERP系統的實施已有20年,甚至經歷了兩輪實施,企業的信息化應用程度較高,幾乎所有業務都實現了電子化,目前企業已經在執行智能智造的戰略,信息化建設進入了新的大發展時期。

企業應用軟件項目實施的主要內容

企業應用軟件項目規模一般在中等規模以上,項目規模可以根據資金投入或工期等進行劃分。大中型企業滿足一個職能塊(制造型企業往往包含人力資源、財務、質量、銷售、采購、倉儲、設備、備件及生產過程管理等各種職能業務模塊)的軟件系統建設成本以百萬元人民幣計,還需要投入后續的適應性改造和運維成本,所以,信息化建設成本是非常昂貴的,梳理項目實施方法對實際工作中更合理更好實施信息化項目具備較大價值。現代軟件工程技術告訴我們,任何軟件產品都要經過制定計劃、需求分析、設計、程序編程、測張雁試、以及運行維護過程。[1]軟件項目主要應用項目管理方法進行管理,按照軟件項目實施的全部流程,進行總體規劃,分步實施。1.做好需求確認。需求確認階段主要包括需求調研及需求分析,輸出內容為需求說明書。需求是軟件項目建設的起點和驗收的依據,是軟件系統項目的主要內容來源,是軟件項目實施中最重要的一步,需要所有相關方達成一致。這個階段主要研究和確認需求,首先達成需求描述的一致,其次思考需求怎么實現。比較復雜的需求需要一再調研多方確認多次分析,才能確認真正的需求內容。(1)需求提出一般是用戶或業務相關方提出需求。企業信息化需求一般進程是:首先完成業務電子化,滿足提高效率和痕跡化管理需求;其次通過信息化固化流程保證業務操作符合規范;最終通過數據積累進行數據分析或建設不斷迭代的分析模型助力企業管理或決策。業務需求的編寫和確認可以采用業務需求說明書模板,或選用一些分析工具,例如使用用例模板,通過對需求相關的業務流程、業務規則、業務數據等要素進行梳理和描述以便于各方理解、研究和確認需求。對于企業戰略和信息化規劃有影響的項目,更是需要慎重規劃,甚至需要成立專項組對軟件項目涉及的流程和企業架構進行梳理和確認后,才能判斷和確認軟件項目的相關戰略或規劃需求,確定項目建設內容。(2)需求評審首先需要信息化建設管理或評審部門對需求部門提交的需求進行調研、判斷和分析,確認需求內容。其次針對用戶要求的完成時間點確認需求必要性和迫切性、對項目效益進行確認和評估;對于需求做初步的技術解決方案思考,進行風險分析和可行性判斷,確認初步的功能需求內容。個別需求無法明晰的時候,需要判斷是否影響系統整體設計和建設可行性。通過需求評審的應用軟件項目正式進入技術選型階段。2.做好技術選型。首先需要了解國內外同類軟件項目的應用和發展趨勢,對于軟件項目的功能內容和實現方式有一個初步的了解,要研究主流解決方案。其次要研究合適的應用架構,技術方案和應用框架必須符合企業信息化規劃和企業技術架構。研究和確認技術方案的常用方法,是與同類軟件項目的主流開發商進行技術交流,通過實例和建模對項目選型進行全方位的考量,保證技術方案的可行性,同時進一步確認技術方案的具體內容。這個階段主要是對項目需求和技術方案進行初步確認,并根據項目的交付內容、交付時間進行資金預算估算準備。技術方案確認后,可以向意向供應商(意向供應商主要依據其資質、口碑評價、經驗尤其同類項目的經驗等)進行詢價,進一步明確工作量和資金預算。同時要準備輸出信息化需求(軟件需求說明書),核心要素包括功能框架設計、技術架構藍圖、功能性需求、集成需求等,需要對功能項及功能點進行描述,每個功能涉及的業務活動及操作人員或用戶角色、業務流程、業務實體、關鍵界面原型必須梳理和分析到位,內容明確。業務需求說明書或軟件需求說明書都可以作為軟件項目采購的內容說明書,根據軟件項目的具體情況和特點對需求說明細度和深度進行判斷和選擇,以投標方能夠盡量了解采購需求為準。作為信息化應用比較成熟和深入的企業,業務電子化和痕跡化管理要求都很深入,也就導致軟件項目的功能實現會更體現企業經營管理特色,往往形成很多個性化需求,必須研究、規劃不同層次和細度的實現方式和接口規則,滿足數據一致性需求,避免形成信息孤島。3.做好合同內容編制。項目采購受到企業非常嚴格的管控,企業對采購方式和采購過程管控也越來越細化,所以軟件項目采購人員除了著眼于項目建設需求的準確表達,采購文件和采購行為必須嚴格遵守法律及行業、企業法規的相關內容。采購項目基本都是要求公開招標,確定中標供應商后,就進入采購合同的簽訂階段。采購合同是軟件項目建設最重要的文檔,具備法律效力,是項目建設的驗收(付款)依據。一般采用企業軟件建設類的合同模板,軟件特性相關內容至少要包含項目需求、項目目標、項目計劃、培訓要求、驗收文檔清單,以及信息化安全、技術、驗收、運維服務條款等內容。其中項目計劃內容需要充分調研和確認,計劃能否及時執行必須要精心考量和設計,里程碑計劃及階段驗收必須與付款階段相匹配。4.做好項目進度管控合同簽訂后,項目就正式進入實施階段,在軟件開發及實施中,一般遵守“總體規劃,分步實施”原則。項目實施過程主要包括需求調研、需求分析、實施方案編制、系統設計、系統開發、功能測試、功能上線及項目驗收等內容。(1)軟件項目的開發方法采用軟件工程管理技術軟件工程技術非常成熟。首先,制定實施計劃,確定實施方案。實施方案主要包含項目范圍、實施策略、項目組組織結構及成員、項目管理制度、實施計劃(一般細分到雙周計劃)、系統架構及技術架構、風險識別及防控方案、測試計劃、驗收計劃、培訓計劃等內容,并需明確每個階段的交付物。作為甲方,這個階段主要配合供應商完成各項工作,做好組織、溝通和協調工作,監督計劃的執行情況,保證項目實施的質量和進度。項目實施過程有很多工作要做,甲方項目經理或系統管理員可以依據實際情況和企業要求,科學安排時間和資源,參與到項目建設的各方面,不僅要熟悉業務,還要為將來的運維工作做好準備,投入適當的時間和資源到系統管理和開發培訓中,如果時間允許,對系統開發和運維的介入肯定是越深入越好。這個過程最重要的是嚴格按照項目計劃完成各項實施任務,嚴格采取目標管理辦法,每個節點的每項任務都需要保證質量及時完成,否則都有可能影響到項目是否能夠及時完成。軟件項目由于相對復雜,路徑長節點多,如果沒有對每個任務每個階段的嚴格把控,項目的整體驗收很容易受到影響。不管有多么缺乏人力資源,項目執行情況和進度管控是第一要務,嚴密監控計劃執行情況,及時解決問題是項目管理人員的基本職責。(2)軟件項目的每個過程都有許多類型的管理工具和管理方法軟件項目實施過程中可以根據需要投入管理資源,采用最合理最適用最劃算的管理工具和建模方法。如果企業已經確定模板,可以直接采用同類型模版。如果沒有,可以選擇一個模板,模板都大同小異,因為軟件項目的管理技術非常成熟。軟件項目的管理工具有很多種,圍繞著需求、設計、測試及驗收,每個環節都有無數的工具和方法可以選擇,從教科書、網絡、標準,都有非常多的模板可以選擇。最簡明扼要和常用的方法還是5W1H模型,在日常溝通和表達中根據5W1H要素靈活運用建立模板,能夠完成很多調研和溝通內容的梳理和確認。技術方案或者需要判斷選擇解決措施的時候,用SWOT方法或類似方法進行分析也是比較容易表達和比較完整的,也便于各方進行研究和確認。實施計劃編制和管理主要采用PDCA管理方法,輸出內容以甘特圖的內容為常規要素,主要包括任務內容、任務起始時間、任務完成情況及負責人員等內容。PDCA是重要的現代管理工具,是企業全面質量管理的思想基礎和方法依據,也非常適用于軟件項目管理,主要包含計劃(Plan)、執行(Do)、檢查(Check)及處理(Act)等內容。PDCA循環可以說貫穿于軟件項目管理和建設的所有過程,可以從大計劃往下細分,不斷分解。項目計劃一般采用結構化編制,整體計劃自上而下按模塊和階段進行分解,每個階段都制定計劃,一般細化到雙周計劃。每個計劃的執行都可套用PDCA管理方法。項目管理人員必須監督每個計劃的執行情況,并根據執行情況進行調整,執行過程出現的問題必須制定解決方案并監督解決情況保證解決到位。

做好軟件項目的投入和效益分析

1.軟件項目的建設成本。排除IT基礎設施的投入,軟件項目開發屬于勞動密集和知識密集行業,軟件項目的開發和實施依靠的是人的勞動。從整個企業的投入來看,當軟件項目的建設需求產生時,就開始產生人工成本了,至少業務需求提出方對需求必須進行研究和確認,對功能設計的業務邏輯的確定性和成熟度、穩定性都必須進行確認,需要研究規范管理特征和模型。非業務電子化的需求,往往在立項之前就會對流程和戰略進行梳理和研究,以保證項目建設的可行性,因為軟件項目的建設一般是不可回撤的。一個軟件系統或體系的建立,可以升級和優化,重新建設是不可接受的,項目建設只許成功不許失敗,所以在立項前的研究規劃和設計非常重要,往往需要投入大量研究。軟件項目一般必須是部門一把手或者企業一把手有強烈的實施意旨才能順利實施,因為軟件項目的建設過程基本都需要對流程進行梳理,甚至流程再造,沒有一把手的支持是不可能順利執行的,俗稱一把手工程,所以人力成本的產生是自上而下的。軟件項目信息系統上線除了開發人員的勞動付出,一般較為大型的項目需要選擇專業團隊進行系統功能開發,如果是外包的話,體現的是采購金額。開發和使用過程都需要需求提出方的業務骨干參與項目實施和功能設計并進行把關。信息系統建成和投入使用前后,很多前期和數據準備、功能上線、投入使用后的業務數據、業務模型建設都是需要大量的使用者參與。2.軟件項目的效益追求。軟件項目主要的效益是成為企業管理的重要工具和決策支持。首先,通過信息化完成對工作效率的提高和痕跡化管理;其次,通過系統固化流程保證管理規范執行到位;最后,通過業務數據的積累和分析優化流程,通過數據分析經營管理中的經營狀況,建立趨勢分析及各種分析模型,探索盈利模式和取勝之道,不斷提高企業領導層的決策效率和決策水平,最終提高行業發展趨勢洞察力。透視軟件項目管理全流程,從需求研究、技術方案研究、項目實施的協調和溝通,各種信息化管理和技術工具的應用,流程梳理和優化,業務分析和數據分析能力的培養,每個環節都可以培養和鍛煉參與實施人員的各種能力。項目管理思想和技術應用能夠在實踐中不斷鍛煉實施人員的表達能力和溝通能力,培養系統思維和執行力,最終建立戰略上藐視困難,瞄準目標堅持到底,戰術上具體情況具體分析,依靠PD-CA的不斷循環克服每一個困難的行為習慣。所以,通過項目管理和信息化技術來培養人才是非常有效的模式,也是軟件項目研發實施的重要效益。

參考文獻

[1]程序設計系統設計師(高級程序員)(第一版)之“軟件工程”北京:人民教育出版社,2001

作者:張粦雁 單位:廈門煙草工業有限責任公司