漢捷案例:A公司是漢捷的一個客戶,成立于1998年,是國內建設領域信息化服務產業(yè)的領軍軟件企業(yè)。公司立足工程建設領域,圍繞工程項目的全生命周期,為客戶提供以工程造價為核心,以工程項目(綜合)管理為主體的軟件產品和企業(yè)信息化整體解決方案。
2007年,由于產品的BUG比較多,穩(wěn)定周期相當長,一般正式發(fā)布的產品的穩(wěn)定周期為兩到三個月。產品開發(fā)完了,測試人員卻不敢懈怠,得不斷測試,不然不敢交付用戶。而且,需求變化快,產品發(fā)布后,馬上面臨修改。答應客戶的產品交付時間一推再推。在此形式下,公司高層推動IPD(集成產品開發(fā))體系,但沒有收明顯的效果,根據(jù)漢捷咨詢的觀察,主要是市場及客戶的需求變化太快,難以把握一些新的市場機會點,大家對開發(fā)方法不再有信心,研發(fā)能力已經無法支撐公司去把握新的市場機會。程序員和測試人員很難有休息的時候,加班強度非常大,產品的發(fā)布質量非常糟糕。這讓分管研發(fā)的副總裁王強壓力非常大。
2008年初,A公司研發(fā)副總裁王強意識到問題的嚴重性,在漢捷咨詢的幫助下,推動了IPD加敏捷的項目管理模式,持續(xù)關注客戶價值,并對研發(fā)團隊輔以有效的激勵措施,內部客戶的概念,按照價值鏈排序,公司內部在自己后面的那個人是自己的客戶,因為他更靠近外部客戶,那個人滿意是自己重要的考核指標,所以這使得所有人都主動去想客戶為什么不滿意。在外部目標統(tǒng)一的情況下,很容易形成一個很好的自適應團隊。例如,開發(fā)人員為讓自己的客戶——測試人員滿意,會提前不斷與做測試人員和做需求人溝通,提前進行很多開發(fā)階段的質量風險控制活動,如此一來,很多BUG在開發(fā)階段被修正,提高了整個開發(fā)過程的效率和質量,讓產品開發(fā)更敏捷。
經過兩年多的努力,到了2010年,A公司的這種情況卻發(fā)生了翻天覆地的變化:公司5月在深交所成功上市,預計年產值4億多元,主要有四條產品線、7個主要產品,種類涵蓋管理類、工具類、互聯(lián)網(wǎng)類,有33萬使用者、280個研發(fā)人員,產品的發(fā)布周期穩(wěn)定,能全面滿足市場營銷計劃。“從2009年開始,我們全面按計劃交付,并且有的工具類產品甚至做到了提前交付,甚至還有27個研究、孵化類產品項目積極探尋市場機會。”王強自豪的說。
提到敏捷開發(fā),大家會不約而同的想到開發(fā)一個軟件產品可以不需要文檔、設計和計劃;敏捷只是一些實踐,或者是實踐的結合;敏捷只適用于小項目開發(fā);敏捷只會對研發(fā)產生改變;管理者不需要親自了解敏捷,只需要管理上支持可以了;引入敏捷只需要按照既定的步驟去做可以了;敏捷是CMMI的替代品,是另一種流程……其實,這些觀點都是錯誤的。從上面的案例不難看出,敏捷并不是一種開發(fā)流程,漢捷咨詢認為,敏捷是一種思想,它是集理念、實踐、具體應用于一體的代名詞。
目前,國內很多企業(yè)都在推行IPD,IPD更加注重流程,在概念、計劃、開發(fā)、驗證、發(fā)布、維護階段設置階段性決策點,通過決策點對產品開發(fā)做出調整、保證投資收益比和產品的質量。而敏捷開發(fā)更加關注在軟件研發(fā)領域,IPD的思想則是產品運營領域,視角不同,著重點不同,如果把敏捷比喻成導彈,那么IPD是原子彈,如果把敏捷比喻為戰(zhàn)斗機,那么IPD是航空母艦。敏捷更加注重溝通,強調擁抱變化,強調與客戶的緊密合作。那么,如何在IPD模式下實施敏開發(fā)模式呢?
筆者先后經歷過華為和阿里巴巴公司兩家大型企業(yè)的研發(fā)模式,在華為,IPD早已在2001開始推廣并使用,到走過10個年頭,已經根深蒂固, 牢記在每個研發(fā)人員心中的是IPD的六個過程、六個技術評審點(TR)和四個決策評審點(DCP),但對于敏捷開發(fā),早在2006開始應用,2009才大規(guī)模推廣,也走過了一段不尋常的歷程;在阿里巴巴,作為中國大的互聯(lián)網(wǎng)公司之一,大部分的項目采用敏捷開發(fā)模式,以客戶價值為中心的交付模式早已深入人心。對于IPD與敏捷的結合,許多人仍持質疑的態(tài)度,主要表現(xiàn)在:
1) 如何管理企業(yè)級敏捷項目,因為幾個人的小項目開發(fā)好管理,但是要做到多個團隊、多個項目、多條產品線敏捷開發(fā)的整合管理不那么容易了;但IPD體系往往是跨團隊的,是涉及到多個項目的流程體系,并且涉及到人員較多;
2) 開發(fā)人員離職帶來的風險很大,因為敏捷的很多信息留在開發(fā)者的頭腦里,并沒有形成像IPD和CMMI要求的那樣大量、細致的開發(fā)文檔,一旦開發(fā)人員離職,項目進度以及產品開發(fā)和維護的可繼承性都將受到很大程度的影響。
軟件開發(fā)和硬件開發(fā)不一樣,軟件的變更比硬件容易得多,變更的成本較低,因此在整個軟件生命周期內變更是非常普遍的。如果采用原始的瀑布模型,等到所有變更完成測試后,再交付給客戶,那么很有可能項目會延期;同時,有很多的潛在需求是在客戶看完DEMO后進行明確的,甚至客戶提出新的需求,都是基于研發(fā)輸出的原始版本,在這種背景下,產生敏捷的佳實踐之一迭代開發(fā)。敏捷/迭代開發(fā)的核心思想是:聚集客戶價值,以客戶為中心,交付剛剛好的系統(tǒng),隨時構建立品質量。
華為公司從2009開始,產品研發(fā)部正式推行敏捷/迭代開發(fā)模式,對于IPD模式下的部分軟件項目進行敏捷轉型,通過“三步走”的策略,實現(xiàn)人員技能、工程 能力、流程、工具等方面的積累,在風險可控的情況下逐步達到全面敏捷的目標。三步走的內容如下:
1)項目級敏捷:實施的范圍限定在TR2—TR4A,聚焦單個項目組或多個項目組或多個項目組協(xié)同的開發(fā)過程和能力改進;對IPD流程的對外交付點及非研發(fā)領域(用服、Marketing等)沒影響。
2)版本級敏捷:版本級敏捷實施的范圍將擴展到TR1—TR6,對架構、設計、非研發(fā)領域協(xié)同(用服,Marketing等)等多個方面能力提出了更的要求;版本具備按特性向終客戶分批交付的能力,加快對用戶響應速度
3)產品級敏捷:實施范圍擴展到產品的全生命周期(含所有版本),以更小的需求包接納客戶需求,給用戶提供更快的市場響應速度,將在規(guī)劃、組織結構、主流程、市場、財務、供應鏈、商務等方面帶來巨大挑戰(zhàn)。
路線圖如下:
對上圖的說明:
①項目級敏捷:聚集在TR2~TR4A的單個項目組或多個項目組協(xié)同的開發(fā)過程和能力改進。要求實踐:持續(xù)集成、開發(fā)測試拉通、迭代、回顧會議、自動化測試、站立會議、用戶代表參加與現(xiàn)場迭代性驗收。建議有如下實踐活動:建議實踐:引入敏捷團隊的PO和Scrum Master角色、結對編程、TDD、特性團隊、重構。
好處:1.培養(yǎng)人員,儲備敏捷實踐技能、帶來質量和效率的提升2.激發(fā)團隊士氣,逐步掌握敏捷思想。
②版本級敏捷:1.范圍擴展到TR1-TR6;2.具備按特性向用戶分批交付的能力,保持一個主干;3.要求系統(tǒng)設計、開發(fā)和測試、資料、硬件的協(xié)同;4.迭代交付模式的改變帶來資料、市場、用服等相應的改變。
要求實踐:系統(tǒng)Anatomy、需求管理。
好處:縮短交付周期;降低版本維護成本;提高需求命中率;整個版本的質量和效率提升。
③產品級敏捷:1. 聚焦產品全生命周期;2. 將敏捷精益思想(降低批量、減少任務等待時間)融入到產品端到端流程中;從一個R版本中多個小版本的串行開發(fā)轉變到基于小需求包的并行開發(fā),并且始終保持一個主干3. 交付周期進一步縮短對組織、流程、財務、供應鏈、商務等帶來影響。
要求實踐:可能包含的實踐:產品需求管理、版本規(guī)劃和策略、多個并行需求包開發(fā)團隊的協(xié)同和管理。
好處:全流程角度減少需求等待時間,限度的縮短TTM,更聚焦客戶價值。
總之,敏捷是來源于實踐的思想和方法體系,具備鮮明的實踐特征,真正要應用好敏捷開發(fā)方法,需要每個人在領會敏捷精髓的基礎上,投入到敏捷實踐中,在實踐中領悟,在實踐中升華。敏捷變革過程中必然伴隨著困難、彷徨和陣痛,只要秉持開放進取的心態(tài)和堅定不移的決心,持續(xù)關注人員培養(yǎng),加強經驗交流,精心準備,耐心實施,敏捷一定能夠成功!從敏捷思想起源至今,不論是新興的互聯(lián)網(wǎng)公司,軟件開發(fā)公司,還是以傳統(tǒng)IPD流程為主軸的創(chuàng)新型企業(yè),如華為,騰訊,阿里巴巴等,都在推動中國敏捷項目管理前進的步伐,可以預見,在未來的一段時間,敏捷項目管理將是眾多管理者必須邁過的一道檻!