《精益產品開發》

《精益產品開發》原則、方法與實施|心得筆記

德瑞克 Derek
德瑞克的敏捷咖啡

--

推薦指數:★★★★★

與本書的豔遇是在 Regional Scrum Gathering Beijing 2019 ,研討會中的小夥伴準備了一些書當作獎品,送給大家。在當下,我其實沒有獲得這本書,但是隨手翻了幾頁就讓我感覺到這本書應該是個真貨。回到台北以後,一直念念不忘,於是就請了淘寶幫我送了過來。

我對於這個作者很陌生,因此,我想要先介紹一下作者:

何勉,國內知名資深精益專家,專注於精益產品交付、精益創業創新及精益產品設計等領域。 2014 到 2015 年,何勉作為華為精益產品開發的主要諮詢師,幫助華為定義和實施了精益產品開發實踐體系,並與 David J. Anderson 一起幫助華為定義了精益和看板方法的實施策略和推廣方案。從 2015 年至今,作為招商銀行精益產品開發的主諮詢師,幫助招行定義和全面推廣了精益看板開發體系,並在全行兩百多個團隊開始實施。作者除了撰寫此書以外,還翻譯了《看板實踐》和《影響地圖》。

作者提到他在寫作此書時,有三個要求:其一,所有實踐都必須有真實案例支持;其二,所有案例都必須來自本人的實踐;其三,只選取那些被證明有效且易於實施的實踐。因此,這本書非常的精彩,每一個章節都含有很豐富的內容,本來想要摘錄整本書重要的部分,但是發覺這麼做的話,就等於把整本書都摘錄出來了,那倒不如讓各位讀者去買本書回家念,這樣還比較實際點。

因此,我選擇把對於我個人最有印象最有幫助的內容摘錄出來。本篇文章分成四個章節:第一章介紹看板方法的五個實踐;接著在第二章,我們可以透過看板方法的度量圖表幫助團隊發現問題改善問題;第三章中,當專案產生規模化需求時,如何將看板方法規模化;最後,把精益產品開發做了一個抽象化,把產品的交付分成 4 個緊密關聯的模塊。

看板方法的五個實踐

不同文獻對於看板方法的核心實踐略有不同,比如 2010 年 David J. Anderson 在《看板方法:科技企業漸進變革成功之道》(Kanban: Successful Evolutionary Change for Your Technology Business)定義了五個核心實踐;2014 年在(Kanban in Action)《看板實戰:用一張便利貼訓練出100分高效率工作團隊》使用的是三個實踐。根究其本質,它們所涵蓋的內容是相似的。

作者在本書中依造兩組5個核心實踐來做介紹。第一組是建立看板方法的3個實踐,分別是可視化價值流動、顯式化流程規劃和控制在製品數量;第二組是運作看板方法的2個實踐,分別是管理工作項流動和建立反饋和持續改進。

建立看板方法的3個實踐

看板方法實踐一:可視化價值流動

與生產製造不同,產品開發中的價值流動是不可見的,因此更加難以管理和優化。此圖,展現了可視化價值流動的三個重點。

  1. 首先要可視的是用戶價值。產品開發的目標是交付用戶價值,看板的可視化也應該從用戶的視角來組織。圖中每一個藍色卡片代表一個用戶價值,典型的是一個可驗證、可交付的用戶需求。
  2. 接下來可視的是用戶價值端到端的流動過程,所謂端到端,是指價值提出到價值交付的整個過程。它通常由多個環節構成,這其中既包括工作環節,也包括等待環節 — — 途中灰色陰影的列。用戶價值流經這些列,直至交付給用戶。
  3. 最後,問題和瓶頸要可視出來。問題是指那些阻礙用戶價值流動的因素,如需求不明、技術障礙、外部依賴等;瓶頸指價值流動不順暢的環節,工作在瓶頸處積壓成隊列。

看板方法實踐二:顯式化流程規劃

為了更好的協作,團隊還需要明確價值流轉的規則。流轉規則是工作項從看板牆上的一列進入下一列所必須達到的標準。另外團隊還應該明確其他協作規則,例如:各種活動的節奏和組織方式、優先級的確定方式、問題處理的機制等。

所謂的顯式化流程規則,是指明確以上兩類的規則,必在團隊內形成共識。流程規則是團隊協作的依據,由團隊共同擁有;它更是團隊改進的基線,必要時,團隊應該調整改進。

看板方法實踐三:控制在製品數量

在製品是指的特定環節內所有的工作項 — — 包括進行中和等待的。紅色的數字是在製品數量的限制,環節內再製品數量小於這個數字時,可以從上一環節拉入新的工作,否則不允許拉入新的工作。

控制在製品數量讓環節內並行工作減少,單個工作項的完成加等待時間縮短,工作項從進入看板系統到完成交付的時間隨之縮短。因此,控制在製品數量加速了用戶價值的流動,對產品開發的敏捷性至關重要。

