王銳
摘 要:工程化軟件開發需要對軟件開發整個過程進行有效的組織.和管理,由此產生了一系列軟件開發組織和管理方法,其主要目的是.形成一種載體,用以敘述和傳遞關于軟件開發的經驗教就然而,由于軟件開發的一些天然.特性(比如復雜性和不可見性)的存在,使得描述軟件開發過程的軟件開發與組織方法也天然的帶著一定的抽象性.由此帶來了很多概念上的誤導和實踐中的爭論,影響了上述目的的達成.例如,對于究竟該如何選擇和定義合適的軟件開發過程以更好地滿足某個特定項目的要求,目前仍然缺少可靠的手段.甚至有些面向工業界的調研報告表明:在實際軟件項目開發中,過程改進(例如引入新的工具或者方法)的主要驅動力是佚聞.試圖厘清軟件組織與管理話題的若干核心概念,系統梳理軟件組織和管理方法的特征,并且以軟件發展的歷史為主線,介紹軟件組織與管理方法的歷史沿革,整理出這種歷史沿革背后的緣由.在此基礎上,討論和總結若干發現,以期為研究者和實踐者提供參考。
關鍵詞:軟件工程;軟件過程;軟件項目管理;軟件過程管理
1 概述項目管理
軟件項目管理,其管理的對象是各類軟件項目。具體軟件而言,軟件項目管理是應用方法、工具、技術以及人員能力來完成軟件項目,實現項目目標的過程.整個軟件開發過程中的目標識別、狀態跟蹤以及偏差糾正是軟件項目管理的三大核心要素。完整的軟件項目管理包含很多內容,例如成本和工作量的估算、計劃和進度跟蹤調整以及風險分析與控制等,都屬于軟件項目管理的范疇(可以參考第6版PMBOK來了解項目管理知識領域).盡管抽象概念上具有相似性(例如,所有管理活動都應該包含目標識別、狀態跟蹤以及偏差糾正這三大核心要素),軟件項目管的具體方法和實踐會因為項目特征呈現出不同的經驗和教訓。
2 項目管理當下的研究背景
隨著計算機應用的快速普及,軟件產品的功能越來越多,復雜性也越來越大,軟件產品階段包括需求分析、系統設計、系統開發等,每一個階段都有專業的系統需求分析師、系統設計師、程序員等完成關聯任務,并且涉及到不同的部門,導致項目的風險管理、成本管理以及進度管理難度加大l[]。因此,軟件項目研發需要引人現代項目管理思想,實施嚴格的進度管控,控制軟件開發周期,降低軟件研發成本。
3 項目管理容易出現的兩大問題
一、相比較于軟件的發展,軟件過程具有滯后性。
這個原因易于理解,因為軟件過程本身就是經驗教訓的總結往往都是在現實中出現軟件開發能力不能支持人們對軟件需求和期望這樣的問題之后,相應的軟件過程和開發方法才會開始演進,以解決上述問題從這個意義上說,除非要解決的問題出現顯著變化,否則,對軟件過程的研究和探索的重點則仍然應該放在如何更好地使用現有過程和方法上,而不必去創造新的方法。
二、簡潔、直觀的過程。
我們發現,能夠讓開發者廣為認同和使用的軟件過程幾乎都有一種外在的簡潔軟件開發本身具有的復雜性和不可見性已經使得開發者之間的交流面臨著諸多困難,因此,為了能夠形成一致的愿景,所使用的軟件過程必須具有一種外在的簡潔性整個軟件系統應如何開發?應分成哪些階段?每個階段要實現什么樣的目標?每個階段與整體之間的關系是什么?諸如此類的問題,需要整個開發團隊達成共識正因如此,我們不難理解具有外在簡潔性的SCRUM方法之所以能夠長期占據各類敏捷方法首位的原因當然,按照Royce的說法,簡單的軟件過程是不能應對復雜軟件項目的開發的因此,僅僅保持外在的簡潔是不夠的,還需要盡可能詳細地規劃每個主要開發階段的具體流程,才能形成一個具有指導意義的可以工作的軟件過程
4 解決方法
(l)組建專業化團隊。
選定項目總體負責人,根據軟件項目工作計劃,劃分軟件產品功能模塊,由熟悉該領域的人進行詳細分工,明確團隊成員職責,防止團隊成員推樓扯皮、挑肥揀瘦,并且要積極的營造一種團隊協作良好、人員積極向上、開發經驗共享的工作范圍,凝聚和增強團隊戰斗力,穩定團隊成員心態,降低流動頻率,落實進度計劃。
(2)創新軟件開發技術,縮短實施周期。
軟件項目產品要吸收新技術、新理念,比如軟件復用技術和CASE技術。軟件復用可以利用組件、接口、類等提高程序的復用性,一次開發處處使用,這樣即可以降低軟件出錯率,也可以縮短編程時間;利用CASE技術可以提高軟件開發、部署和運行的支持力度,使用先進的工具提高軟件開發效率。
5 結束語
隨著軟件項目復雜度的增大,在軟件項目研發中引人先進的工程管理理念具有重要的作用和意義。項目進度控制可以從需求階段、實施階段和收尾階段進行嚴格的控制,采用先進的軟件工程技術和理念保證軟件研發順利進行,盡可能縮短軟件項目研發周期,具有重要的作用和意義。
參考文獻
[1]榮國平,邵棟,華金茹.一種基于目標驅動的軟件開發過程知識管理方法:.
[2]郭書琴.軟件開發管理方法綜述[J].中國科技信息,2017(14):54-55.
[3]何耀欽.軟件系統工程:方法和管理的結合[J].系統工程(01):13-18.
[4]羅新,尼建軍.軟件項目風險管理綜述[J].現代計算機(專業版)(21):18-21.
[5]童麗娟.軟件維護方法綜述[C]// 河南省冶金行業低碳冶金與節能減排學術研討會論文集.2011.