一文学會编写用户故事 (User Stories)

User Story 是從使用者的角度對系統的某個功能模組所作的簡短描述。一個 User Story 描述了專案中的一個小功能,以及這個功能完成之後將會產生什麼效果,或者說能為客戶創造什麼價值。一個 User Story 的大小和複雜度應該以能在一個 Sprint 中完成為宜。如果 User Story 太大,可能會導致對它的開發橫跨幾個 Sprint,此時就應該將這個 User Story 分解。

 

User Story模板

User Story可以遵循以下模板:As a I want to So that I can

作為一個<某種型別的使用者>,我要<達成某些目的>,我這麼做的原因是<開發的價值>。

使用者story特性。

  1. 獨立性(Independent)— 要儘可能的讓一個使用者故 事獨立於其他的使用者故事。使用者故事之間的依賴使得制定計劃,確定優先順序,工作量估算都變得很困難 。通常我們可以通過組合使用者故事和分解使用者故事來減少依賴性。

  2. 可協商性(Negotiable)— 一個使用者故事的內容要 是可以協商的,使用者故事不是合同。一個使用者故事卡片上只是對使用者故事的一個簡短的描述,不包括太 多的細節。具體的細節在溝通階段產出。一個使用者故事卡帶有了太多的細節,實際上限制了和使用者的溝 通。

  3. 有價值(Valuable)— 每個故事必須對客戶具有價 值(無論是使用者還是購買方)。一個讓使用者故事有價值的好方法是讓客戶來寫下它們。一旦一個客戶意 識到這是一個使用者故事並不是一個契約而且可以進行協商的時候,他們將非常樂意寫下故事。

  4. 可以估算性(Estimable)—開發團隊 需要去估計一個使用者故事以便確定優先順序,工作量,安排計劃。但是讓開發者難以估計故事的問題來自 :對於領域知識的缺乏(這種情況下需要更多的溝通),或者故事太大了(這時需要把故事切分成小些 的)。

  5. 短小(Small)— 一個好的故事在工作量上要儘量短 小,最好不要超過10個理想人/天的工作量,至少要確保的是在一個迭代或Sprint中能夠完成。使用者故事 越大,在安排計劃,工作量估算等方面的風險就會越大。

  6. 可測試性(Testable)—一個使用者故事要是可以測試 的,以便於確認它是可以完成的。如果一個使用者故事不能夠測試,那麼你就無法知道它什麼時候可以完 成。一個不可測試的使用者故事例子:軟體應該是易於使用的。

為什麼要講故事?

優秀的使用者體驗不但包括好的產品流程,還包括講故事的 能力。喬布斯的“現實扭曲”賦予蘋果的魔力就是最好的例子。本文摘自《Storytelling for User Experience》中的第一章,講訴了使用者體驗中講故事的邏輯和案例。我們都會講故事,這是分享資訊最 自然的方式之一,並且它同人類一樣古老。這本書是關於如何以一種全新的方式使用一項你擁有的技能 :將講故事這種方法運用於使用者體驗(UX)設計領域。 作為使用者體驗設計的一部分,故事有助於在真實的情境中為你的工作打好基礎。它們讓你可以展示一個 設計概念,一個開發中的新產品,迸發出一個新想法或最靈感。但最重要的是,它們幫助你將使用者置於 工作的中心。無論你如何開展一個專案,到最後它都將會被人們使用。故事是在設計過程中還原使用者的 一種方法,即便他們並不總是你團隊的一部分。

 