更重要的是,控制在製品數量幫助團隊暴露瓶頸和問題。如圖所示,測試環節的在製品數量達到了上限,再拉入新工作就被禁止了,團隊應該聚焦於完成已經開始的工作,即時處理出現的問題。如果測試工作長時間受阻成為瓶頸,它更會影響到上游環節。在這裡是開發環節,讓其完成的工作無法進入測試,也很快達到在製品上限。這讓瓶頸和問題更充分暴露,激發團隊協作解決瓶頸問題,讓流動順暢起來之後再開始新的工作。

限制在製品事實上形成一個拉動的機制,下游順暢時才能從上游拉入新的工作,最終拉動整個價值流動的是用戶價值的交付。如果沒有在製品的控制,就不是真格的看板方法。

運作看板方法的2個實踐

看板方法實踐四:管理工作項流動

為了讓價值順暢流動,團隊首先需要管理好價值的流動。如圖所示,它具體包括管理價值的輸入、中間過程和輸出,分別對應三個分項實踐。

實踐一:就緒隊列填充活動。就緒隊列是看板系統的輸入環節和價值流動的源頭,管理好就緒隊列的填充對價值的順暢流動和質量非常重要。

實踐二:看板站會。站會是管理價值流動過程的活動,一個典型的看板站會發生在每個工作日、同一時間、同一地點(看板牆前),團隊成員從右至左走讀看板牆上的卡片,重點關注價值流動過程中的問題和阻礙,處理這些問題或提出跟蹤方案。

實踐三:發佈評審。發佈評審是需求發佈前的計畫活動,決定上線或發佈哪些需求以及相關發佈策略等。發佈評審是一個可選的活動,在持續交付的模式下,它很可能被例行機制所取代。

看板方法實踐五:建立反饋和持續改進

即使我們對價值的流動做了有效的管理,現實中總會有各種問題讓價值流動不順暢或者帶來質量問題。問題同時也是改進機會,前提是團隊必須建立有效的反饋系統,從問題中發現模式和根本原因。

基於價值流動,看板方法形成了一套獨特的反饋和肚量體系,讓他們大致分為兩類,一類是關於流動是否順暢的反饋,如阻礙問題分類、影響和原因分析;第二類是關於質量問題的反饋,如開發環節或測試環節遺漏缺陷的分析。

反饋的目的是為了改善,如圖所示,團隊根據反饋形成系統的認知最終必須落實到具體的改進活動。但無論哪類改進,其效果到要通過看板系統中價值流動的狀態和度量來考察,形成看板方法的改進閉環。

看板方法的度量圖表

建立反饋和持續改進是看板方法的最後一個核心實踐,本章會介紹最常用的三個關於價值流動的綜合度量圖表,它們簡單實用,卻又非常強大,是精益度量的核心,也是團隊深入和持續改進的強大工具。

累積流圖(CFD: Cumulative Flow Diagram)

累積流圖反映各個階段累積處理的需求數量以及它們隨時間的變化趨勢,它的橫坐標為日期,縱座標為各階段累積完成的需求數目。圖中,深色區域是工作階段,淺色區域表示等待階段。

累積流圖反映團隊整體的交付過程。從中看到的不僅是孤立的數據指標,更是動態和系統的整體。

從累積流圖中解讀在製品、前置時間和交付速率的數據

  • 在製品數量(WIP):在製品數量指正在處理的需求的數目,也就是所有開始但還沒有完成的需求的數目。如圖 4 月 15 日這一天,累積就緒的需求有 61 個,累積上線的需求是 8 個。在製品數量= 61 − 8 = 53 (個),他們已經計畫,但還沒有交付,分佈在過程中的各個階段。
  • 平均前置時間(Aerage Lead Time):指需求交付之前,從開始到結束所經歷的時間。如圖,在 3 月 26 日這一天累積了 40 個需求,而到 5 月 15 日這一天累積交付 40 個需求。假設符合先入先出的規律,那麼第 40 個需求的前置時間就是 5 月 15 日 − 3 月 26 日 = 50 (天)。
  • 交付速率(Throughput Rate):交付速率指單位時間內交付需求的數目。如圖,從 3 月 30 日到 5 月 15 日,6 週時間交付需求數目從 8 個增加到 53 個,共交付 45 個需求,交付速率 = 45 / 6 = 7.5 (個/週)。圖中這根線的斜率,也就是交付速度。

這三者之間的關係可以簡單表示為「前置時間=在製品/交付速率」,這也稱為 Little’s Law。我們看見當交付速率不變時,降低在製品數量,將同比例的縮短前置時間。

用累積流圖分析團隊協作和交付模式,並發現改進機會

  • 團隊的計畫模式:最上方粉紅色區域呈現階梯狀,開始時階梯較寬,團隊每兩週做一次計畫,選擇一批需求進入就緒隊列;後期團隊改成了每週一次,選擇更小批量的需求,進入就緒隊列。這一變化帶來正面的結果,在製品數量變低,前置時間縮短。
  • 需求轉測試的模式:藍色區域一開始呈現明顯的階梯狀,反應需求是披量移交測試的。這帶來問題,開發完成的需求,要等待較長時間才開始測試,導致更多的在製品,並延長的前置時間。後期,團隊移交模式改成小批量即時移交後,明顯看出改善。
  • 需求發布模式:綠色區域一開始呈現階梯狀,反映需求是定期上線的,開始時是每月一次,後來進化為每兩週一次上線,等待時間變短。

