敏捷軟體工程:產品探索、開發流程與測試實務
Agile Software Engineering: Product Discovery, Development Process, and Testing Practices
| 節 | 週五 |
|---|---|
2 09:00–09:50 | 敏捷軟體工程:產品探索、開發流程與測試實務 EC329 3 節連堂 |
3 10:10–11:00 | |
4 11:10–12:00 |
* 根據陽明交大上課時間表所列
在真實軟體開發團隊中,「寫程式」只是整體流程的一小部分。更關鍵的,是如何探索產品需求、協作開發、持續交付並確保品質。 本課程以 「敏捷軟體工程」 為核心,結合 Scrum、Kanban、Agile Product Discovery、Agile Testing、Specification by Example、Exploratory Testing 與 LeSS(Large-Scale Scrum)等方法,讓學生從真實案例與實作中理解現代軟體團隊的運作方式。 課程強調「從產品想法到交付的完整生命週期」,學生將學習如何在跨職能團隊中協作,如何將需求轉化為可驗證的規格(Spec),以及如何透過測試策略提升軟體的可靠性與可持續性。 這門課不僅教你如何「開發軟體」,更教你如何「用工程思維創造價值」。 完成本課程後,學生將能夠: 1. 理解敏捷軟體工程的核心原則與價值觀 認識 Scrum、Kanban、LeSS 等框架背後的工程哲學與組織行為。 2. 運用 Agile Product Discovery 技術探索需求 透過假設驗證、用戶訪談與 Pretotyping,縮短從想法到實證的距離。 3. 設計與管理開發流程 建立具可視化的工作流程與研發節奏,理解研發效能(Engineering Productivity)的衡量方式。 4. 應用測試導向的工程實務 掌握 Agile Testing、Specification by Example、Exploratory Testing 等方法,設計高價值的測試活動。 5. 協作與擴展敏捷團隊 了解如何在多團隊環境中運用 LeSS 原則協作,並在不同角色間(PM、RD、QA)建立共識與對齊。
多年軟體開發能力 (至少 4 年) 有與其他人協作開發經驗 (至少 2 年) 測試過自己開發的系統 (至少 1 年)
(1) 出席 (60%) (2) 期末報告 (40%) a. 如果被問到問題, 不會回答, 斟酌扣分 b. 小組人數: 4-6 人一組 c. 報告時間長度: 15 分鐘 d. 報告內容, 找一個題目, 套用上課教的內容. 至少必需包含以下內容 d-1. impact mapping d-2. story mapping d-3. retrospective 會議的內容, 說明「持續改進」狀況 d-4. 至少 5 個 story 要撰寫 AC d-5. Lesson Lernt e. 連續三個迭代的 sprint planning, sprint review, sprint retro 的 video 紀錄 每個 meeting 至少 3 分鐘 上傳到 youtube 讓大家可以看到 要連續三個迭代
| 週次 | 主題 |
|---|---|
| 第 1 週 | 敏捷需求探索 (I) 1. 敏捷需求探索流程 2. 影響地圖 3. 用戶旅程地圖 4. Pre-totyping |
| 第 2 週 | 敏捷需求探索(II) 1. 敏捷需求探索流程 2. 影響地圖 3. 用戶旅程地圖 4. Pre-totyping |
| 第 3 週 | Scrum 敏捷開發的系統性做法 (I) 1. Scrum 開發流程、Scrum 的角色、如何組織需求、Scrum 會議 |
| 第 4 週 | Scrum 敏捷開發的系統性做法 (II) 1. Scrum 開發流程、Scrum 的角色、如何組織需求、Scrum 會議 |
| 第 5 週 | 敏捷測試 (I) 什麼是敏捷測試、敏捷測試轉型、敏捷測試規劃、敏捷測試實踐、敏捷自動化測試策略 |
| 第 6 週 | 敏捷測試 (II) 什麼是敏捷測試、敏捷測試轉型、敏捷測試規劃、敏捷測試實踐、敏捷自動化測試策略 |
| 第 7 週 | 實例化需求(I) 爲什麼要用範例、描述範例的方法、如何協作討論出範例、系統化開立範例的方法 |
| 第 8 週 | 實例化需求 (II) 爲什麼要用範例、描述範例的方法、如何協作討論出範例、系統化開立範例的方法 |
| 第 9 週 | 探索性測試 (I) 什麼是探索性測試、基於迭代的測試管理方法、測試任務(Charter)的深入研究、如何在專案中落實探索式測試 |
| 第 10 週 | 探索性測試 (II) 什麼是探索性測試、基於迭代的測試管理方法、測試任務(Charter)的深入研究、如何在專案中落實探索式測試 |
| 第 11 週 | 看板方法 (I) 如何設計看板、如何衡量交付成效、如何解讀數據和改善 |
| 第 12 週 | 看板方法 (II) 如何設計看板、如何衡量交付成效、如何解讀數據和改善 |
| 第 13 週 | 研發效能 研發效能概論、流程指標、品質與複雜度指標、GQM 流程 |
| 第 14 週 | 大規模敏捷開發 (I) LeSS 簡介、實際演練、LeSS 會議介紹、產品和組織設計 |
| 第 15 週 | 大規模敏捷開發 (II) LeSS 簡介、實際演練、LeSS 會議介紹、產品和組織設計 |
| 第 16 週 | 專題報告與展示 (小組) 學生分組完成一個具挑戰性的專題,從發想、技術實作到口頭報告與成果展示 |
無,但是會有以下參考書籍 (1) 多團隊高效協作密技:大規模敏捷開發方法 Large Scale Scrum 簡單學, 柯仁傑, 博碩, 2024 (2) SCRUM BOOT CAMP|23場工作現場的敏捷實戰演練, 西村直人, 永瀬美穂, 吉羽龍太郎 著 游子賢 譯, 碁峰, 2022 (3) Specification by Example 中文版:團隊如何交付正確的軟體, Gojko Adzic 著、張昌貴、張博超、石永超 譯、傅育文 審校, 博碩, 2014 (4) 看板實戰 : 用一張便利貼訓練出100分高效率工作團隊, Marcus Hammarberg, Joakim Sunden 著、霍金健、何勉、程鳴 譯, 博碩, 2017 (5) 軟體測試修練指南:我獨自升級的實戰心法, 柯仁傑, 博碩, 2025 (6) 使用者故事對照 (User Story Mapping: Discover the Whole Story, Build the Right Product), Jeff Patton 著、楊仁和 譯, 歐萊禮, 2016 (7) 爆賣產品這樣來!前 Google 創新主管用小投資測試大創意的實用工具書, Alberto Savoia 著 陳依萍 , 吳慧珍 譯, 商周出版, 2021 (8) Impact Mapping: Making a Big Impact with Software Products and Projects, Gojko Adzic, 2012 (9) 軟件研發效能提升實踐, 茹炳晟 等, 電子工業, 2022 (10) Google 的軟體工程之道|從程式設計經驗中吸取教訓, Titus Winters, Tom Manshreck, Hyrum Wright 蔣大偉 譯, 歐萊禮, 2022