Scrum Q&A


Q: 我們用用 SCRUM 想幹嘛? 
A: 我們都曾經遇過在某個專案已經花費很多時間跟人力做得一團亂. 但在某個機緣下少少幾個人展現強大的戰鬥力把待辦清單做完, 成為膾炙人口的佳話. 這個佳話也成為團隊員日後美好的回憶. 會有佳話是因為: 
  1. 待辦事項清單清楚
  2. 有人排出優先順序, 先做重要的, 其他丟掉
  3. 隊員各有擅長的事情, 壓力下大家挑出擅長的事情互相合作完成
  4. 跟使用者端緊密合作, 確保大家做的事情可以上線
就好像玩美式足球. 賽前規劃戰略, 比賽中一球一球緊密配合, 賽後檢討準備下場比賽.
使用 SCRUM, 最終希望在這個組織工作的人都能擁有美好的回憶, 達到卓越的狀態.

Q: 為甚麼要 Daily Scrum? 
A: 因為我 (Scrum Master) 需要知道每個人的狀況, 是否有人被卡住需要我去協調.
此外當隊員都很好溝通, 彼此熟悉, 那當然很好. 如果隊員溝通情況沒那麼好, 或是個性沒那麼搭, Daily Scrum 是個管道強迫大家互相溝通進度或向外求援

Q: 為甚麼要 retrospective meeting?
A: 大家在執行上有甚麼問題, Scrum Master 需要知道, 然後趕快改善, 這是很重要的部分

Q: 為甚麼要 demo?
A: 做出來的東西要快點讓使用者看看是否可用, 還是說應該要快點修正. 
不過 demo 的時候, 使用者的回饋不用照單全收, 比方說他可能會說: 請給我全部欄位都可以排序.
我們可以在 demo 的時候吸收 feedback, 然後分析 feedback 再改善, 而不是把使用者的話當 spec.

Q: 為甚麼要 Story?
A: Story 會描述情境, 別人看了比較知道要滿足甚麼. 你都短短的寫技術或 component 名詞, 只有你現在知道要做甚麼, 以後看 ticket 都需要去爬程式回想才知道想幹嘛. 更糟的是程式不一定能反應當下的情境.

Q: 為甚麼要 Story Point?
A: 為了評估團隊的 througput, 看進步或退步了, 看是否可持續改善.
另外用來跟公司收到的利益結合, 計算 Story 替公司爭取多少利益. 這當成 product owner 的 KPI. 亂開 Story 的 product owner 績效會很差.

Q: Plan Meeting 怎麼進行?
A: 讓每個 member 知道每個 Story 就好了.
"千萬"不要討論實做細節, 那不是 plan meeting 該做的事. 就算實做的"方向"也不該討論.
那是 member 自行決定的東西.
plan meeting 後, member 可以留下來繼續討論怎麼在這個 sprint 內"攻下"這些 story.
照戰略攻克每個 story 很爽...

User Story Template

Reference


User story format:

“As a (user type), I want to (goal), so that (reason).”
Attributes of good user story: INVEST
Independent
Negotiable
Valuable
Estimable
Sized Appropriately
Testable

Best Practices

  • Readability:
    • "One sentence" part is for reader to catch up in 5 seconds
    • The entire user story is for reader to understand in 30 seconds
    • The extra information can be added in notes section. For example, detail requirement, special conditions, and key decisions.
    • Use your best way to communication. For example, for functional requirement, please put it in UI prototype which is more clear than thousand words.
  • Prioritization:
    • Always need to have priority
    • Force ranking from 1 (the top priority) in each category
  • How to improve user story quality:
    • Write often and review with colleagues
    • Share with different stakeholders like customers, NOC, BD, or CEO. Try to get their feedbacks.

別名演算法 Alias Method

 題目 每個伺服器支援不同的 TPM (transaction per minute) 當 request 來的時候, 系統需要馬上根據 TPM 的能力隨機找到一個適合的 server. 雖然稱為 "隨機", 但還是需要有 TPM 作為權重. 解法 別名演算法...