- 企業級DevOps技術與工具實戰
- 劉淼 張笑梅編著
- 2931字
- 2021-10-29 21:00:12
2.3 精益理論體系解讀
本節將就精益理論體系進行說明和解讀。
2.3.1 精益產生背景
精益的概念誕生于工業時代,此時工廠的大批量生產催生了任務分工,以及遵循標準操作規范和流程的生產協作關系。豐田公司成立于20世紀30年代,二戰后,日本國內資源稀缺,因此豐田必須節約,使用有限的原料來生產汽車。在這個過程中,豐田發現不僅可以讓負責生產制造的工程師貢獻個人的體力來操作機器,還可以讓他們了解生產的整體流程,并通過不斷優化生產流程來節約成本,不斷地進行產品創新和升級,生產出客戶最想要的產品。由于全員參與改善與創新,到20世紀60年代,豐田的汽車銷量已排名世界第一。豐田總結出來兩個最根本的原則:尊重人和持續改進。隨著全員參與創新和不斷優化一線的操作流程,豐田創造出了豐田生產系統(Toyota Production System,簡稱為TPS),該生產系統獲得了世界不同行業的認可。
TPS包括兩大支柱:即時生產和自動化。即時生產(Just In Time,簡稱為JIT)要求每一個上游工序生產的零部件剛好滿足下一步驟的生產需求。其原理是,當下游零部件用完時會自動發送信號,協調上一道工序供應商提供所需的零部件。這種方式雖然能解決積壓庫存而產生的浪費,但同時也帶來了風險(當缺少某一個零部件時就會造成全面停工)。經過不懈的努力,豐田摸索出了行之有效的生產協調技術,并取得成功。甚至可以根據客戶訂單不斷變化的需求來生產客戶想要的產品。自動化的“動”字指的是人與機器的互動,豐田著眼于改善人與機器的工作方式,減少操作過程中的人與負荷的不均衡、搬運等不必要的浪費,并提出將品質保障前移,融入日常的生產和工作中,如果生產線上出現不合格產品,停下來第一時間修復,從而避免了殘次品的產生。這兩個方面是互補的,并由此實現了精益轉型的最終目標:為企業及其客戶創造價值。
2.3.2 精益IT及其原則
精益IT是精益生產和服務原則在IT環境下的延伸,在本質上與其他質量系統相似,兼顧效率和質量,還提供了實用性強的工具和方法。精益IT與其他方法的不同是,它同時關注人為因素,團隊成員的行為和態度是成功的重要組成因素。鼓勵組織中的每個人不斷思考,關注如何優化IT組織為客戶提供更多價值,而不是采用精英管理的思維,由少數人決定他們的工作習慣,這是一種深刻的文化和行為變革。這一變革對團隊和組織提出了重大挑戰,實施精益IT是一個持續和長期的過程,可能需要幾年才能使精益思想成為組織內部的文化。
精益IT的實施原則如圖2-10所示。

圖2-10 精益IT的實施原則
1.從客戶角度定義產品價值
價值是什么?從客戶角度來說,價值就是客戶想要某種產品或服務,并且愿意為其付費,可以稱之為VOC(Voice of Customer,客戶之聲)。
誰是我們的客戶呢?是使用IT服務的人還是購買IT產品的組織?他們都有可能是客戶。例如,航空公司為其會員提供網絡機票銷售的服務平臺,那么航空公司的會員是機票銷售平臺的真正用戶(或者稱之為終端客戶),而航空公司是機票銷售平臺的客戶。在精益中,這兩種客戶都可以定義產品和服務的價值,因此用戶和客戶細分是很重要的。要基于不同群體來收集用戶和客戶的需求和愿望,這對需求人員和產品經理提出了更高的要求:使用用戶體驗式設計技術(User experience,簡稱為UX),基于場景和用戶角色的信息定義需求,以類似講故事的方式描述,不斷地關注最終客戶的需求,獲得他們的價值認可。隨著時間的推移,客戶的要求和愿望也會隨著新的見解和期望的出現而改變。明確價值是什么,是進行價值流分析的第一步。
2.識別價值流
價值流指的是客戶參與的、貫穿從產品或服務請求提出到服務交付全生命周期的所有任務和活動。無論是組織內部還是外部供應商,客戶之間的信息溝通形成的信息流都是價值流的一部分,價值流還包括工作流和物料流。價值流改進需要具有跨職能的視角,從個人、工作組和部門局部優化的思維中抽離出來,從客戶的角度系統地思考整體過程,分析IT開發活動中哪些是增值的,哪些是非增值的,具體說明如表2-2所示。
表2-2 增值、非增值、必要的非增值比較說明

