漢捷研發咨詢 孫豪亮
?
隨著越來越多的企業自行或者在咨詢公司的幫助下導入IPD,IPD已經在國內很多企業發揮了巨大的作用,對于涉及軟件開發的企業來說,IPD與CMM的結合,效果還是非常不錯的,但是隨著敏捷開發理論及實踐的不斷發展,敏捷開發也帶來了另一種不錯的選擇,特別是對于一些外部環境復雜、客戶需求變化快的企業而言,敏捷與IPD的結合也成了企業當前推行或者預備導入IPD面臨的一個難題。華為從1998年在IBM的幫助下引入IPD,采取的是IPD+CMM的開發模式,但是從2009年開始,華為大規模推行IPD+敏捷的開發模式,IPD+敏捷的開發模式不僅沒有降低華為產品的質量,拖累企業的發展,反而讓華為產品更加完美的滿足了客戶的需求。
IPD模式下如何進行敏捷開發,筆者通過分析成熟應用敏捷開發的企業的成功實踐,特別是重點對比分析華為的IPD+敏捷開發模式,發現華為等企業在這種開發模式上的成功,其實有著必然的因素,也可以這么說,在IPD+敏捷的開發模式上有著多種成功且成熟的實踐,這些好的實踐主要體現在如下方面:
首先是堅持系統工程分析過程,這是IPD與敏捷開發銜接的關鍵點。
推行IPD不是意味著固定的開發流程和開發節奏,推行敏捷開發也不是意味著一定要靈活,不寫文檔,很多企業軟件人員甚至高層管理者對敏捷開發的理解存在誤區,筆者曾在某企業調研,企業在之前已經自行導入IPD,建立了IPD流程,對于軟件開發,引入了敏捷開發。筆者對敏捷開發推行現狀做了交流,發現企業對敏捷開發的整體感受就是每天召開了站立會議,以及不要寫文檔。同時在對企業的全面調研中還發現,軟件和硬件之間缺乏有效協同,硬件對軟件的需求變更頻繁,而且軟件和硬件開發節奏也不同步。
敏捷開發針對各軟件開發組,但是一個產品不僅是一個軟件開發組,一般都會包含多個軟件開發組,還會包含硬件、結構、電氣等開發小組,各開發組只是整個新產品開發的一部分,之前的產品整體需求分析、產品總體設計對軟件開發影響重大。需求分析的充分完整,可以有效減少軟件開發的不確定性,減少需求變更,降低設計,提高設計效率。敏捷開發的適應外部需求的變更并不意味著無限的需求變更。IPD與敏捷的結合的關鍵是需求,即Product Backlog。系統工程的作用,就是把市場/客戶需求,以及內部需求,通過需求分析、總體設計,明確各軟件開發組需求,系統工程是IPD與敏捷銜接的關鍵過程。
其次是產品開發管理思想的轉變。
一方面是管理者與團隊成員的思想的轉變。對于管理者,傳統的CMM管理強調計劃的控制,控制是主旋律,管理者組織制定詳細的工作計劃,從上往下分配工作。而敏捷開發強調管理者的支撐及引導職能,強調管理者要去激發、激勵團隊,想辦法建設自組織自管理團隊,通過設立目標去牽引團隊成員,幫助團隊成員去完成工作任務。對于團隊成員,傳統的CMM對團隊成員的定位是聽從命令做工作,重視文檔交付,任務相對單一,聚焦專項能力。在敏捷開發模式下,強調團隊成員的重要性,關注團隊成員的工作積極性,強化任務的主動參與及認領,任務可以多樣化,面對面交流是主要交流方式。
另一方面是敏捷開發強調簡單管理規則,如站立會議的“三固定”原則、燃盡圖、CI運作規則等,與傳統CMM模式對比,敏捷開發的簡單管理規則,可以讓管理運作高效。
最后,是敏捷實踐過程中工具的應用。
敏捷開發,不僅是流程、實踐、新管理思想的應用,高效工具的引入對敏捷的效果發揮至關重要??梢栽O想下,如果沒有持續集成工具,如何保證每日集成的正確性?沒有自動化測試,如何保證代碼重構的正確性并及時驗證?等等。因此,推行敏捷開發,必須重視工具的導入,華為在敏捷開發的推行過程中就自行研發并且同步引入了大量的工具以提高開發及測試效率。
IPD+敏捷開發模式的推行,不是一蹴而就的事情,可以實施分步走的策略。如下是某企業推行IPD+敏捷開發的“三步走”策略,可供正在或者未來希望采取IPD+敏捷開發模式的企業作為借鑒:
三步走核心思想:敏捷轉型成功的關鍵是團隊意識的轉變和能力的提升,通過三步走的策略,實現人員技能、工程能力、流程、工具等方面的積累,在風險可控的情況下逐步達到全面敏捷的目標。
項目級敏捷:實施的范圍限定在TR2-TR4A,聚焦單個項目組或多個項目組協同的開發過程和能力改進;對IPD流程的對外交付點及非研發領域(用服、Marketing等)沒有影響。
版本級敏捷:版本級敏捷實施的范圍將擴展到TR1’-TR6,對架構、設計、非研發領域協同(用服,Marketing等)等多個方面能力提出了更高的要求;版本具備按特性向最終客戶分批交付的能力,加快對用戶響應速度(TR1’表示在版本級敏捷下的TR1定義和當前IPD流程中定義的TR1將會有區別)。
產品級敏捷:實施范圍擴展到產品的全生命周期(含所有版本),以更小的需求包接納客戶需求,給用戶提供更快的市場響應速度,將在規劃、組織結構、主流程、市場、財務、供應鏈、商務等方面帶來巨大挑戰。