一、選擇適當?shù)腃MMI模型
CMMI是一套產(chǎn)品軟件過程改進模型的集合。針對不同的學科有不同的規(guī)范和標準。
并且,每增加一種CMMI學科規(guī)范,組織在改進和評估中就要考慮更多的過程需求。比如,原來的SW-CMM模型中描述了300多個實踐,而現(xiàn)在的CMMI- SW/SE版本1.1中卻描述了400多個實踐,用這兩種模型進行過程改進或評估所需要的工作量顯然是不同的。因此,一個組織要想利用CMMI進行過程改 進,首先必須根據(jù)自身的主要業(yè)務類型,以及改進的目標等因素,在CMMI產(chǎn)品集合中選擇適合于自身組織的CMMI學科模型。
組織在選擇適合自身需要的CMMI模型時,主要應該考慮以下3個方面因素的影響。
①組織的核心業(yè)務類型
②組織開展項目的業(yè)務環(huán)境
③集成化過程改進的范圍和目的
1、組織的核心業(yè)務類型
這 一點對于CMMI模型的選擇尤其重要。雖然在一些大型項目中總會涉及到多學科、多領域的問題,但是對于組織中的核心業(yè)務來說,總是有一門或幾門學科是特別 重要的。為了減少過程改進中的工作量,避免在改進中引入一些不必要的過程域,組織應該選擇對業(yè)務成功至關重要的學科規(guī)范。對于開發(fā)產(chǎn)品或服務的組織來說, 其業(yè)務類型大致包括如下3種。
①組織獨立承擔某項新產(chǎn)品的全程開發(fā)和維護,開發(fā)過程不受外部因素影響
以 軟件開發(fā)為例。如果軟件開發(fā)組織需要開發(fā)的是一個面向某一領域的軟件系統(tǒng),并且是獨立開發(fā),則首先考慮的模型就應該是CMMI-SW。該模型中對于軟件開 發(fā)過程中需求的建立、項目計劃的制訂和實施,以及對軟件的測試等過程都有詳盡的描述。不過,考慮到軟件工程與系統(tǒng)工程兩個學科之間的大量重復性,以及兩者 在全程質量管理上的統(tǒng)一性,一般推薦使用CMMI-SW/SE模型。由于CMMI項目在軟件與系統(tǒng)工程之間已經(jīng)進行了比較完美的集成,因此對于進行獨立軟 件開發(fā)的軟件組織來說,采用CMMI-SW/SE模型進行集成化過程改進,是在集成性和工作量二者之間進行折中的最佳平衡點。
②組織在開發(fā)產(chǎn)品或服務中需要集成他人創(chuàng)建的產(chǎn)品,或對產(chǎn)品的開發(fā)過程受到某些工程的影響
實 際上,隨著系統(tǒng)復雜性的增長,軟件組織所承接的大部分項目都是屬于這種業(yè)務類型,這就涉及到開發(fā)過程中多學科的交叉以及并行工程等問題。CMMI產(chǎn)品集中 的CMMI-SE/SW/IPPD對這種類型的項目開發(fā)過程進行了詳細描述。一般來說,如果組織在項目開發(fā)中需要使用交叉學科群組,需要解決對項目群組的 使用、計劃和組織,需要解決學科或組之間的溝通以及與集成化產(chǎn)品和過程開發(fā)相關的一些問題,則可以考慮選擇CMMI-SE/SW/IPPD模型。
③組織在開發(fā)過程中需要獲取或轉包某些關鍵構件
這種業(yè)務類型主要涉及到對產(chǎn)品的獲取和轉包,也就是與產(chǎn)品供應商相關的一些問題。
CMMI-SE/SW/IPPD/SS版本1.1中對于供應商的選擇和監(jiān)督、集成化供應商管理以及供應商定量管理等方面給出了詳盡描述,可以比較成功地解決這些問題。因此,這時應該選擇CMMI-SE/SW/IPPD/SS模型。
2、組織開展項目的業(yè)務環(huán)境
軟件組織開展項目的業(yè)務環(huán)境也是影響模型選擇的一個重要因素。在為過程改進選擇模型時,主要應該考慮以下兩種業(yè)務環(huán)境。
①項目開發(fā)周期的時間長短及項目的穩(wěn)定性
如 果組織所承接的是一個長期項目,具有穩(wěn)定的工作環(huán)境和壓力,那么可以考慮選擇集成了多學科的過程改進規(guī)范。因為,當組織面對一個長期、穩(wěn)定的項目環(huán)境時, 一般能夠支持在一系列業(yè)務活動之上的集成化過程改進工作。并且,由于項目的長期性為過程改進提供了充裕的時間,因而組織可以嚴格貫徹模型中所描述的過程域 中的各項實踐活動,同時還可以從數(shù)據(jù)和經(jīng)驗積累中感覺到過程改進所帶來的益處。
如果組 織所面對的是一個快速發(fā)展的環(huán)境,所承接的項目是短期的、按進度驅動的工程,那么可以考慮只集中于一個特定的學科進行過程改進,甚至可以只選擇某一學科規(guī) 范中的少數(shù)過程域進行改進,這樣可以在不影響項目進度的前提下,盡快得到過程改進投資的效益回報。當然,從組織的長遠發(fā)展來說,這種做法并不可取。但是當 一個組織在面對項目進度的壓力時,也只能采取這種折中的做法。
②項目面對的客戶基礎
在選擇過程改進模型時,組織所面對的客戶也是一個不容忽視的因素。如果組織承接的是對復雜系統(tǒng)有一些關鍵需求的大型項目,例如國防、航天等項目,則客戶往往就會要求組織采用有把握的學科模型來匹配系統(tǒng)開發(fā)過程。
3、集成化過程改進的范圍和目的
在 選擇合適的模型之前,首先應該了解所需改善的過程種類和過程改進的目的。如果組織的目的完全是為了進行內部過程改進,那么在選擇模型方面可以有很大的余 地。針對組織中涉及的項目種類和業(yè)務類型,只要有助于組織開發(fā)過程的定義、改進的學科模型都可以選擇。但是,如果組織進行過程改進是為了認證或定級,以擴 大組織對外的商業(yè)影響力,那么就應該有針對性地選擇某一特定學科的模型,在過程改進過程中也就要注意對模型實施的嚴格性和全面性。