論軟件開發管理的作用

清華大學軟件技術中心 鄭人傑 


當今計算機工業發展迅速,軟件產業更是如此,技術和產品的更新換代常令技術人員和管理人員感到明顯的壓力。我國信息技術產業的蓬勃發展促使各種先進技術和產品廣泛應用,爲國內的軟件開發注入了活力。然而,值得注意的是,各種先進的操作系統,開發工具等在帶來效益的同時,也使得我們的開發環境日益複雜化而難以管理。無組織的開發環境會導致潛在問題的產生,甚至影響整個系統。比如:團隊溝通困難,軟件重用率低下,開發人員各自爲政,代碼冗餘度高,文檔不健全等;結果造成數據丟失,開發週期漫長,產品可靠性差,質量低劣,軟件維護困難,用戶抱怨使用不便,項目風險增加等。 

事實已經表明,隨着整個軟件業的迅速發展,沒有得到有效管理的軟件開發過程中所出現的風險和挑戰將越來越突出。加強軟件開發管理,通過管理和追蹤軟件開發環境中產生的變更,建立規範化的軟件開發環境,早已爲西方發達國家軟件產業的發展實踐證明是解決上述問題的唯一有效途徑,並已在軟件業發展領先的國家和地區得到普及。

A-軟件開發管理的必要性 


1.軟件資源作爲企業賴以發展的關鍵財富日益受到重視的同時,軟件的開發逐漸轉變成爲一種工業化的生產過程,因此必須對其所有環節施加有效的管理和控制。 

2.處於激烈市場競爭中的軟件開發機構若想在預定的期限內用有限的資金,滿足不斷增長的軟件產品需求,就必須努力加強軟件開發過程的管理。 

3.Client/Server已成爲今天軟件開發的主流,而在日益複雜的分佈開發環境下,要實現團隊開發所必須的代碼共享就更爲困難,需要跨越的平臺增多。 

4.一個應用系統的開發可能包含成百上千個軟件模塊以及數萬行代碼,而任何一個編程人員都不可能瞭解和追蹤應用系統的各個片段。 

5.任何一段軟件代碼對開發機構來說都是負有重要使命的軟件財富,因而使其具備可管理性和可審覈性就顯得尤爲重要。 

6.軟件產品與其它產品不同,在投入使用後的維護和支持工作十分重要,因此需要可靠的維護支持、有序的文檔資料,以及完整的開發、維護記載。 

B-軟件開發管理工具———PVCS 

先進的軟件開發管理工具不僅具備版本管理、建立管理、構造管理、問題追蹤這些基本的功能模塊,還融合了需求管理、需求變更管理技術,並支持工作流程,以至Internet/Intranet應用的異地通訊和管理功能。在下面的篇幅中,我們以軟件開發管理工具的主要代表產品———PVCS爲例來分析軟件開發管理在軟件開發各階段中所充當的重要角色。 

·PVCS由下面8個功能模塊組成,幾乎覆蓋了軟件開發管理中的所有問題: 

·PVCSVersionManager:存儲任何類型的文件的變更資料,可快速得到系統中任何文件的各個版本。 

·PVCSConfigurationBuilder:爲軟件系統提供了可靠的自動重建過程。它保證系統在任何時候對某一發布的產品準確地進行重建,避免發生錯誤,同時自動地對修改過的模塊重新編譯以節省時間。 

·PVCSTracker:在整個開發過程中確定和追蹤軟件的每一變更的要求。 

·PVCSNotify:將軟件狀態的變更通過E-mail通知組織機構中的其他成員。 

·PVCSReporter:爲GUI界面環境提供一個客戶報表工具,使用它能很容易地生成和存儲多個項目的報表。 

·PVCSProductionGateway:提供了局域網間與大型機MVS系統雙向同步互聯。 

·PVCSDeveloper'sToolkit:爲PVCS客戶提供了應用程序開發接口(API),使項目信息通過編程訪問。 

PVCSRequisitePro:實現了先進的需求管理,以及需求變更管理功能。 

