引子:
某個通信設備研發與制造公司,研發體系人員約有300多人,2004年初在CMMI咨詢專家的輔導下啟動CMMI-SW/SE咨詢項目,公司成立了由30多個業務骨干人組成的CMMI流程優化組編寫CMMI過程定義及指導書,并在2004年5月份啟動了三個試點項目,經過近半年的試運行,最終在2004年底通過了CMMI的3級評估認證。2005年,公司按照CMMI過程定義實施產品開發時,還是在工作中發現這樣或者那樣的問題,正如在2005年底公司研發管理工作總結時,公司副總裁兼研發中心的總經理說,“通過CMMI咨詢項目的運行,公司的產品開發在研發體系是有章可循,所研發的產品質量有所提高,但一些問題還是沒有得到根本性解決,如產品開發中研發部門跨到其它體系溝通的障礙依然存在,產品開發還是依然以技術為趨動力量,市場趨動的產品開發還是依然沒有得到實現,公司開發出來的產品在發布決策時的支持信息不充分導致決策遲緩,等等諸多問題,需要我們公司的流程優化人員持續進行優化。”
這個已經通過了CMMI-SW/SE三級認證的公司,為什么在產品開發過程中還會存在上面的問題呢?為了給讀者更好地解釋,我們要從CMMI模型的核心內容來分析,并分析企業實施CMMI的實踐方式,然后結合IPD的核心思想來提出IPD+CMMI的系統性解決方案。
一、CMMI產生及核心內容
CMMI模型脫胎于軟件CMM模型,CMM這個模型是美國卡內基·梅隆大學的軟件工程研究所(SEI)在美國國防部的資助下發明的。其背景是在上世紀80年代美國國防部在發包軟件項目時,發現對這些軟件供應商在軟件開發項目上超時超支現象特別普遍,而且所交付的軟件質量也比較差,但國防部又無從下手對這些軟件供應商進行評價來選擇那些成熟的供應商,其實供應商自己也不知道怎么能把軟件項目管理好,在這種背景下,國防部資助軟件工程研究所,希望他們能夠研究出一種評價模型來評價軟件供應商的研發水平的成熟度,以便國防部只向成熟度高的軟件供應商發包項目,CMM模型由此誕生。
使用CMM模型,國防部評價供應商,以及軟件供應商對自己過程改進確實起到了很大的作用。但是,大部分的企業研發不僅包括軟件,也包括硬件和結構,光CMM模型是不能指導一個公司系統級產品研發的。所以2001年軟件工程研究所在CMM模型基礎上又發明了CMMI模型,用這個CMMI模型來指導系統級產品開發項目管理工作。
CMMI-SW/SE模型是將研發管理分成22個過程域(PA),每一個過程域是關注研發項目中某個方面(PA),如“產品集成過程域”規定了在產品集成時要達到的目標。只有相應等級及以下各等級的過程域目標實現了,在CMMI認證評估時才認可達到了相應等級要求,即是通過了相應等級認證評估,可以拿到軟件工程研究所頒發的相應成熟度等級的證書。表一列出了CMMI-SW/SE模型22個過程域。
表一:CMMI-SW/SE模型包括的過程域
針對CMMI模型中22個過程域要求達到的目標具體描述,本文不作詳細介紹,有許多專業類的書籍讀者可以參考。需要說明的是,CMMI模型這22個過程域規定了研發項目管理具體的要求,我們知道在企業中,項目管理和產品開發管理是不同層次的事情,而且所涉及的知識領域也是不同的,如產品開發要關注市場,項目要關注特定的客戶;產品開發是公司級的事情,而研發項目一般是研發中心投入工作量最大。
二、企業實施CMMI的方式
在咨詢的過程中,我們接觸過許多中國企業,發現他們在實施CMMI時,是按照過程域編寫過程文件用來指導研發工作的,其結果是針對每個過程域有相應的過程定義或者指導書來指導實踐運作。表二是某個企業實施CMMI所產生的過程文件,具有一定的代表性。
表二 某公司CMMI模式的過程定義集
三、CMMI模型在產品開發管理中存在的遺憾
用CMMI來指導企業產品開發,存在以下兩個遺憾:一是由于CMMI模型是按過程域來描述的,因此企業為通過CMMI評估認證,一般按照過程域來編寫過程定義文檔,割裂了產品開發橫向的端到端(從客戶中來到客戶中去)完整性。
二是這個CMMI模型主要是從和特定客戶確定需求以后直到交付給特定客戶這樣一個項目管理的過程,在指導定制項目上取得的成績是有目共睹,在指導企業產品開發時就存在著遺憾了。針對企業來說,更多地是關注市場、以市場為導向進行產品開發,對企業來說產品開發已經不是單純的產品本身開發,而是產品包的開發,所謂產品包,不光是指產品功能、性能本身開發,也包括可制造性、可測試性、可服務性,同時也包括生產策略、銷售策略、服務支持策略、宣傳策略的開發等。
下面我們分析一下企業中產品包開發具體流程及要做的具體工作內容:
我們知道在企業中要做產品包開發,首先要對市場信息進行收集,信息包括市場宏觀環境信息、競爭對手的信息、客戶信息、自身的信息,然后對這些信息進行分析,根據客戶需求的不同,將整個市場劃分出不同的細分市場,分析出各細分市場的容量,分析在這些細分市場中公司的競爭能力如何,然后企業根據自身競爭力情況來確定進入吸引力較大的細分市場作為企業的目標市場。
選擇了企業進入的細分市場,企業要制訂產品線的業務計劃,其內容包括財務策略、訂單履行策略、組合宣傳策略、技術支持策略、生產策略等內容,根據這些策略并制訂相應的實施計劃。如果一個企業存在多個產品線,產品線業務計劃制訂出來后,各產品線要融合業務計劃。各產品線根據優化后的業務計劃,規劃出本產品線的產品開發的路標。根據路標規劃,由產品線的集成組合管理團隊(IPMT)向產品開發團隊(PDT)下達產品包開發的任務書,進入產品包開發流程。
在產品包開發過程中,是需要公司的各部門參與的,如研發部門、制造部門、測試部門、銷售部門、采購部門、財務等,為了便于跨部門溝通順暢,在西方發達國家一般是通過建立跨部門的虛擬團隊(產品開發團隊)。產品開發的過程一般經過概念、計劃、開發、驗證、發布,最后進入生命周期管理階段,在每個階段中是采用跨部門的、并行作業方式,如在概念階段在確定產品包概念時,制造策略、銷售策略、服務支持策略、營銷宣傳策略等也在此進行確定和優化。
在整個產品開發過程中,是要有相應的組織來保證的,一般是用跨部門的虛擬團隊,如負責市場管理的組合管理團隊(PMT),負責決策的集成組合管理團隊(IPMT),負責產品開發的團隊(PDT),負責產品生命周期管理的團隊(LMT),負責技術管理的集成技術管理團隊(ITMT),負責技術開發的團隊(TDT)等,只有明確了這些虛擬組織角色和職責,并對其授權,才能在組織上保證產品開發的順暢實施。
另外在開發過程中,不斷調用一些子流程,有的公司稱之為使能流程,如項目計劃與跟蹤子流程、配置管理子流程、變更控制子流程、方案設計子流程、產品集成子流程、同行評審子流程等。
按照CMMI過程域所制訂的過程定義文檔,一般來說只能是產品開發過程中被調用的子流程,為什么這樣說呢?從表二可以看出,忠實按照CMMI模型寫出的過程定義基本上是就過程域來編寫的,對每個過程域如何實現,用到什么工具更好地輔助過程域實現都研究得非常到位,但就缺少了企業產品包開發中市場信息收集、市場管理、產品線業務計劃、產品規劃、跨部門組織、跨部門流程、平臺運作、CBB管理、項目群管理等模塊內容,無怪乎一些組織實施過CMMI后,在企業產品開發中還存在著正如本文開頭所說的那些問題的發生:“通過CMMI咨詢項目的運行,公司的產品開發在研發體系是有章可循,所研發的產品質量有所提高,但一些問題還是沒有得到根本性解決,如產品開發中研發部門跨到其它體系溝通的障礙依然存在,產品開發還是依然以技術為趨動力量,市場趨動的產品開發還是依然沒有得到實施,公司開發出來的產品在發布時決策的支持信息不充分,等等諸多問題,需要我們公司的流程優化人員持續進行優化。”
其實,上面提到的這些問題,正是IPD(集成產品開發)所關注的。
四、IPD的核心內容
IPD的核心內容是以市場為導向的產品開發,關注客戶需求,另外IPD把產品開發在公司內部也作為一項投資來看待,建立了虛擬的投資決策委員會(IPMT),對產品開發團隊(PDT)的活動在一些關鍵點上進行決策,此外IPD所建立的產品開發團是跨部門的,可以打破部門之間的溝通壁壘,并給出了跨部門業務流程指導跨部門團隊運作。
圖一給出了IPD的核心模塊內容,對IPD的核心思想進行分析如下:
組合管理:要對產品開發進行有效的投資組合分析,選擇那些即有市場前景(市場的吸引力大)、公司又具有競爭實力的細分市場作為公司的投資重點(目標細分市場),并在開發過程設置檢查點,通過階段性決策評審來決定項目是繼續、暫停還是改變方向。
$APPEALS:產品創新一定是基于市場需求和競爭分析的創新。為此,IPD把正確定義產品概念、市場需求作為流程的第一步,開始就把事情做正確,用市場管理流程牽引產品開發,為此IPD提供了$APPEALS工具指導客戶需求收集,通過這個工具,由客戶定義出產品概念及其各要素的優化級,而不是由研發人員在實驗室里定義產品概念。
異步開發:就是通過嚴密的計劃、準確的接口設計,把原來的許多后續活動提前進行,這樣可以縮短產品上市時間,如把技術開發和產品開發異步進行,在產品規劃指引下,技術平臺開發先行;采用公用構建模塊(CBB:Common Building Block)提高產品開發的效率。這樣可以避免技術開發和產品開發同步進行,產品開發進度延遲的風險大大減少。
跨部門團隊:采用跨部門的產品開發團隊(PDT:Product Development Team),設置LPDT角色負責跨部門溝通,明確產品開發團隊和職能部門的職責,產品開發團隊的職責是實現產品,而職能部門從傳統的業務與職能管理轉化為業務服務部門,產品開發團隊通過跨部門的有效的溝通、協調以及決策,達到盡快將產品推向市場的目的。
結構化流程:建立端到端的產品開發流程,所謂端到端是區別于職能式的產品開發模式,建立的產品開發流程是跨部門的、關注業務實現的、客戶到客戶的業務流程,其最高端為產品開發的袖珍卡,袖珍卡標明了產品開發實現較高端的活動,下一級為階段流程,如概念階段、計劃階段、開發階段、驗證階段等流程,以指導開發團隊工作。
管道和項目管理:在企業中,同時存在多個產品開發項目,因此就需要對項目群之間的資源進行協調。通過管道管理方法論,解決整個體系中資源平衡的問題,解決資源忙閑不均的問題。
衡量標準:和CMMI中的度量過程域相同,IPD也提供了衡量標準模塊來指導度量分析工作,并把度量結果用于過程改進,IPD衡量標準由客戶指標(如客戶滿意度)、財務指標(如銷售額)、創新和學習指標(IPD符合度)、內部業務(如器件重用)指標組成。
從上面的分析可以看出,IPD是從組織(成立跨部門的團隊IPMT和PDT等)、端到端的流程(不是局限在職能部門內部,而是跨部門的、客戶到客戶的業務流程)、組合分析和客戶$APPEALS定義市場和定義產品概念、管道與項目管理(項目群資源平衡)、異步開發(技術平臺與開發產品異步進行)等等,這些方面是CMMI所沒有關注的。
五、IPD+CMMI,企業產品開發系統性解決方案
IPD是關注產品包開發的解決方案,而且把產品包開發作為整個公司的事情來對待,從市場信息收集開始、到產品發布,直到產品生命周期結束的整個過程,在這整個產品包開發過程中,提供了許多業界成功實踐來指導產品包開發,如市場信息收集、市場細分、客戶$APPEALS、組合分析工具、跨部門虛擬團隊(IPMT、ITMT、PMT、PDT、LMT等)與流程(端到端的、結構化的產品開發流程)等,因此我們可以認為IPD管得“寬”(從市場管理到產品開發,再到產品生命周期管理)、定位高(公司級的決策與開發組織與架構、公司級產品開發流程等);而CMMI將產品開發項目管理上分成許多領域,并且著力研究這些領域的工具和方法,在細節管理上力求更精更深。我們可以形象地將IPD看作“T”型的“橫”,將CMMI模型看作“T”型的“豎”,IPD+CMMI將是企業產品開發管理體系完美的“T”型組合。
漢捷咨詢在長期的咨詢過程中,摸索出IPD+CMMI企業產品開發管理模式,下圖是漢捷咨詢所推行的IPD+CMMI的系統性解決方案。在圖中,紅色背景部分是按照IPD模塊建立的主流程及團隊,藍色背景部分是按照CMMI模型建立的子流程,這些子流程在產品包開發過程中被多次調用。
漢捷咨詢在實施IPD+CMMI咨詢項目上,在客戶公司取得了良好的效果,即建立起了公司司級和研發中心的運作規范,理順整體研發體系工作,又使產品開發工作關注市場、關注客戶需求,產品開發的針對性更強,產品開發上市后更有競爭力,資源的分配更加合理,從而提高了研發效率,保證了產品市場的成功。