摘要:ISO9000、CMM和CMMI在國內軟件企業已經實施了相當一段時間,目前實施后的軟件公司CMM/CMMI等級都上去了,可是效果卻各不相同。本文從軟件過程改進整個過程來探討成功實施軟件過程改進要注意的方方面面,如何才能夠讓軟件過程改進取得最佳效果。
關鍵字:軟件過程改進,CMM,CMMI
1 引言:
軟件開發是一種組織良好、管理嚴格、各類人員協調配合、共同完成的工程項目。軟件開發的核心資源是人,這與那些自動化生產線主要靠機器來工作不同,軟件開發有太多的可變因素,因此對軟件開發的管理應該也是具有一定的柔性,以適合不斷變化的開發過程。
軟件過程是生產軟件的一系列流程,是為了獲取所需要的軟件產品而需要完成的一系列有關軟件工程的活動。他一方面與軟件生命周期、軟件開發方法和工具、軟件開發人員等諸多方面都有著密切聯系,另一方面被軟件公司的傳統習慣、文化氛圍和企業領導人的領導風格所影響。
軟件過程并不是一個單一體,他是由一個主過程和若干輔助過程共同構成。一般的主過程就是軟件開發必須經過的一些過程,稱為開發過程。此過程中的任何一個環節都不可缺少,如最傳統的瀑布模型中的軟件開發過程為:需求分析、總體設計、詳細設計、編碼、測試、部署和維護。輔助過程則一般指軟件開發中的配制管理、文檔管理、質量保證、項目管理等過程。雖然軟件開發只需要開發過程就能開發出軟件,但是缺少輔助過程則會讓整個開發過程變得混亂,甚至失去控制,因此輔助過程也是軟件過程改進中的重要內容。
2 軟件過程改進概述
軟件過程改進(Software Process improvement,SPI)幫助軟件企業對其軟件過程的改進進行計劃、過程診斷、過程改進方案制定以及實施。 他的實施對象就是軟件企業的軟件過程,也就是軟件產品的生產過程,當然也包括配制管理、軟件維護之類的輔助過程,而對于其他的過程并不關注。
在軟件企業,軟件開發是企業最重要、最復雜的過程。軟件產品是軟件企業的生命,對軟件企業進行流程優化和改進,最主要的還是對其軟件過程進行改進。一個軟件企業的消耗與收益都在軟件產品上,開發過程失敗則會給企業帶來致命的打擊,開發成功則能給企業帶來大量的收入,如何降低開發成本,多、快、好、省的開發出所需要的軟件是企業立足于市場的根本。
當一個軟件企業一步步成長的時候,會發現原來的開發方法、管理模式開始不適應目前的開發。需要開發的軟件越來越大、越來越復雜,而不斷的增加人手對開發的進度的幫助越來越小。由于開發人員數量越多,溝通成本就越高,使得總體開發效率反而下降,因此需要在管理方面進行提高、在流程上進行優化,才能夠提高開發效率、縮短開發周期、降低開發成本。
軟件企業從“軟件作坊”進化到“軟件工廠”是一個跳躍式的改變,從開發模式、管理模式、企業運營模式都會發生質的變化。很多從團隊發展起來的小軟件企業很難實現這一步的跨越,生搬硬套更是可能讓企業的生命過早結束。如何提升軟件開發模式和企業的管理是中小型軟件企業發展過程中遇到的最大問題,也是軟件過程改進需要解決的問題。
目前在世界上用的最多的軟件過程改進模型是CMM、CMMI和ISO9000系列標準。軟件企業根據自聲的軟件過程情況,參照模型標準進行對照,找出自身與標準的差異,然后對自身的過程進行改進,以達到標準的要求。在這個過程中需要根據企業自身的情況分步實施,有計劃、有組織的進行,如果一開始就全面鋪開,波及的范圍比較廣,則會給企業帶來較大的風險。如同有些企業一年內從CMM Level1級別一路升到CMM Level 4 級,不僅沒有實施效果,還可能會讓企業適應不了新的流程,而造成企業內部的混亂?傮w規劃、分步實施才能保證軟件過程改進的效果,“先僵化,后優化,再固化”才能夠讓過程改進落到實處。
3 國內軟件過程改進的現狀分析
自從2000 年,中國通過了第一個1+3 的評估以來,實施CMM/CMMI 的顧問團,中國在2006 年1 月份的企業,中國到目前為止已經有 128 家企業通過了評估,美國是158 家。在CMM認證通過的企業數量來看,考慮到中國第一次做評估的是2000 年,而印度要早十年,中國與印度的差距在一步步縮小。
文章來源于領測軟件測試網 http://www.kjueaiud.com/