Ruddy Lee 分享空間

Emergent Design 演化設計

User Story Mapping 使用者故事對照

with one comment

 《 對付需求模糊的好幫手 – User Story Mapping》

.

(想寫一系列的User Story Mapping的實際應用,打算從 breakdown 自己上的《Scrum課程》開始: 簡報資料在這裡。我採用電子化的App來做這件事,它是純HTML的版本,可以隨時隨地更新故事,下面那張圖正是運用它EXPORT的功能所產生出來的。對時時需要做規劃的人而言;省時、省力,真是棒極了! )

.

User Story Mapping 它能夠結構化使用者故事,好處多多,還能告訴我們:

  • 專案該從哪裡開始做起(What to build first).
  • 增強學習,鼓勵迭代開發(Encourage iterative development)
  • 界定專案範圍(Scoping the project)
  • 易於規劃專案(Planning the project)
  • Backlog疏理及優先順序考量(Prioritizing and grooming the backlog)
  • 專案進展的可視化(Visualize project progress)

(尤其能處理模糊的需求,它採用的是功能強大的 Hierarchical Planning 技巧,"階層“在這裡再次的展現了它的魔力)

.

迅速展開的階層模式,能解決模糊的需求

其實我最喜歡它的是階層式(Hierarchical)的規劃模式,這是早該出現的使用者故事規劃方式了。大家還記得IBM早期作業系統的規劃文件嗎? 一種叫做 HIPO(Hierarchical Input Process Output)的文件製作模式,它被運用在描述OS/360、S/34/36/38 …等作業系統上。是1970年的古董了。凡是我經手的委外開發案,我一向採用HIPO來做交接文件(簡單、好用又不出狀況)。User Story Mapping (使用者故事對照)與HIPO 確實具有異曲同工之妙。

 

用它來做需求規畫可以讓原本顆粒較大、比較難以下手的需求,迅速的明確起來(試了幾回,效果好極了)。尤其是配合使用者故事的標準描述Template.

As a <role> , I want <goal/desire> so that <benefit>

完全相同,都是"以使用者為出發“,真是再適合不過了。描述: 第一層、針對該使用者(角色),第二層、是他的目標(主題),再依該目標所需要的第三層、活動及完成該活動所需要的第四層、任務來層層相扣,形成大故事包含小故事的情境。

下圖就是大故事包含小故事的情境,而我們現在所做的描述動作正是在作反過來用對照的訊息來說故事,這是它的另一個好處(参考資料)。我試著把上課的內容依聽課的學員種類,規劃如下:

scrum 課程_0

Scrum 課程的Story Mapping

上圖是將Scrum課程的內容依照:

第一層是使用者: 區分成共通的部分、主管級、資深工程師、工程師。

第二、三層是主要題目及細項: 包括

1) 敏捷觀念;極致編成、SCRUM及看板方法。

2) Scrum原汁原味,採用2012 的Scrum Papers.

3) 需求分析;BrownCow理論說明: 採用 Robertson夫婦所撰寫的Mastering the Requirements Process: Getting Requirements.

4) 召開Scrum四種會議的練習:      Planning meeting/ Standup meeting/ Review meeting/ retrospective meeting.

5) 繪製 Scrum 流程練習: 請學員分別以目標、開發作業、特殊目的做主題繪製Scrum Process圖。

6) 使用者故事練習: 產品負責人做需求描述、Scrum Master及團隊成員做需求描述。

7)  讀書計畫練習: (分別參考以下書籍)

  • 敏捷武士:看敏捷高手交付卓越软件
  • 硝烟中的Scrum和XP
  • Scrum 精髓
  • 使用者故事與敏捷開發
  • 敏捷教練
  • Scrum 捷徑
  • 30天軟體發展:告別瀑布擁抱敏捷
  • Succeeding with Agile:Software Development Using Scrum

8) 針對主管的敏捷項目說明:

  • 複雜專案的定義 Stacey Matrix
  • 敏捷式的專案估算
  • 敏捷合約
  • 敏捷文件
  • 制定簡單的團隊規範
  • 敏捷風險管理

9) 針對資深工程師:

  • 敏捷式的估算
  • 結對編程   Pair Prohgramming
  • 專案測試 – 測試案例 Testcase

10) 針對工程師:

  • 工作項目的估算
  • 使用者故事的拆解練習
  • 單元測試 Unit Test

第四層是參考資料:

1) 針對主管: 說明”從Reifer的十個知識點”及Just Enough Software Architecture.

2) 針對資深工程師:” Scrum+Kanban敏捷專案管理培訓” 加上“Fit for Developing Software Framework for Integrated Tests”.

3) 針對工程師: 番茄工作法 The Pomodoro Technique","Code Simplicity“,"C#測試驅動開發“,"修改代码的艺术"

.

» 使用者故事對照的一個特色就是在你對照完成之後,可以反過來;按著表格把一塊一塊的故事說一遍,採用這種方式跟客戶進行確認故事的描述是否正確(這ㄧ點很像過去做系統訪談時,最後總要把內容疏理ㄧ遍,讓客戶確認)。例如:上圖中所分類的三種使用者,在第四層、参考資料的地方,1) 針對主管:我們取用Reifer的十個知識點作参考。目的是為了說明透過過去的統計資料,採用Scrum這種開發架構,在那些範圍適用,而那些地方較不適用。

 .

故事先說到這裡,下一篇我會把剛剛完成的看板方法的書本章節,也來用 User Story Mapping 對照一下,經過對照之後,整個課程看得讓人神清氣爽,相信我你也會喜歡它的。

Written by ruddyllee

2015 年 01 月 09 日 於 18:36:03

一個回應

Subscribe to comments with RSS.

  1. […] 最後穩定下來的排序就是大家的共識,卡片寫上估計大小後收起來,有人不同意也沒關係,可以等到真的要開工前在慢慢吵 XD。或是放著讓PO來排出優先順序,甚至直接開始做Story Mapping。 […]


發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

%d 位部落客按了讚: