Scrum 敏捷軟體開發 一日體驗營@新竹 - Part 1
講師: David Ko
Outline
- 敏捷觀念簡介
- Scrum 基礎觀念介紹
- 如何組織需求
- Scrum 會議
- Scrum 開發方法總結
Part 1 - 敏捷觀念簡介
0. Why post it
為什麼用便利貼
- 所有東西都可以看的到
- 資訊視覺化
- 彈性
- 說出更多東西
- grouping 大家來
- 共識
- voting
1. 敏捷歷史
年份
方法
1950
PDCA(Plan-Do-Check-Act): 針對品質工作按規劃、執行、查核與行動來進行活動,
以確保可靠度目標之達成,並進而促使品質持續改善
1970
瀑布式開發
1986
Spiral model(螺旋模型)
1995
Scrum 用管理角度看
1997
FDD(Feature Driven Development)
1999
Extreme Programming
2001
敏捷宣言
2003
Lean Software Development
2. 敏捷宣言
- 個人與互動 重於 流程與工具
- 可用的軟體 重於 詳盡的文件
- 與客戶合作 重於 合約協商
- 回應變化 重於 遵循計畫
兩邊都很重要,但左邊非常重要,敏捷是重計畫的方法
3. 敏捷宣言背後的原則
變是唯一不變的東西
敏捷不會比較快,要有因應 change 的能力
Team 的溝通很重要
持續交付東西給大家
4. 敏捷開發的思維
A. 敏捷所有一切方法都是關於回饋
方法
多久看一次
註
瀑布
最後看
Scrum 檢視會議
每週
Scrum 每日立會
每日
自動測試
每小時
程式碼一有變動就檢查
Pair programming
幾分鐘
Cargo cult: 貨物崇拜
不在乎後面的原理,就以為 Run CI 就是遵循敏捷
但敏捷的方法是關於"回饋",就是一有變化就要有回饋
所以 Run CI 其實要看 如何讓 Run 的時間變快 (Build, test case, …etc)
一有 change 就要 run 看可不可以過
不會過就要趕快去改
最早的時間做因應的對策
及早治療的照妖鏡,在最早的時間去跟你說哪裡就應該要調整了,所以很多地方都要一起調整
所有都調整才能變快
B. 溝通的有效性
就是找答案
找答案的解法:用更有效率的方法找答案
C. 自我組織的團隊
Conway Law: 產品的架構與團隊的組織是有關係的是相互作用的
D. 持續改善: PDCA
E. Doing Agile vs Being Agile
Doing Agile
Being Agile
問題導向
價值導向
實施某些任務
持續交付
專案為主
自我組織
標準化流程
授權
效率
團隊高度承諾
指揮控制
守破離
遵守規則
break rule
什麼東西都可以做
- 從 Doing Agile 到 Being Agile
Ref:
1. https://zh.wikipedia.org/wiki/PDCA
2. https://zh.wikipedia.org/wiki/螺旋模型
3. http://kojenchieh.pixnet.net/blog/post/355799513-feature-driven-development-簡介
4. http://agilemodeling.com/images/communicationModes.gif