上述的8個模塊既可以單獨的安裝和使用,也可以相互集成,建立工業化軟件開發企業所需的完整的軟件開發管理環境。PVCS不僅很好的解決了代碼重用,數據丟失等問題,它還從下述的幾個主要方面,滿足了軟件開發機構迅速增長的市場需求,成爲全球開發機構首選的軟件開發管理工具。

C-加快提高軟件開發速度適應市場的壓力 

無論所開發的產品是爲內部用戶還是外部用戶,都同樣面臨着要求加快開發速度的強大壓力。一方面,軟件產業的發展促進越來越多的供應商更快推出產品,爲開發機構參與競爭提供了有利條件;另一方面,開發機構藉助Internet/Intranet作爲軟件分發工具,使得開發週期從原來的數月甚至數年縮短到幾天或幾個小時。在這樣不斷增長的市場壓力下,若不能及時地配備開發工作所需的開發管理工具,勢必使產品長期停留在低水平上,並且開發機構也會因此而喪失原有競爭優勢。面對上述挑戰,開發機構需要軟件開發管理體系能自動地建立、收集和管理信息系統,而且這樣的管理體系必須是可重複的,可適用於其它開發項目,並在產品的生命週期中保持軟件資源的完整性。總之,對開發過程的控制是加速開發過程和推出新產品的關鍵。 

AmericanInternationalUnderwriters(AIU)公司的ITgroup負責公司系統內部保險單預定系統的建立和傳送。爲了更好地服務於國內及國際市場的用戶,AIU從原來集中化的企業運作轉爲分散式結構。由於所需的源代碼遍佈於全球的各個角落,ITgroup很難找出所需代碼並識別其應用系統的版本,因而這種狀況極大地降低了開發人員的工作效率,增加了潛在的錯誤,減緩了產品推出的速度。 

採用PVCS以後,AIU得以實現理想的軟件開發管理環境,並能有序地管理所有的源代碼,使系統的建立、測試和代碼分發符合各種質量標準和程序,加快了內部系統的開發速度並提高了軟件質量。 

D--支持軟件開發質量亟待提高的迫切需要 

開發機構爲了提高開發速度,往往在工作量投入不足的情況下推出未經過充分測試的產品; 而客戶對投放市場的產品卻抱有越來越高的期望值,這一矛盾發展的結果使開發機構迫於市場和用戶的壓力必須取得ISO9000質量認證,並遵循美國卡內基·梅隆大學軟件工程研究所SEI的CapabillityMaturityModel(CMM)標準來改進自己的開發過程。這些質量標準,爲軟件產品在開發過程中進行內部產品的評估和管理提供了框架。能否贏得越來越多的銷售合同,取決於該企業是否已得到ISO9000及SEICMM的質量認證。而軟件開發管理是通過這些認證的基石,它能夠提供符合高質量標準所必須的控制要求、安全要求,以及在取得認證後還必須達到的審覈追蹤要求。軟件開發機構若想從初始混亂的開發過程過渡到可重複、可管理的有序化過程,進而上升到更高的成熟水平,軟件開發管理則是最有力的支持。這一情況也可從以下事例得到證實: 

WayneDivisionofDresserIndustries位於美國德克薩斯州的奧斯汀,爲取得ISO9000-3認證全面應用了PVCS。WayneDivision負責爲世界各地的主要跨國石油公司建立所需的應用開發系統,經常接觸蜘蛛網般錯綜複雜的多用戶、多產品、多應用系統的軟件版本。Dresser開始準備ISO9000-3的認證時已在使用PVCS,他們發現ISO9000中所要求的軟件開發程序和步驟已經是其使用PVCS所實現的開發過程管理的一部分。因而對於ISO9000來說,他們僅需按照ISO9000-3的標準進行簡單的調整即可。 

E--適應紛繁複雜的開發環境 

今天的軟件開發環境確是一個多樣化的複雜集合體。多操作系統、多開發工具、多數據庫和多對象類型造成的多重效果,形成了難以管理的紛繁複雜的開發環境。開發Internet及Client/Server應用系統的軟件團隊往往分佈於各個不同的地點。這種情況下若沒有一個自動化的通訊手段,追蹤軟件模塊變更管理體系,使開發團隊成員共享LAN或WAN的開發環境,就會不可避免地引起錯誤,造成時間和資源的浪費。 

