iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 6
0

前面幾篇整理了常見的三種敏捷開發方式

  • Extreme Programming
  • Scrum
  • Kanban

但究竟要使用哪一種方式呢?

我們來比較一下

Scrum vs. XP

Scrum XP
致力在建立自己團隊內好的流程結構 致力在創建好的系統
比較容易開始,因為只是需要將Scrum規則導入 較難入門,因尚須導入Pair Programming、TDD...等觀念
相對難精通,Fail的話會是無聲無息的結束 較容易精通,Fail時比較會是很激烈的爭執
每次循環的週期時間約2-4週 每次循環的週期時間約1-2週
只要Sprint啟動,中間項目就不得更動 只要團隊還沒執行到該項目,該項目就是可被更動的
Product Owner會提供優先順序,但會綜合團隊擁有的點數做最後的排序 開發有嚴格的先後順序
沒有規定程式開發的工程 有要求要有相對的開發工程,例如Pair Programming、TDD、Simple Design、Refactoring....等等

Scrum Board vs Kanban

Scrum Board Kanban
主要是開發端的事情,有可能走完了但故事還沒完成 整個脈絡故事中從0到1所有價值有加成的活動
範圍比較小,主要是開發端的流程 範圍比較大,包含整個流程,相較完整
是指內部成員要做的細項 是整個故事的開發流程
每一張便利貼是代表一個Task任務 每一張便利貼是代表一個Story故事
會為成員分類角色 團隊中的每個成員並沒有特定角色
有Iteration的概念 Flow-Base的概念
在Sprint開始後不允許改變或更動 可接受改變,持續改善才是重點
適合有排定優先順序且不太會變動需求的團隊運行 適合需要彈性變化優先順序的團隊開發
https://ithelp.ithome.com.tw/upload/images/20190922/20111916MXIlB2B300.png https://ithelp.ithome.com.tw/upload/images/20190922/20111916iGiUz9AKd7.png

至於XP與Kanban的比較呢~沒有那麼相似與直接,當然概念上都是敏捷的精神,但是操作手法上的重點很不相同,就不特別表列了!

在團隊中究竟適合何種開發方法?我覺得要評估以下幾點:

  1. 團隊目標:團隊是否要以敏捷為主旨,是要全團隊的人配合
  2. 客戶需求狀態:是否快速變動、不明確
  3. 團隊組成:有多少SA、有多少PG,在開發團隊上的人數組合
  4. 專案時程:總專案時程的長短,我覺得也會影響團隊配合的方式

當然也有遇過一些是混合的,他們沒有真正完全選擇一種方式,而是更挑一點他們覺得好用的、習慣的方法來實行,這不妨也是個方式呢!

參考資料、延伸閱讀:

下集預告:Lean 精實開發


上一篇
Kanban
下一篇
Lean 精實開發
系列文
後端功城獅30天DevOps探討挑戰30

尚未有邦友留言

立即登入留言