軟件過程改進開展必須高層管理者支持
1 引言
軟件企業在發展到一定階段時,對軟件開發質量、進度和成本會有越來越高的要求,于是軟件過程改SPI (Software Process improvement)進成為必然。我國引進過程改進已經多年,包括CMM/CMMI體系、ISO和歐洲一些模型標準的推廣等。20世紀90年代初,我國開始引進國際流行的質量管理標準ISO 9000。20世紀90年代末,軟件界又開始逐漸把注意力轉向了CMM,越來越多的軟件企業開始注意軟件過程改進SPI。與此同時,以提升項目管理能力為目標的美國項目管理知識體系PMBOK也引入中國。在這些標準、體系引領下,有的企業在質量和過程方面取得顯著成效,有的則不夠理想,甚至有的沒有什么成效,拿到個證書也只是做做樣子,用于裝扮自己的企業。
為什么會有這樣大的差別呢?關鍵在于企業或組織如何改進自己的過程。無論是借助標準或模型還是自我內部需要,企業需要結合自己的實際,找到可行的方法和途徑。這里面涉及公司高級管理層的支持、人力和物力(如工具)的投入、團隊實施等一系列問題,只有解決了這些問題過程改進的開展才可能有成效。
進一步說,眾多軟件企業對如何制定軟件過程改進策略?過程改進需要哪些基礎支持?過程改進如何開展?等問題并不很清楚,也沒有達成某種程度上的共識。這樣,過程改進多趨于形式化,進而無法有效開展。
2 軟件過程改進開展概述
過程(Process)是為實現既定目標的一系列操作步驟[IEEE-STD-610]。那么,軟件過程(Software Process)則是指人們用于開發和維護軟件及其相關產品的一系列活動、方法、時間和革新。
軟件過程涉及軟件工程和軟件管理兩類,工程類的主要過程域:需求開發、系統設計、軟件實現、軟件測試、軟件維護等等;管理類的主要過程域:項目規劃、項目監控、需求管理、質量管理、配置管理等等。
2.1 軟件過程改進策略
通常,軟件過程改進有自上向下和自底向上兩種模式,前者是基于標準的,由標準來規范實踐;后者是基于實踐的,由組織中待解決問題出發,選擇和裁減標準。
對于大、中、小軟件企業而言,采取的軟件過程改進策略不一樣,關鍵看是否符合自身的實際情況。中小企業的實際情況是:管理基礎薄弱,資源不足,生存壓力大,缺乏統一而有力的文化,人員素質良莠不齊;而大型企業相反。大型軟件企業自上而下的模式比較容易推動,對于中小型軟件企業在沒有正式評估的壓力情況下,采用自底向上模式更合適。
以下是針對中小軟件企業的一系列具體的過程改進策略[1]。
策略一:兩個方針
重診斷,輕評估以診斷和解決企業實際問題為SPI方法論,不追求商業評估。
策略二:兩手抓
實施制度化的同時,并行實施企業文化;既要施壓,又要清障。
中小企業往往制度化體系很不健全,存在著隨意決策的管理習慣,甚至基本的企業紀律都不具備,企業還處于人治和法制的爭論中,這樣的狀態和某些大企業實施SPI的狀況是不同的,需要特別強調行政施壓。由于缺乏統一的企業文化,所以理念的統一也要加以重視。
策略三:推行兩種工具
要推行配置管理工具和項目管理工具這兩種工具,工具將有效分解事務性工作,從而緩解人力資源投入不足的矛盾。
策略四:補兩門基礎課
為了解決基礎薄弱的問題,需要在SPI前期為企業補基礎管理和基本軟件工程兩門課。
軟件企業需要補的基礎管理內容包括:基本時間管理、角色轉變、目標管理、溝通管理、基本人力資源管理等;拒浖こ虅t包括基本的軟件工程生命周期、階段劃分、基本文檔編制等。
策略五:發動三方參與
一是高于項目管理的層面,稱為高層經理。他們提供資源和戰略兩方面的支持,所以高層經理應該對體系總體架構、體系實施必要性、可行性、障礙和風險、資源等負有責任。
二是項目管理層面,含項目經理和SPI人員。SPI人員作為制度化體系的執行者和推行者應該加強自身修養,要求別人的事,一定要自己能做到。而項目經理作為主要的一線實施人員,需要對整個體系的細節有深入了解和研究,應該把日常工作時間的30%~50%放在工程化管理相關事宜上,要貫徹公司的SPI整體制度,積極主動在項目組內進行推行。
三是項目組成員,包括開發和測試人員,要求團隊以紀律性要求自己,做好局部和整體、短期和長期的矛盾平衡。
2.2 軟件過程改進開展的基礎支持
軟件過程改進SPI是變革管理的一種,凡是變革管理都需要進行干系人分析,包括企業的高級管理層、部門管理、項目經理、項目成員、客戶等幾部分。軟件企業在確定適合自身的實施策略后,需要這些利益相關人的支持,特別是高層管理者的支持。
同時,所謂巧婦難為無米之炊,軟件過程改進需要一定的人力、物力的投入,包括設立EPG組織、專職SPI人員、專門的工具等。通常SPI專職人員的比例應該占公司研發團隊總數的3~5%;過程數據的采集和分析需要工具的支撐,要考慮是外部購買還是自我開發支撐工具。這些都涉及一些投入成本。
企業有了以上這些基本支持,軟件過程改進才能有保障。
2.3 軟件過程改進開展的團隊實施
文章來源于領測軟件測試網 http://www.kjueaiud.com/