一篇搞懂敏捷開發 (agile development)

更新 發佈閱讀 7 分鐘

English version refer to the 'Team-based' part in this post:



敏捷開發,是個盛行的軟體開發框架

核心概念:將目標拆成多個小任務,以「迭代」方式多次輪迴將之完成

工作流程:

釐清需求 → 制定方向 → 拆分任務 → 多輪迭代 → 驗收成果

需快速應對變化時,常採用此作法

以下用「角色」、「流程」分別解釋,拆解敏捷開發



角色

  • 角鬥士、法師

# 電影「神鬼戰士」英文為 Gladiator,就是角鬥士

  • 產品擁有者 (Product Owner, PO)

就是主管啦!

制定計劃方向、列出待辦清單 (backlog)、搞爛事找碴

依據上游需求文件 (或客戶說法),把大任務拆成各章節 (Epic,直翻史詩)

像打電動一樣,一次破完全遊戲可能很難,但逐章通過就容易很多

  • 團隊指導者 (Scrum Master, SM):

敏捷開發的衝刺「sprint」,也常與「scrum」混用

可簡單理解成短跑、或「敏捷開發」代名詞

Scrum Monster Master 比較像「技術主管」,與工程師對接

會將史詩 (Epic)切成故事 (story),讓工程師能沿故事線遊玩 (工程師:不好玩)

# 叫「史詩」或許難以想像,實質上就是「章節」

Story 指用戶故事,從用戶角度出發、依 INVEST 原則設計

INVEST:

    • 獨立 (Independent)

每個故事互不依賴,避免動工時權責不清、彼此干擾

若無法完全解耦,則應載明依賴性、規劃優先順序

    • 可協商 (Negotiable)

故事是協商起點,並非最終規格,細節由團隊和 PO 共同決定

在待辦清單準備會 (Backlog Refinement)、衝刺時仍可溝通修改

    • 有價值 (Valuable)

每個故事應對用戶、業務帶來「可衡量的價值」

除非目標能帶來實際價值,否則不應列為獨立故事

E.g. 若僅重構程式碼,可能就不該設為故事

    • 可估算 (Estimable)

團隊應可對故事大小或工作量,做出可靠估算

若無法估算,通常表示「需求不清」或「故事過大、含糊」

# 法律人說法:違反明確性原則

當工作量難以估算,可拆分故事、或用相對估算達成共識

相對估算常用 Planning Poker 處理:

先討論故事的需求、大小、涵蓋的技術量等

之後每個人拿撲克牌,用點數估算任務的工作量

牌面向下暗自決定,等全部人都下好離手


同時開牌!


若牌面都相同,則可視為大夥同意該故事的工作量估算

不同的話,就再討論、進入下一輪出牌

E.g. 大家對「畫面設計」都出 6,「模型訓練」都出 13

則團隊眼中,「模型訓練」的工作量約比「畫面設計」多一倍

    • 小巧 (Small)

故事需夠小,能在一個衝刺內完成 (稍後解釋衝刺)

小故事通關率高,降低卡關風險

跨衝刺的長篇,視為史詩或章節 (Epic),應再行切分

    • 可測試 (Testable)

故事應有交付標準,i.e. 通關條件

盡量以自動化測試 (單元 / 整合 / 端對端)驗收,且條件應明定

若只有任務內容卻無驗收標準,需求和成果可能會有落差

# 電動都有「擊敗魔王」、「拯救同伴」、「活命多久」,故事當然得跟上

故事決定後,SM 再將 story 切成任務 (task),分派給每個人負責

Task 即實際工作內容,就像遊戲 NPC 指派給你的一樣

敘述明確、可達成,目標受眾是工程師

# 若描述不明確,那是 Scrum Master 的問題,請打扁他

請容我老圖新用:
Epic 下有多個 Story,Story 下又有複數 Task
Epic
|
|-- Story
|
|-- Task
|-- Task
|-- Story
|
|-- Task
|-- Task
|-- Task
...

