豐田式生產
如果想瞭解持續整合的目的,就需要先知道豐田式生產管理(Toyota Management)的概念,豐田式生產又稱為精實生產(Lean Producton)。
根據 wiki:豐田生產方式
豐田式生產主要目標,是杜絕負荷過重(muri)、不平準(mura)和一切的浪費(muda)。TPS 把浪費歸納成七種:
- 等待的浪費;
- 搬運的浪費;
- 不良品的浪費;
- 動作的浪費;
- 加工的浪費;
- 庫存的浪費;
- 製造過多(早)的浪費。
TPS 背後的理念是杜絕浪費,因而不再需要庫存。基本原則是「豐田模式」(The Toyota Way),概述如下:
- 正確的流程方能產生正確結果
- 發展員工與事業夥伴,以為組織創造價值
- 持續解決根本問題是組織型學習的驅動力
從製造業的角度來看,能夠避免不必要的浪費跟重工,相對的效率就會變快,我們可以把 TPS 歸納的七種浪費就軟體開發的角度來看:
- 等待的浪費,搬運的浪費:程式開發週期除了寫程式之外 build, test, deploy 都需要處理,但可以自動化
- 不良品的浪費:程式錯誤一再發生,沒辦法杜絕,若能在每個環節測試確認,則可以確定每個動作沒有問題
- 動作的浪費,加工的浪費:可以自動化,就不需要人的接入
- 庫存的浪費:軟體沒有庫存壓力
- 製造過多(早)的浪費:重覆的動作,就是一種浪費
所有在製造業所會發生的問題,大部份軟體開發也會有同樣的問題,我們可以借鏡其精神,與豐田式生產相互輝映,發展出敏捷式開發(agile),下一章節將近行介紹。