前置時間控制圖(Lead Time Control Chart)

控制圖是一個散點圖,每交付一個需求,標記一個點,橫坐標是該需求的交付日期,縱座標是該需求的前置時間。控制圖常用於反映一個過程是否處於受控範圍,因此稱為「控制圖」。

下圖看見很多呈現 45 度線排列的點(在途中用紅色虛線做了標記),這些都是在迭代初期集中開始的需求,每晚一天結束則前置時間長一天,所以呈現 45 度排列。從圖中我們可以看到更多的訊息,比如,紅圈內的需求,它們在迭代前期交付,但前置時間特別長,那是上一個迭代遺留的需求。

另外,在最後兩個迭代,團隊開始刻意控制在製品,在製品數量降低到 10 以下,45 度線也消失了,交付變得更加均勻,前置時間也明顯縮短。

前置時間分佈圖(Lead Time Distribution Chart)

它是一個柱狀圖,用以統計一段時間內,前置時間的分布狀況,橫坐標是前置時間,縱座標是前置時間為該值的需求的個數。前置時間分佈圖信息量相對較少。

看板方法的規模化應用

現實中,經常需要多團隊緊密協作,才能交付用戶需求。這就產生了規模化看板方法的需求。作者在這裡介紹了四種規模化實施的方案。

融合兩個看板系統

這個例子有前端和後端兩個團隊,人數相加有 29 人。原本兩個團隊有各自運作的看法系統,為了達成交付使用者端到端的需求,我們把兩個看板系統融合成一個看板系統。可以注意下圖中央的實現中,根據前後端的模組拆解成更細的列。

連接多個看板系統

作者舉的例子是團隊分散在多的地點:

  • 深圳的業務團隊提出需求
  • 上海團隊負責分析,並完成底層服務開發,移交成都團隊
  • 成都團隊在底層服務的基礎上發開上層應用,並集成和測試
  • 最後由深圳的業務團隊驗收

上海和成都開發團隊有各自的物理看板。我們引入了電子看板,連接四個步驟的工作,形成了端到端的價值流動。電子看板反映需求的流動,物理看板則將需求細化到任務,更便於團隊協作。

向上下游拓展看板系統

這個例子業務團隊和發開團隊在不同的地點的辦公室。我們在業務看板中,整個開發團隊被刻意壓縮在很窄的一列「開發」,另外在「開發」前後做了延伸和拓展。其中,上游對創意的提出和設計做了細化,而下游也增加了上線後的業務驗證環節,形成一個閉環。

這個是看板系統向價值流兩端延伸的例子。一開始,團隊根據實際條件,盡可能的建立端到端的價值流。實施過程中條件成熟後,再向兩端延伸價值流。

層次化的看板系統

當產品規模較大時,使用層次化的看板機制是一個較好的選擇。這是個電信設備製造商大型團隊的例子,根據用戶需求,分解成三個層次。

  • 最上層是解決方案層,這一層次的需求稱為「原始用戶需求」
  • 中間層是網元層,這一層的需求稱為「功能需求」
  • 最下層是組件團隊層,這一層的需求被稱為「可分配需求」

對應需求的層次,看板系統也是分層的。在這個例子中,各個層次的看板是連動的,功能需求同時出現在解決方案層和項目層的看板中,這樣最終達成的效果是可分配需求向功能需求對齊,功能需求向用戶需求對齊,最終實現用戶需求的快速完成。

小結

本章總結了 4 個規模化的方案。它們拓展了團隊的看板系統,已在需要規模化的場景中改善價值的交付能力,下圖給出這些方案的示意圖。

需要在這邊強調:「規模化是手段,不是目的」。規模化本身帶來管理的複雜性,我們只應該在業務需要時,才應用規模化,以促進更好的協作和更順暢的交付價值。

精益產品開發

作者在第 25 章節把精益產品開發做了一個抽象化,把產品的交付分成 4 個緊密關聯的模塊。

  1. 精益需求。需求源自業務目標,它通過解決用戶和業務問題,達成業務目標。
  2. 精益交付過程。交付過程應該順暢和高質量。順暢帶來效率、敏捷性和可預測性;質量既包含交付質量,也包含過程質量。
  3. 產品運營。交付的需求過運營才能實現最終的業務價值,運營的結果也是對產品設計和交付的反饋。
  4. 產品的持續探索。產品設計是一個持續探索的過程,不斷獲取反饋,持續調整優化,才能打蘑出與業務目標匹配的產品。

--

--

德瑞克 Derek
德瑞克的敏捷咖啡

敏捷的熱愛者,致力於推廣敏捷實踐,多次在社群裡做敏捷分享。現職為 Agile Coach,在公司內協助多團隊進行敏捷轉型,在導入 Scrum、Kanban、Large Scale Scrum 有豐富的經驗。閱讀的愛好者,持續進行一年讀五十本書計畫,目前進入第四年。