多重結構開發致使很多的對象類型需要管理。開發項目會產生多樣化的檔案格式,如文本檔案、文件檔案、圖形格式、電子表格等。當開發環境中開發工具和對象類型發生變化時,軟件開發管理的基礎結構必須始終保持統一,手段必須足夠靈活。能適合任何操作系統、測試系統、計算機語言和對象類型的開發環境,必須具有可擴展性以適應任何規模和結構的開發團隊。最爲重要的是,所採用的軟件開發管理工具不僅要能夠支持今天的複雜環境,而且應可以隨時調整適應將來的需要。比如:ChaseManhattanBank即美國大通銀行是一家擁有1000億美元資產的跨國金融機構,使用各種工作站(包括獨立的和與大型主機經LANs相連的)和LANs(均在WANs下與大型主機相連)。工作站運行在DOS、OS/2和Windows環境下,其中有一些還連接在Novell、OS/2Server、LANServer和LANManager中。ChaseManhattanBank之所以選擇了PVCS,因爲它是能夠支持其所有硬件系統和操作系統平臺的唯一產品。PVCS能夠有效地管理任何對象類型並且可以在獨立的工作站上運行,跨越單個LAN或多個LAN,使ChaseManhattanBank在這樣複雜的環境中獲得了成功。 

F--解決開發過程中的需求管理問題 


最近一份由TheStandishGroup提供的調查報告表明:30%以上的軟件項目在沒有完成之前就被取消;剩餘的70%的項目不能完全實現所需的功能:平均完成每個項目的實際經費超過預算的189%,而實際時間則超過預期的222%。這些情況往往是軟件開發項目遇到的致命問題,其原因在於以下幾個方面: 

需求管理水平低下 我們的應用系統缺乏吸收來自用戶的需求變更能力,在項目開發進展的同時不能響應這種變化。 

變更管理水平低下 需求的變更和其他開發產品的變更是不可避免的,而我們很少去追蹤這些變更,也意識不到它給項目開發所帶來的影響。 

低水平的質量控制 缺乏系統質量控制的方法,不瞭解開發過程中影響質量的環節,並且缺乏反饋。 

沒有對開發經費和期限進行有效的控制 雖然可以精確地計劃,但是出乎意料的變化卻經常出現。 

解決上面所有問題的基礎在於需求管理。需求管理,是一種對軟件應用開發系統的需求變更進行標識、組織、通訊和管理的系統方案。 

PVCSResiquitePro是PVCS與世界上最先進的需求管理工具的完美集成。PVCSRequistePro提供了一個獨特的MSWord的界面和需求數據庫,使軟件開發團隊實現了實時的、直觀的應用需求管理和需求追蹤功能。同時,PVCSRequisitePro還確保用戶完全符合CMM標準和ISO9000標準。 

小結 


PVCS是一個優秀的軟件開發管理工具,在解決上述幾方面問題中顯示了優越性,它在應付複雜環境、增強競爭優勢方面所發揮的重要作用已經得到了衆多開發機構的一致承認。在我國,許多的軟件機構往往將注意力放在先進的操作系統、平臺,以及開發工具上,而忽視了對開發過程的管理和控制,殊不知所造成的管理混亂不僅使寶貴的投資難以收回,也使軟件開發的質量和效率長期徘徊於低水平重複狀態,更不用說因人員流失所導致的項目風險。而且上述情況將隨着各種操作系統、開發工具,以及開發團隊人員的增多而更加嚴重。儘早地應用軟件開發管理工具對開發過程進行有效的管理和控制,有助於我國的軟件開發水平一步跨越西方軟件企業所走過的彎路,上升到一個新的高度。 

※ 來源:·BBS 水木清華站 bbs.net.tsinghua.edu.cn·[FROM: case.cs.pku.edu]
發佈了28 篇原創文章 · 獲贊 0 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章