2020阿裡巴巴研發效能峰會——《ALPD - 驅動業務創新的精益産品研發》
摘要:ALPD是Advanced Lean Product Development(下一代精益産品開發)的簡稱,它的目标是成為支撐雲時代産品開發和業務創新的實踐體系。本次分享,阿裡雲雲研發部資深技術專家何勉将為大家剖析研發效能面臨的挑戰,并詳細介紹ALPD及應用執行個體,展現其是如何支撐業務發展并引領業務創新的。
演講嘉賓簡介:阿裡雲雲研發部資深技術專家——何勉
以下内容根據演講視訊以及PPT整理而成。 觀看回放
http://developer.aliyun.com/topic/2020 本次分享主要圍繞以下四個方面:一、研發效能的挑戰
二、ALPD:阿裡的精益産品開發方法體系
三、适配場景的ALPD效能解決方案
四、總結:提升研發效能,賦能業務創新
一、研發效能的挑戰
1.阿裡巴巴技術發展
下圖為阿裡技術20年砥砺攀峰背景牆,回顧了阿裡巴巴技術發展的三個階段,特别是技術與業務的關系。

1999年~2008年:技術支撐商業發展;
2009年~2016年:技術拓展商業邊界;
2016年~,技術創造新商業。
2.技術如何創造新商業
技術與商業越來越不可分割,成為驅動業務創新的核心。下圖展示了阿裡的技術與業務的關系。
首先,最底層(或核心)的是雲基礎設施以及基于雲基礎設施的雲原生開發和運作環境。
在雲原生核心之上是中台,例如:阿裡在中台2.0戰略中所提倡的業務中台、資料中台和AI中台。以中台為基礎,可以組合并拓展新的業務形态,快速滿足業務需求,和創造新的業務形态。
技術要支撐業務發展,更要引領業務的創新。這對研發效能提出了前所未有的要求,要求技術、工程和協作方法和實踐的全面更新。系統整合這些實踐方法,形成可落地的解決方案,提升研發效能,進而持續降低創新的成本,提高創新的效率。這是我們探索和實踐ALPD(下一代精益産品開發方法)的初衷。
3.研發效能面臨的挑戰
研發效能究竟面臨怎樣的挑戰呢? 下圖中,我們用3個 “≠” 來描述這一挑戰。
第一:局部效率不等于高效傳遞。局部的效率是基礎,但真正的效率,必須從使用者視角來衡量——快速解決使用者問題、快速上線使用者的需求。為了做到這一點,隻有局部效率是不夠的,隻有系統的協同和改進,才能高效傳遞使用者(或業務)的需求。
第二:高效傳遞不等于持續高效。技術、工程等多重因素影響着效率的可持續性。做的不好,随着時間的推進,組織會積累技術和工程的債務,不但陷入維護的泥沼,軟體的擴充也會越來越困難。不可持續的高效傳遞最終還會是竹籃打水。
第三:高效傳遞不等于業務成功。我們的目标是業務成功,但要想成功,必須保證傳遞的是使用者和市場所需要的,并建構起合理的商業模式。在不确定性陡增的今天,這是一個不斷探索和試錯的過程,需要系統的創新方法。
研發效能的提升和保障,就是要解決好并避免這三個“不等于”。
“不等于”是從負面來描述研發效能的問題。對應的,從正面角度,我們把研發效能提升的目标定義為:“持續地、順暢高品質地傳遞有效價值”。
如下圖所示,下一代精益産品開發(ALPD)正是面向這一目标建構的方法和實踐體系。
二、ALPD 方法學:下一代精益産品開發方法
阿裡巴巴在實踐中建構的産品開發和創新的方法,我們稱之為ALPD(下一代精益産品開發)方法學。圖中的屋頂——“持續地、順暢高品質地傳遞有效價值”——是我們前文所述的研發效能的目标。其底層以及兩側灰色部分是基礎設施群組織保障。
圖中藍色的部分,是關于精益傳遞的實踐。具體包括:全鍊路數字化的精益協作、領域為核心的技術實踐,以及雲原生的工程實踐。其中,精益協作實踐保障順暢和高品質的傳遞,技術及工程實踐則主要保障可持續性。
橙色部分是使用者目标驅動的創新實踐。分為業務探索和創新實踐,以及更上層的動态投資組合管理兩個部分。它們共同保障傳遞有效的價值。
下面我們将介紹其中的核心實踐。
1. 全鍊路精益協作
全鍊路精益協作由三個實踐構成。分别是:拉通端到端的價值流;左右對齊和快速傳遞;保障過程和源頭品質。
全鍊路精益協作實踐一:拉通端到端價值流
組織内部往往看到這樣的沖突。一方面,各個部門或角色看上去都很忙碌;另一方面,使用者的感受卻是另一回事。這在産品開發組織中尤其常見 —— 産品、開發、測試等部門和人員都非常忙碌;而從使用者提出訴求到需求上線的時間卻很長,對外的響應很慢。
為什麼會這樣呢?如下圖所示,綠色短線代表需求正在被處理,紅色長線代表需求處于等待狀态。我們經常看到,務求大部分時間處于等待狀态。這就造成了,從組織和使用者角度的不同感受。從組織視角來看,資源效率高——每個人或部門都很繁忙;而從使用者視角來看,流動效率低——需求得不到快速響應。
等待處理時間長的原因很多,可能是:工作在不同角色間的傳遞和依賴;批量處理需求時大部分需求處于等待狀态;問題和阻礙不能被及時處理;等待測試和批量釋出等。這一模式下,工作量幾天的需求,從提出訴求到上線的過程往往會超過一個月了,甚至達到數月。
除了各個環節之間的等待,中台化本身也對協作提出了新的挑戰。中台化為産品研發提供了新的生産力可能,通過中台能力的沉澱和複用快速組合和滿足新的業務需求。然而,生産力需要與之适配的生産關系。
中台化下,如果前、中、背景的協作關系處理不好,反而可能産生效能豎井,出現更多的依賴和等待,延緩而非加速需求的傳遞。這一情況絕非少見。
為了提高對外的快速響應能力,企業必須改變視角——從内部職能視覺的局部優化,轉變為使用者視角的系統優化。
從内部職能視角,我們看到的是互相割裂的局部,而局部優化往往會損害而不是提高整體效率;隻有從使用者視角出發,關注從使用者提出問題,直到傳遞需求解決問題的全鍊路過程,優化整個鍊路,才能系統改進,提升使用者可感覺的研發效能。
以某個業務闆塊的協作改進為例,我們首先做的就是梳理并打通業務價值流,為此我們要做到兩點:
第一,業務價值驅動。在相對複雜的業務中(如:産業網際網路、供應鍊等),業務需求可能需要多個産品和系統的協作才能完成。正因為如此,在看闆上流動的必須是業務價值——業務需求。隻有業務需求才是不同職能有效協作的共同源頭,是使用者價值的基礎,是協同各個職能和拉通端到端價值流的不二之選。
第二,前後職能拉通,關注并優化端到端的業務價值流。
以業務價值驅動為基礎,接下來要做的是拉通前後職能。上圖反映了業務價值傳遞過程——端到端的價值流。業務價值流串起了不同職能的工作。
可視化并管理業務價值流,讓不同的職能更好的協作,優化端到端的價值流動,確定使用者價值的順暢傳遞。
下圖中的小工具,展示了每個業務需求的傳遞時間線,它們在每一個階段所停留的時間、階段間的等待、目前所處階段、是否發生停滞等。它幫助我們跟蹤和優化業務需求的傳遞過程,即時發現問題,并處理過程中的停滞、等待等問題。
簡而言之,團隊必須關注并改善業務需求的價值流,圍繞使用者與業務展開協作,加速業務響應。
全鍊路精益協作實踐二:左右對齊快速傳遞
為了快速傳遞業務價值,組織内部必須協調一緻,做到左右對齊和快速傳遞,這裡的左右對齊指的是開發任務或子産品需求向業務需求對齊。
在這個案例中,業務需求的傳遞,往往需要多個産品的協作。比如,一個業需求會被拆分到不同的産品。這樣就形成了下圖所示的分層價值流,它包含上層的業務需求價值流和下一層的産品需求價值流兩個層次。
企業最終關注的是業務價值流動效率,這就要求價值流的下層向上層對齊。下圖所示為價值對齊圖,也是我們專門設計的工具。圖中最左側是業務需求,選中業務需求後,右側是該業務需求拆分到各個産品的産品需求,以及這些需求的傳遞承諾和狀态。
組織的目标不是追求局部效率,而是提升整體業務響應效率。決定業務響應效率的是瓶頸環節與産品。是以,我們要基于業務需求來對齊前、中、背景産品——對齊承諾,并即時跟蹤産品需求狀态,即時暴露并解決系統問題和瓶頸,加速需求的傳遞。
**全鍊路精益協作實踐三:保障源頭和過程品質
**
前後拉通、左右對齊,讓整個組織圍繞價值的傳遞更好地協作。為了讓價值更順暢的流動,我們必須要保障源頭和過程的品質,減少因品質問題而帶來的返工和等待。下面,簡單分享一下保障源頭品質的實踐——執行個體化需求。
如果源頭是垃圾,結果也會是垃圾,所謂“Garbage in,Garbage out”。與之對應,我們要做到“以終為始”——在開始開發前,明确定義和溝通最終結果應該如何,讓各參與方對業務需求達成一緻了解。
執行個體化需求是達成這一目的具體實踐,它讓開發、測試、産品、業務等角色可以共同參與,高效溝通和澄清需求,并以結構化的方式確定溝通過程的效率和效果,産出需求的驗收标準。
源頭品質得到保證,還讓優化整個開發過程可能。上圖表示了以執行個體化需求為基礎,如何重構開發和驗收模式。
1)在需求開發前各個角色共同澄清需求,包括:需求的目标;為實作目标而要支援的操作和操作流程;與操作流程對應的業務規則。這些流程和規則作為執行個體,不僅幫助不同角色共同澄清需求,建立對需求的共同了解,而且還成為将來需求的驗收标準;
2)與開發過程并行,基于驗收執行個體産出測試用例。條件和能力具備的團隊還會将這些測試用例自動化;
3)開發完成後,第一時間用驗收執行個體來驗收需求,提供即時回報。如此保證需求的過程和傳遞品質,做到真正的“以終為始”。
總結全鍊路精益協作的實踐。我們分别通過三個實踐,有機配合實作了順暢和高品質地傳遞。它可以表示為:
順暢高品質地傳遞 = 拉通端到端的價值流 + 左右對齊和快速傳遞 + 保障源頭和過程品質
2. 雲原生的工程實踐
接下來,簡要介紹一下雲原生工程實踐。實作業務的持續高效傳遞離不開工程實踐的保障。它包含以下三個方面:
不可變基礎設施:實作不可變的基礎設施。它至少要做到:1)配置和鏡像分離,做到一次建構在不同環境上(如開發、測試、預發、生産)的部署和運作;2)通過IaC(Infrastructure as Code)技術做到配置代碼化,保障運作環境的資料和配置的一緻性、可用性和穩定高效。雲原生的技術(如:容器技術、服務網格、基于K8S的排程運維等)為不可變基礎設施提供了有力的支援,而不可變基礎設施也是高品質和高效持續傳遞流水線和品質保障體系的基石。
持續傳遞流水線:基于不可變基礎設施,建構持續傳遞流水線。将代碼送出後的所有流程(如代碼掃描、系統內建、各類環境下的驗證和部署等)标準化和自動化,并以此為基礎,實作流程卡點、即時回報和系統度量。如此,持續傳遞流水線建立了傳遞效率和品質的保障架構。
可信釋出(品質守護體系):在持續傳遞流水線的基礎上,建立和不斷完善品質守護體系。品質守護體系必須內建至持續傳遞流水線當中,確定品質保障手段在正确的時刻起到守護作用,并應用流水線的回報不斷完善它,包括:基本子產品和接口品質的守護,基本的功能回歸、合規性檢查、性能、流量測試、安全檢查等等。如此才能做到高效、高品質和可信的釋出。
不可變基礎設施建立了基礎,持續傳遞流水線提供了基本機制保障,而品質守護則保障了可信和高品質的釋出。雲原生技術為它們提供了更優雅和有效的解決方案,它們共同構成了雲原生的工程實踐,保障傳遞的品質、效率的可持續性。
3. 領域為核心的技術實踐
工程實踐以外,産品開發的效率和品質提升,還是要落地到技術實踐,包括:分析、架構和實作等。在現實中最挑戰的是如何有機融合和落地這些實踐。
我們以領域模型為核心連通相關的技術實踐,形成了下圖中的“領域為核心的技術實踐體系”。
1) 業務引領的領域模組化:結構化分析業務需求,澄清業務目标,分析業務場景以及業務流程,業務流程步驟對應的業務規則,基于業務規則定義驗收标準。在分析需求的同時,深刻洞察領域的本質,産出或演化領域模型。
2) 領域驅動的微服務架構:以領域模型指導架構的設計和分解,應用DDD(領域驅動設計)的戰略和戰術模式,分解子域,明确子域之間的邊界(限界上下文)和設計契約,并落地為微服務架構,沉澱可複用資産。
3) 契約導向的軟體實作:領域驅動設計明确了各個子域的邊界、接口和設計契約,它們将成為系統實作的依據和限制;再結合分析過程中産生的領域模型和驗收執行個體,指導高效編碼與設計,産出有效的自動測試,守護系統的邊界、接口和功能;測試守護将支援系統随業務發展的重構和演進,持續地支援業務的發展和創新。
以上三個實踐,以領域模型為核心,有機整合分析、設計和實作過程,既高效的分析和實作業務需求,也保障了設計和代碼的長期品質。它更好的支援中台戰略落地,實作中台戰略的初衷——以更優質的領域資産,更高效地支援業務發展和創新。
從中台的角度講,如果中台是新的生産力,業務驅動的全鍊路精益協作就是與之比對的新生産關系;領域為核心的技術實踐則是新生産工具;雲原生的工程實踐則是基礎設施。沒有生産關系、工具和基礎設施的支援生産力就無從兌現。
三、适配場景的ALPD解決方案
以上介紹了ALPD方法學(ALPD-Method),它提供了系統的賦能實踐,描述了理想的産品開發和傳遞模式。
隻描繪理想模式是不夠的。同樣重要的是如何實施落地,特别是如何适配不同業務特征和場景給出落地的方案。這是ALPD 解決方案(ALPD-Solution)的目标。
為了适配不同的場景,我們首先總結了從戰略及業務到代碼及變更的全鍊路數字化體系。它應該滿足兩個要求:1)打通從戰略、業務到代碼的全鍊路過程;2)能夠定制化并覆寫阿裡巴巴經濟體以及業界的主要場景和業務。
基于這樣一套基礎方案,就可以去裁剪和定制,以滿足不同的場景。如下圖所示,該體系分為三層:
頂層為規劃層,包含兩個子產品:1)業務和目标管理。它從組織戰略和業務發展出發,組織和管理團隊的目标,目标之間可以關聯和引用,目标最終要與項目或需求關聯;2)戰役(和項目組合)管理。戰役是有阿裡特色的管理方式,它聚焦于組織的戰略,分解和跟蹤戰役的目标,設定戰役的組織陣型和項目組合,并跟蹤和管理戰役及關聯項目的實施過程。
中間為實施層,包含兩個子產品:1)産品管理,它承接戰略和業務發展的目标,管理産品需求的規劃和傳遞過程,并確定産品的演進和産品資産的有效沉澱;2)項目管理,它關注項目從啟動到收尾的生命周期,確定項目的傳遞進度、範圍、品質和成本。
最下層為傳遞層,包含兩個子產品:1)傳遞團隊管理,它負責管理團隊的傳遞過程,如疊代計劃,協作和進度跟蹤等;2)持續傳遞,它是管理團隊的代碼送出、內建、驗證直至系統和需求的持續釋出。
這三個層次,六個子產品互相關聯,構成了全量的方案。具體的業務群組織,可以基于這一全量的方案定制形成自己的全鍊路數字化解決方案。
數字化模型是解決方案設計的基線,更重要的是在具體的上下文中,分析效能問題;設計改進方案;落地實施;以及設定牽引性的改進目标和度量體系。今天限于時間就不再展開了。
四、總結
“技術創造新商業”,技術在業務中的地位越來越核心,研發效能直接關乎業務發展與創新。提升和保障研發效能,是每一個産品技術團隊的挑戰。ALPD(下一代精益産品開發)應這一挑戰而生。
ALPD源自我們在阿裡巴巴經濟體以及業界的長期和深入實踐,目标是:相對傳統的産品開發方法:10倍響應速度;10倍過程品質和10倍有效價值。
10倍效能提升絕不容易,不可能通過單一實踐實作。它需要系統的方法實踐——對應ALPD方法學;更需要可高效落地的解決方案——對應ALPD解決方案。
“技術創造新商業”,十倍效能提升是我們的長期願景。期待将來為大家深入解讀各個實踐,不同場景下的具體解決方案和實施案例。