User Story的作用

  1. 故事更有說服力、識別力 相信大家都看過一部電影《中國合夥人》。故事的原型就是新東方創始團隊(俞敏洪、徐小平、王強) 當年創業打拼時的縮影,要知道每一部電影,本身都是在講述一個又一個的故事。徐小平(該電影的編 劇)通過把當年的創業史打包成一個電影故事,既賣票房的同時也幫新東方/新東方創始團隊公關了一番 (三條老黃瓜在涮嫩漆,哈哈哈)。 這些企業在做品牌的同時把自己真實的生命經驗放進去更有說服力。因為真實的故事可溯源、易識別、 獨一無二(反正你不會通過這個故事聯想到馬雲的創業故事)。 當然,這些出色的故事還會給消費者打開了另一個視窗(好奇心):通過故事深入瞭解故事的周邊,那 就等於和消費建立更多的的連線了。

  2. 故事化的廣告留存度高且不易反感 市面上充斥的大量廣告早就已經引起了大眾對廣告的反感情緒,從某些QQ微信群群規的第一條往往就是 “發廣告踢……可見一斑,而通過故事包裝後的廣告,就相當披上了一層白紗,讓廣告變得相對“溫和 ”沒那麼“暴力”,不容易觸動使用者對廣告的反感情緒。 再者,故事化營銷廣告留存度很高 —— 因為故事化的內容容易產生“自帶媒體屬性”,能時不時讓別 人翻出來當作例子,得到免費的二次三次傳播,本文提到的馬雲與新東方的例子就是免費幫他們傳播最 好的佐證。

  3. 通過故事讓你買買買 真理往往只掌握在少數人手裡,換一句難聽話來說即是:大多數人還是缺乏獨立思考的能力。 相信看過奇葩說的小夥伴(一個辯論的節目)都會知道,高曉鬆與蔡康永都是那種可以通過一個細小的 觀點切入——放大,瞬間說服沒有自己獨立觀點的觀眾。他們用講故事的方法讓聽眾通過(有限的)已 知資訊和故事之間建立某種關聯?它的結果是通過吸引注意力將你的思想帶到設定的框架,本質是通過 故事降低你抵抗各種觀點的獨立思考能力,從而獲得你的認可。 這也是營銷高手慣用的招數,通常把產品揉進故事裡,通過故事去影響目標使用者的情緒,激發需求,降 低你面對該品牌時心裡湧現的理性消費的呼聲。

  4. 通過故事輸出品牌價值觀 從價值觀輸出來講,上面《中國合夥人》的故事正如文化人類學家Simon Sinek所言,那些成功品牌最在 乎的並不是做什麼和怎麼做,而是為什麼要這樣做。找到你的理由,也就等於找到了你自己的故事。通 過故事著重於塑造品牌在人們生活中扮演的角色(如:百事&活力,耐克&拼搏),超越產品本身的範疇 ,輸出向上的價值觀。

 

一些經驗:

  1. 永遠不要在User Story中使用And和Or,因為這是些分支詞就表示分支任務,把它們拆成兩個Story.
  2. 資料整理:通常情況下1個sprint(2週一次迭代)可以做4~5個Story,極端大的Story不可大於1個sprint。
  3. 資料整理:通常情況下1個sprint(2週一次迭代)可以做50個左右的Task。
  4. User Story用於描述使用者故事,不要包括任何的技術,框架等內容。Task可以包括框架,技術等內容。

User Story 是什麼?

User story是對軟體的使用者或買主有價值的功能點的描述。User stories 由以下三點 (3Cs) 組成:

  • Card - 用來制定計劃和作為提醒的一段書面描述
  • Conversation - 用來充實story的細節的談話
  • Confirmation 測試用例,用來表達和記錄細節並且能夠在story實現的時候對進行驗證

因為User Story的描述是通過傳統的手寫記錄在卡片上,所以Ron Jeffies給這三個方面起了很好的名字,Card(卡片),Conversation(會話),和Confirmation(確認)。卡片是story最可見的表現形式,但是他不是最重要的。Rachel Davies 已經說過,卡片“重現客戶需求場景好於記錄它們”。思考User Stories的完美方法是:card 包含story的正文,通過會話得出細節,並記錄在測試用例中。

設計BigMoneyJobs 網站例子 User Story 可能包括:

  • A user can search for jobs(使用者可以查詢職位)
  • A company can post new job openings(公司可以釋出新的職位)
  • A user can limit who can see her resume(使用者可以限制那些人可以檢視他的簡歷)

因為user stories 描述了對客戶來說有價值的功能點,所以對這個系統來說下邊的例子就不是好的user stories。

  • The software will be written in C++.(軟體應該用C++來編寫)
  • The program will connect to the database through a connection pool(軟體應該通過連線池來連線到資料庫).

第一個例子對BigMoneyJobs來說不是個好的user story是因為使用者根本就不關心使用哪種程式語言。但是,如果這是一個應用程式介面,使用者(他本身就是個程式設計師)寫下“The software will be written in C++(軟體應該用C++來編寫)”就會很好。

第二個story在這種情況下也不是個好的user story ,因為系統的使用者並不關心應用程式如何連線到資料庫的技術細節。

也許,你已經讀了這些stories 並且很驚訝地說,“等等,使用一個連線池是我這個系統的一個需求” 如果這樣的話,請一定要清楚,編寫stories的關鍵點在於讓客戶認可他們的價值,我們將在第二部分“編寫story”裡看到一些關於編寫Story方面的例子。

 

References

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章