前端工程師面試不只會問技術,也很常問團隊協作。
「Scrum 是什麼?」這題看起來像管理題,但其實面試官想知道的是:
- 你有沒有在迭代式開發裡工作過
- 你懂不懂需求拆分與估點
- 你遇到 blocker 時會不會主動溝通
- 你能不能跟 PM、Designer、Backend 一起交付功能
Scrum 是什麼?
Scrum 是一種敏捷開發框架,把產品開發拆成一段一段固定長度的 Sprint。團隊在每個 Sprint 裡選定要完成的工作,開發、測試、交付,最後再回顧流程並持續改善。
面試可以這樣回答:
Scrum 是 Agile 底下常見的一種框架。它把開發週期拆成固定長度的 Sprint,透過 Sprint Planning、Daily Scrum、Review、Retrospective 來讓團隊持續交付產品。重點不是開很多會,而是讓需求、進度、風險都保持透明。
Scrum 的三個角色
Product Owner
Product Owner 負責產品方向與需求優先順序。
常見工作:
- 管理 Product Backlog
- 定義需求與驗收標準
- 決定哪些項目優先進 Sprint
- 和利害關係人溝通產品價值
對前端工程師來說,PO 常常是你確認需求範圍的人。
Scrum Master
Scrum Master 負責維護 Scrum 流程,協助團隊移除阻礙。
他不一定是主管,比較像流程教練。
常見工作:
- 確保 Scrum event 有效進行
- 協助處理 blocker
- 幫團隊改善協作流程
- 避免外部干擾 Sprint 目標
Developers
Developers 不是只指後端,也包含前端、QA、設計實作相關成員。
在 Sprint 裡,工程師負責把 backlog item 轉成可交付的 increment。
Scrum 的幾個重要事件
| 事件 | 目的 |
|---|---|
| Sprint Planning | 決定這個 Sprint 要做什麼,怎麼做 |
| Daily Scrum | 每天同步進度、風險、阻礙 |
| Sprint Review | 展示完成的功能,取得回饋 |
| Sprint Retrospective | 回顧流程,找出下個 Sprint 可以改善的地方 |
很多人會把 Daily Scrum 講成「每天報告昨天做什麼」。這樣回答會有點可惜。
更好的說法是:
Daily Scrum 的重點不是向主管報告,而是讓團隊同步 Sprint Goal 的進度,提早暴露 blocker,讓需要協作的人可以盡快對齊。
前端工程師在 Sprint 裡實際會做什麼?
以一個「商品列表加篩選器」功能為例,前端在 Sprint 裡通常會參與:
- Planning 時確認需求與 API contract
- 拆分 UI state、資料流、錯誤狀態
- 和 Designer 確認 RWD、empty state、loading state
- 和 Backend 對齊 query parameters 與 response schema
- 實作 component、串 API、補測試
- Review 時展示功能並收 feedback
- Retrospective 時提出流程改善,例如需求驗收標準不清楚
也就是說,前端不是拿到 Figma 後悶著頭切版,而是要主動把需求裡不明確的地方挖出來。
Backlog、User Story、Acceptance Criteria
面試如果想再深入一點,常會問你怎麼理解 User Story。
User Story 通常長這樣:
As a 使用者
I want to 使用某個功能
So that 我可以達成某個目的但對工程師最重要的是 Acceptance Criteria。
例如:
Given 我在商品列表頁
When 我選擇價格區間 1000 - 3000
Then 列表只顯示符合價格的商品
And URL query string 會同步更新Acceptance Criteria 讓工程師知道「做到什麼程度算完成」。如果沒有這個,開發很容易變成各自想像。
Scrum 面試常見追問
Sprint 中途需求變更怎麼辦?
可以這樣回答:
我會先確認變更是否影響 Sprint Goal。如果是小調整,可以和 PO、團隊一起評估是否納入;如果是大幅改 scope,通常應該重新排優先順序,而不是直接塞進 Sprint,避免整個 Sprint 失焦。
估點估錯怎麼辦?
估點不是承諾精準工時,而是幫團隊理解複雜度與風險。
如果估錯,我會在 retrospective 裡回顧原因:
- 需求不清楚
- API 風險沒被估進去
- 設計狀態不完整
- 舊程式碼比預期複雜
下次 planning 時就能更早拆 spike 或補技術調查。
Daily Scrum 會不會浪費時間?
如果只是照順序報流水帳,確實會浪費時間。
有效的 Daily Scrum 應該聚焦:
- Sprint Goal 有沒有風險
- 誰被卡住
- 哪些事情需要會後對齊
真正要討論細節的人,會後再拉小會,不應該讓整個團隊一起等。
我的面試回答模板
如果面試官問「Scrum 是什麼?」我會這樣答:
Scrum 是一種敏捷開發框架,透過固定長度的 Sprint 讓團隊持續交付可用的產品增量。它有 Product Owner、Scrum Master、Developers 三個角色,也有 Planning、Daily、Review、Retro 這些事件。對前端工程師來說,我覺得 Scrum 的重點是讓需求、進度和 blocker 透明化,並且在每個 Sprint 裡持續改善協作方式,而不是單純照流程開會。
這樣回答會比「Scrum 就是敏捷開發」更完整,也能帶出你真的在團隊裡跑過流程。