除了切分故事,SM 也負責協調團隊合作、監督工項和提供諮詢意見

  • 開發者 (Developer):

開發者 ≈ 工程師,就是實際動工的人

想產出程式碼,當然需要工程師嘍!

# 靠無能主管那張嘴,頂多生出口臭文件

碼農工程師就像工人,負責寫程式碼、執行、測試等

QA、SA 等不限於敏捷開發的角色,就不在此多提



流程

  • 當然,先收集需求 - PO

需求確定後,擬出章節 (Epic)

畢竟不知道要做什麼,自然無法下場開發

  • 列出待辦清單 (backlog) - SM

即前述「待辦清單準備會 (Backlog Refinement)」

有清單後,就可以切章節 (Epic)成故事 (Story)

幾經討論後,故事又能細分出任務 (task)

  • 衝!

Sprint 或 Scrum,短跑、衝刺之意,是敏捷開發精髓

# 主要內容:寫程式、開會、測試

每個任務用一個衝刺完成,通常為期 1~2 週

    • 衝刺會議 (sprint planning)

開跑前,得先釐清目標

一旦作戰會議結束,就可以開奔囉!

    • 方向確立後,便是開發、測試
    • 每日站會 (Daily Stand-up Meeting)

隊員們每天開一次會,時間通常是早上

彼此分享進度、遇到的困難等

特點是開會時都站著,避免歹戲拖棚

# 如果每場會都那樣開,就不信老闆、主管們還熱愛開會

  • 回顧 (sprint retrospective):

每輪衝完後,團隊會進行回顧

評估工作成果、可能的改善空間

簡言之是「良性的檢討大會」

# 理論上是良性,若開成惡性請去檢討主管

  • 交付與反饋 (sprint review):

產品完成後,交付給客戶

順便收集反饋,利於下一輪衝刺參考

# 前期的系統規劃、設計,和後期的品保等不限於敏捷開發,因此沒特別提




產品用迭代方式產生、加上每日開會,因此能快速應對需求變動

結合前期規劃,妥善設計整套系統,可儘量減少麻煩的阻力

# E.g. 主管自己講不清需求,卻怪你東西做不出來


敏捷開發只是常用的一種方法,當然還有其他選擇

每個框架都有各自優劣勢,歡迎不同愛好者交流~