我們要計算每個步驟的等待時間和周期,分析哪些是有價值的,哪些是無價值的。
軟件開發價值流如圖2-11所示,IT項目增值活動包括需求分析、架構設計、代碼開發、測試與驗收、系統部署/交付。非增值活動包括客戶等待、業務審批、過度設計的架構、設計審批、開發人員在其他項目的活動、功能的過度實現、因需求產生的返工、修改Bug。

圖2-11 軟件開發價值流示例
由圖2-12可知,軟件開發流水線中存在大量浪費,真正對客戶產生價值的活動占整體的比例很低。
設計軟件開發價值流圖的步驟如下。
● 明確改善目標,選擇涉及的流程節點。
● 從用戶視角梳理當前狀態的價值流圖。
● 觀察并收集流程各個節點的輸入、輸出,以及執行活動時間和等待的時間。
● 分析價值流中有哪些浪費,如不必要的活動、任務和不必要的等待時間,計算有價值的流程節點所占的百分比。
● 分析收集的數據,找出影響流程價值、產生流程浪費等問題的根本原因。
● 繪制出改進后的流程圖,從根本上解決問題。
● 制定一套改善措施。
3.保證價值流的流動性
為使價值傳遞,價值流必須具有流動性。這意味著價值流中的活動必須緊密編排,通過最少的中斷和數量最少的在制品實現產品和服務的交付。在細化每個工作單元的過程中,一條生產線可以生產不同型號的產品,可以基于客戶需求定制開發,從而減少批量生產交付的浪費(批量生產在跨越職能或不同階段時會出現長時間的等待,批量的需求變更會帶來更長時間的評審,形成在制品的積壓,而這些都是浪費)。而流動效應能夠確保在合適的時間、正確的地點,運用正確的技能,使用正確的輸入提供滿足客戶要求的正確的輸出。追求客戶價值最大化,各部門之間保持服務或產品橫向順暢地流向消費者,是對組織結構的一種很大的優化。
4.拉動系統
客戶的需求可能因為新的見解和期望而改變,由客戶來觸發價值流動是至關重要的,這就是拉動系統所要解決的問題。拉動系統基于訂單或下游實際需求來決定流水線上游的生產過程,流水線中所有的步驟都是基于下游需求產生的,這就是拉動系統與推動系統(Push System)的區別,而推動系統一般基于計劃和預測來減少延遲。比如,拉動系統下的服務,一般都是基于客戶請求的,只有在客戶下單時才開始產生“價值流動”,即客戶驅動了產品或服務的生產。拉動系統實現了即時生產,自然減少了庫存,也不會出現瓶頸。在拉動系統中,當接收到客戶的訂單時,產品流水線中的每一個環節都只完成這個訂單的所需工作任務,這就是 DevOps 實踐中所提倡的單件流。而傳統的推動系統則通過上游進行生產,然后“推”給用戶,這時庫存很容易成為問題:庫存過多造成浪費,庫存不足容易導致供應能力不足。而諸如這樣的問題在拉動系統中會得到良好地解決,因為在拉動系統中是由客戶來觸發價值流動的。
5.持續改進日臻完美
精益生產的目標是追求完美,持續改進直到接近“完美”,但這并不意味著需要實施多重質量控制,造成延誤,而是意味著價值流中的每個角色必須知道自身的任務和相關的質量要求。完美的本質是第一次就把事情做對,這就需要不斷提高交付價值的能力。保持透明有助于我們實現完美目標,因為透明能確保有用的反饋,這些反饋可以讓我們發現不合格產品的問題所在,我們需要創造一個從錯誤中吸取教訓并持續改進的氛圍。提供更接近客戶真正想要的產品的同時,追求高效,避免時間、空間、成本和缺陷修復的各種浪費。
- Cocos2d Cross-Platform Game Development Cookbook(Second Edition)
- The Complete Rust Programming Reference Guide
- UML和模式應用(原書第3版)
- C# 2012程序設計實踐教程 (清華電腦學堂)
- Servlet/JSP深入詳解
- 快速入門與進階:Creo 4·0全實例精講
- Test-Driven JavaScript Development
- Learning AWS
- Spring Boot從入門到實戰
- Python Linux系統管理與自動化運維
- GO語言編程從入門到實踐
- 趣味掌控板編程
- Java與Android移動應用開發:技術、方法與實踐
- 嵌入式網絡編程
- 設計模式之禪