Liz's Blog

17道上課筆記#2:User Story

| Comments

user story 是什麼?

屬於敏捷式專案管理常用技巧之一。

  1. 具有簡單的功能敘述。
  2. 以(角色)的觀點寫下有價值的功能及需求。
  3. 之後再討論實作細節。

為什麼我們要用user story?

與傳統專案管理較大的差別在於:

  1. 重點不在於初期花了許多時間訂立細目規格,而在於用雙方用user story去溝通,將需求變成是比較具體可執行的項目。 →衍伸需要思考的是:是否能夠區分願景、目標、需求、交付物是什麼?
  2. 用user story來回溝通需求是否是雙方都可以認同的,並將實作細節往後拉。花時間溝通,而不是開發時才發現規格做不出來或不了解對方要什麼。
  3. 以使用者的角度出發(第一人稱),去描述不同角色(人),在不同場景(時、地),會做的事(事、物)。這樣一來,也可以區分出哪些是必要、有價值的事情,由此列出待做清單,也能比較清楚比較輕重緩急。
  4. user story會傾向切分成更小且容易理解的story,所以開發週期變短,也不用等到所有story寫完才動工,適合iterative,比起傳統專案管理更為彈性。→衍伸需要思考的是:如果遇到有招標規格的案子,要如何應對?

如何使用user story?

  1. 先區分出角色(人)。如:平台管理者、商家管理者、消費者等。 →讓客戶及開發者都能以不同使用者的角度思考會遇到什麼事情。
  2. 再來區分場景(時、地)。如:前台、後台、出貨後、下單後、上架時等。
  3. 最後是遇到什麼事情(事、物)。如:查詢訂單、收到確認信等。

【參考資料】

  1. 人人都該學習的技術:從 Idea 到成品,撰寫 User Story 的能力
  2. User Stories (1) 什麼是 User Story?

【17道上課筆記系列】

  1. 17道上課筆記#1:整理撰寫 SEO 原則
  2. 17道上課筆記#2:User Story
  3. 17道上課筆記#3:列出五條 Yahoo Frontend Best Performance 最佳實務
  4. 17道上課筆記#4:Strong Parameter
  5. 17道上課筆記#5:如何讓 strong_parameter 接受 nested_attributes
  6. 17道上課筆記#6:before_action 的使用時機
  7. 17道上課筆記#7:session 與 cookie 的差別
  8. 17道上課筆記#8:為何我們要用狀態機去設計訂單狀態?
  9. 17道上課筆記#9:has_one v.s. has_many
  10. 17道上課筆記#10:render 與 redirect_to 的差異
  11. 17道上課筆記#11:routing 的 namespace
  12. 17道上課筆記#12:Callbacks
  13. 17道上課筆記#13:Service Object
  14. 17道上課筆記#14:Inheritance繼承
  15. 17道上課筆記#15:為什麼 Rails 要分production、test、development三種環境
  16. 17道上課筆記#16:什麼時機要用 helper?什麼時機要用 partial?

Comments

comments powered by Disqus