留言
avatar-img
留言分享你的想法!
avatar-img
移幣的沙龍
6會員
29內容數
技術文章、文學抒發、低門檻創意實作教學,想收到通知歡迎加入
移幣的沙龍的其他內容
2025/09/27
Spec-Driven Development (SDD),一般翻為「規格驅動開發」,實質上就是「按圖施工」。 相較一般流程,SDD 強調「先產出文件、架構」等規劃,再著手實作,避免程式碼雜亂、協作困難等問題,更便於導入 AI 工具。 文章後段也介紹幾個開源專案,讓此流程也能用 AI 自動化
Thumbnail
2025/09/27
Spec-Driven Development (SDD),一般翻為「規格驅動開發」,實質上就是「按圖施工」。 相較一般流程,SDD 強調「先產出文件、架構」等規劃,再著手實作,避免程式碼雜亂、協作困難等問題,更便於導入 AI 工具。 文章後段也介紹幾個開源專案,讓此流程也能用 AI 自動化
Thumbnail
2025/08/06
開源 (open source)有多種常見授權方式,並非「開源」就能無限制亂用。 相較於「專有」或「閉源」,開源允許世人分享作品、促進共榮。 本文簡介常見的開源做法、限制,以及某些廠商如 Meta,打著開源名號宣傳卻非真開源的手法。 讓讀者理解開源脈絡之外,也避免誤踩地雷
Thumbnail
2025/08/06
開源 (open source)有多種常見授權方式,並非「開源」就能無限制亂用。 相較於「專有」或「閉源」,開源允許世人分享作品、促進共榮。 本文簡介常見的開源做法、限制,以及某些廠商如 Meta,打著開源名號宣傳卻非真開源的手法。 讓讀者理解開源脈絡之外,也避免誤踩地雷
Thumbnail
2025/05/04
本文整理了許多開源語言模型,包含 DeepSeek、Cohere、Qwen、Mistral、Llama、Falcon、Gemma、Phi 以及 SmolLM 2等,並比較其優缺點、授權方式和適用情境 文章以淺顯易懂的白話文介紹各模型,涵蓋模型大小、參數量、支援語言、擅長領域、推理速度、授權限制等
Thumbnail
2025/05/04
本文整理了許多開源語言模型,包含 DeepSeek、Cohere、Qwen、Mistral、Llama、Falcon、Gemma、Phi 以及 SmolLM 2等,並比較其優缺點、授權方式和適用情境 文章以淺顯易懂的白話文介紹各模型,涵蓋模型大小、參數量、支援語言、擅長領域、推理速度、授權限制等
Thumbnail
看更多
你可能也想看
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
敏捷開發的實踐方式有很多,其中以簡單、易懂的 Scrum 框架最廣為大家接受。 2024年7月 LeSS 網站發布了新一版的《Scrum 指南》,其中調整的內容我覺得讓這個框架更符合實務上的應用,因此就其內容並結合個人經驗與見解撰寫這篇短文,希望幫助大家快速了解這套能幫助團隊適應變化的敏捷開發方法。
Thumbnail
敏捷開發的實踐方式有很多,其中以簡單、易懂的 Scrum 框架最廣為大家接受。 2024年7月 LeSS 網站發布了新一版的《Scrum 指南》,其中調整的內容我覺得讓這個框架更符合實務上的應用,因此就其內容並結合個人經驗與見解撰寫這篇短文,希望幫助大家快速了解這套能幫助團隊適應變化的敏捷開發方法。
Thumbnail
在數位時代,Scrum已成為專案管理的利器。本文介紹Scrum的核心角色、工件和事件,並結合我開發CDP的實際經驗,分享如何通過產品待辦清單管理、Sprint計劃與執行、每日站會和Sprint回顧來提升專案靈活性與效率。希望能啟發更多專案經理運用Scrum,優化專案流程。
Thumbnail
在數位時代,Scrum已成為專案管理的利器。本文介紹Scrum的核心角色、工件和事件,並結合我開發CDP的實際經驗,分享如何通過產品待辦清單管理、Sprint計劃與執行、每日站會和Sprint回顧來提升專案靈活性與效率。希望能啟發更多專案經理運用Scrum,優化專案流程。
Thumbnail
這篇文章著重於解釋軟體專案管理中的戰略意義和專案特性評估,並提出了四個不同像限的專案特性。
Thumbnail
這篇文章著重於解釋軟體專案管理中的戰略意義和專案特性評估,並提出了四個不同像限的專案特性。
Thumbnail
這篇文章描述了作者從兼職開發轉為全職開發的過程,並分享了從混進學界指日可待的積極態度。作者也提及自己在專案製作與個人生活上的矛盾與感想,最後分享了專案管理和敏捷開發相關的文章與影片。
Thumbnail
這篇文章描述了作者從兼職開發轉為全職開發的過程,並分享了從混進學界指日可待的積極態度。作者也提及自己在專案製作與個人生活上的矛盾與感想,最後分享了專案管理和敏捷開發相關的文章與影片。
Thumbnail
軟體開發專案管理的失敗原因複雜多樣,但管理不善是其中一大原因。學習為軟體開發專案而設的管理方法是有效管理的第一步,需對軟體開發專案的特徵進行評估,選擇合適的軟體開發生命週期和專案管理方法。
Thumbnail
軟體開發專案管理的失敗原因複雜多樣,但管理不善是其中一大原因。學習為軟體開發專案而設的管理方法是有效管理的第一步,需對軟體開發專案的特徵進行評估,選擇合適的軟體開發生命週期和專案管理方法。
Thumbnail
本文介紹了在公司專案中採用敏捷(Agile)方法,並分享了Scrum的好處、成員負責工作以及工作流程。希望可以掌握Scrum的核心:透明度、檢視和調整的核心,來推動敏捷工作。
Thumbnail
本文介紹了在公司專案中採用敏捷(Agile)方法,並分享了Scrum的好處、成員負責工作以及工作流程。希望可以掌握Scrum的核心:透明度、檢視和調整的核心,來推動敏捷工作。
Thumbnail
列出一套完整的程式 程式設計有許多種方法,不過通常會先列出清單的再逐一執行,這樣會加快程式設計的速度。設計通常會採取順推的辦法。所以順推的程式設計方式就是經歷觀念溝通、系統分析、資料統合、權限管理、頻率與時間、後台管理、畫面設計等等階段後,將框架設計完了以後,先列出一套完整的程式,將所有使用者都確
Thumbnail
列出一套完整的程式 程式設計有許多種方法,不過通常會先列出清單的再逐一執行,這樣會加快程式設計的速度。設計通常會採取順推的辦法。所以順推的程式設計方式就是經歷觀念溝通、系統分析、資料統合、權限管理、頻率與時間、後台管理、畫面設計等等階段後,將框架設計完了以後,先列出一套完整的程式,將所有使用者都確
Thumbnail
本文討論如何運用敏捷開發的概念到人生,以打造人生產品並驗證自己的喜好。透過市場見解,敏捷開發可以幫助我們快速迭代,以不斷納入新資訊制訂下一波戰術。同時,設計思考和建立人脈也能運用敏捷迭代。此外,我們也討論了計畫如何做才完整、產品藍圖的重要性以及應對科技債的建議。
Thumbnail
本文討論如何運用敏捷開發的概念到人生,以打造人生產品並驗證自己的喜好。透過市場見解,敏捷開發可以幫助我們快速迭代,以不斷納入新資訊制訂下一波戰術。同時,設計思考和建立人脈也能運用敏捷迭代。此外,我們也討論了計畫如何做才完整、產品藍圖的重要性以及應對科技債的建議。
Thumbnail
敏捷測試能有效幫助科技公司應對網路興起、軟體當道和資訊爆炸的挑戰,透過小型、跨功能團隊的協作與快速執行,並以用戶反饋進行快速迭代以測試產品假說。本文談到敏捷開發的迷思、MVP的重要性以及風險的注重,以及精實創業中如何驗證市場假說。同時提出敏捷的問題點,並結合同理心設計以滿足消費者情感上的需求。
Thumbnail
敏捷測試能有效幫助科技公司應對網路興起、軟體當道和資訊爆炸的挑戰,透過小型、跨功能團隊的協作與快速執行,並以用戶反饋進行快速迭代以測試產品假說。本文談到敏捷開發的迷思、MVP的重要性以及風險的注重,以及精實創業中如何驗證市場假說。同時提出敏捷的問題點,並結合同理心設計以滿足消費者情感上的需求。
Thumbnail
近年來,隨著科技的迅速發展,軟體開發領域也在不斷演進。在這股潮流中,敏捷開發備受矚目,成為企業追求靈活性和快速交付的首選方法。本文將探討敏捷開發在台灣的現況,深入了解這一趨勢的興起、面臨的挑戰以及實踐的實際情況。
Thumbnail
近年來,隨著科技的迅速發展,軟體開發領域也在不斷演進。在這股潮流中,敏捷開發備受矚目,成為企業追求靈活性和快速交付的首選方法。本文將探討敏捷開發在台灣的現況,深入了解這一趨勢的興起、面臨的挑戰以及實踐的實際情況。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News