M
MH Tsai
敏捷開發介紹
敏捷開發介紹
這篇主題會涵蓋幾個點:
- 總結和回顧一下在前東家帶 Agile Development (敏捷開發) 的心得
- 為什麼很多人對敏捷開發都是調侃的心態 (我敏捷,你開發😂)
- 讓更多人合適地使用敏捷開發
- 為什麼要敏捷開發
敏捷開發是一種應對快速變化的需求的一種軟體開發能力, 對於這個開發概念,有個對應的宣言
而根據概念和這些理念發展出了 Scrum 和 Kanban 主要兩個大框架 (各個組織裡面後來都會有各種的變形 )
聽過很多把敏捷開發用的很糟的團隊
大部分都是負責帶「敏捷開發」的人把它當成來拿壓工程團隊時程的擋箭牌
「敏捷開發」是 Agile Development 不是 Fast Development
具體上來講這個開發概念跟 Release 功能的時間並沒有直接的關係
Agile 代表是有可以調整開發過程和市場反應的彈性
並不代表一個開發週期裡塞滿一堆超過開發能量的功能
接下來我想介紹 Scrum 這個框架
Scrum 這個框架裡主要由 3個角色、 3個產出和 5個會議組成
角色:
- Scrum Master (How to deliver)
- Project owner (What to deliver)
- Tech Lead (How to implement)
- User Story
- Tasks
- Story points
- Sprint Grooming
- Sprint Planning
- Sprint Kickoff
- Sprint Start
- Sprint Demo and Retro
Scrum 就是透過這幾個角色的互動和不同要素間的使用
確保團隊維持一個有效運作的機制
初步的介紹先到這裡
很多在詬病這些開發框架的人或團隊,可以試著拔掉完全不用框架
沒採用任何開發流程,也會自然而然的發展出類似的模式
而透過定義這些工作框架 (Scrum, Kanban),可以讓每個團隊不用重新摸索組織可以怎麼有效地運作
框架讓大家建立在一樣的基礎上工作,若發現框架因為特定因素不適合 (團隊人數、市場需求劇烈變化) ,就該去調整,可能是少一些會議,不同嚴謹程度的文件
唯有保持調整的彈性才是真正的 Agile 的精神