一、敏捷式專案管理方法(Agile Methods)
敏捷並不是單一方法,而是超過 12 種以上敏捷方法的總稱(Agile is an umbrella term)。
在實務與課程中,通常會聚焦在幾個最常見的方法,並以這些方法的名詞與流程作為後續說明基礎。
常見方法包含:- Scrum(最常見、課程主軸)
- XP(Extreme Programming)
- Kanban、Lean 等
後續談到的 Sprint、Product Backlog、Scrum Master 等用語,主要都來自 Scrum 與 XP。
二、敏捷式專案管理的角色(Roles)
- Product Owner(PO)
客戶代表,負責定義產品價值,並依「價值高低」排序 Product Backlog。 - Scrum Master(≈ Agile Project Manager)
敏捷中的專案管理角色,負責促進流程、排除障礙、協助團隊順利運作,而非傳統的指揮與控制。 - Development Team
實際完成工作的跨職能團隊,團隊人數不宜過多,以利溝通與協作。
三、敏捷式專案管理的核心產出(Artifacts)
- Product Backlog
由所有利害關係人提出的「全部專案需求清單」,依價值排序。 排序權責在 Product Owner。 - Sprint Backlog
下一次 Sprint(迭代)中,團隊承諾要完成的工作清單。 - Increment(可運作的部分成果)
每個 Sprint 結束後的可展示、可測試成果。
四、Sprint 與 Iteration
- Sprint = Iteration
兩個名詞可互換使用(來自 Scrum 與 XP)。 - Sprint 是一個固定長度的時間段(Time-box),在此期間完成一組有價值的功能。
五、敏捷專案的整體流程(Agile Process)
1. 建立與排序 Product Backlog
Product Owner/客戶在 Product Backlog 中寫下所有想要的功能與需求,
並依「價值高低」進行排序。
2. Sprint Planning Meeting
團隊與 Product Owner 一起開會,討論下一個 Sprint 要完成哪些功能。
重點包含:
- 從 Product Backlog 中挑選最優先的項目(按照Product Owner排出的順序)
- 考量 Team Velocity(團隊在一個 Sprint 中能完成的工作量),可以參考過去的工作完成量
- 決定 Sprint Backlog(下一次 Sprint 要完成的工作清單)
3. Sprint 執行階段(Iteration in Progress)
- Daily Stand-up Meeting(每日站立會議)
每天進行,約 15 分鐘 每人回答三個問題: - 昨天做了什麼?
- 今天要做什麼?
- 是否需要協助或有阻礙?
- 可能會有 部分完成的工作,可先用於展示或讓客戶試用(Demo)。
4. Sprint Review
在 Sprint 結束時舉行,邀請客戶或利害關係人參與:
- 展示可運作的成果
- 蒐集客戶回饋(Feedback)
5. Sprint Retrospective(回顧會議)
在客戶離開後,由團隊內部進行:
- 哪些地方做得好?
- 哪些地方可以改進?
- 下個 Sprint 要如何調整做法?
👉 這是敏捷中的 Lesson Learned 機制。
6. Release 判斷
經過數個 Sprint 後,檢視目前產品是否已達到:
- Shippable Increment(可交付、可發布)
若可以,則進行 Release(發布測試或正式上線)。
7. 回到 Product Backlog,進入下一循環
完成一個循環後:
- Product Backlog 會更新(已完成項目移除、可能新增需求)
- 再次從「最有價值的項目」開始下一輪 Sprint
六、敏捷專案何時結束?
Agile 專案不是「做完所有需求才結束」,而是:
當時間與成本用完,或功能帶來的效益已不再符合投入成本時,專案即結束。
也就是:
- Run out of time
- Run out of money
- 或 價值不再值得繼續投入