我在 Kanban 中的文件中, 常常發現有人提到單件流(one piece flow)的觀念, 對於資工出身的我, 十分困惑, 它到底是什麼? 和軟體開發的關聯是什麼? 可以帶來什麼好處呢? 最近花了點時間整理了一下.

原本單件流的定義:
每次生產和移動一個工件,  整個過程希望盡可能連續流動, 並且上下流的工作能夠剛剛好接上.

 

task_leveling_6  


在軟體開發上的想法:
每次開發一小部分功能, 由一個小型的團隊, 從分析, 設計, 開發到測試階段, 成員之間彼此密切合作

好處
1. 品質: 功能小比較好估時程, 架構比較好控制, 因此錯誤也不至於太多, 問題也比較容易解決.
2. 彈性: 每次做些小東西, 因此可能快速調整方向, 去處理客戶要的東西
3. 產能: 因為團隊成員緊密合作, 減少不必要的溝通或是浪費, 可以專心在產品的開發
4. 成本: 團隊成本小; 並且若是做出來的功能若是沒有用的話, 也不會損失太多
5. 易暴露問題點: 如果做小功能都無法很順暢, 代表團隊本身在某些地方有問題, 以前會因為人多, 或是事情多, 而不容易被發現, 現在因為事情簡單, 所以容易被看到. 請參考之前文章的說明:
http://kojenchieh.pixnet.net/blog/post/341622353

困難處:
1. 客戶不會隨時待命, 無法每個功能都在旁邊討論和給意見
2. 複雜的系統在開發前需要適當的分析, 以及架構設計, 無法馬上開始開發某個功能
3. 在部署上, 大企業通常會需要經過很謹慎的測試流程, 如果要多次部署每個功能代價會很大.
4. 要找到一些成員俱有多技能並不容易, 因此這個小團隊不容易產生

arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()