敏捷軟件開發:用戶故事實戰 (User Stories Applied: For Agile Software Developm)

Mike Cohn

買這商品的人也買了...

商品描述

作為敏捷社區的經典名作,《敏捷軟件開發:用戶故事實戰》不負眾望,為軟件行業提供了一種高效的需求過程,通過用戶故事來節省時間、消除重復工作和開發更優秀的軟件。

要想構建可以滿足用戶需求的軟件,最好的方法是從“用戶故事”開始,用簡明扼要的語言清楚明確地描述對實際用戶有價值的功能。

在本書中,敏捷實乾家提供了一個詳盡的藍圖來指導讀者如何編寫用戶故事,如何在軟件開發生命周期中實際運用用戶故事。

《敏捷軟件開發:用戶故事實戰》共5部分21章,介紹瞭如何寫出理想的用戶故事,造成用戶故事不理想的因素有哪些,如何在無法直接接觸到用戶的情況下有效搜集用戶故事,如何對寫好的用戶故事進行整理、排優先級並在此基礎上進行計劃、管理和測試。

《敏捷軟件開發:用戶故事實戰》適合採用XP、Scrum甚至其他自主敏捷方法的所有開發、測試、分析師和項目負責人閱讀和參考,可以幫助他們以更少的人手在更短的時間內開發出更符合用戶需求的產品或服務。

作者簡介

Mike Cohn

敏捷聯盟聯合創始人&Scrum聯盟聯合創始人及理事會主席,CST(Scrum認證講師),Mountain Goat Software創始人兼總裁。

邁克從1984年開始編程,1988年開始管理軟件項目,1995年開始做自己的第一個Scrum項目,從此一發不可收,成為Scrum的忠實擁躉和積極的倡導者。

他熟悉很多硬件和軟件環境,尤其擅長於指導組織採用和改進敏捷過程和技術的應用,幫助他們打造高績效的軟件開發企業。

他服務過很多公司,從新創公司到財富40強都有,比如加拿大遊戲製作公司Bioware、第一資本Capital One、藝電Electronic Arts、谷歌,高月工作室High Moon Studios、財捷Intuit、JDA軟件,律商聯訊Lexis Nexis、航空航天公司洛克希德馬丁Lockheed Martin、微軟、尼爾森媒體調研、培生教育、飛利浦電器、旅遊公司Sabre、西門子、昇陽微系統、德州儀器、特納廣播公司TBS、人力資源軟件開發商Ultimate Software和雅虎。

譯者簡介

王凌宇
精益敏捷踐行者,PMI-ACP,PMP。歷任高級項目經理、研發經理、項目群經理、產品經理、敏捷教練等職位,現任上市公司PMO敏捷教練和研發管理專家。
教練指導過多個產品團隊實現敏捷轉型,成效顯著。對於精益敏捷方法的推廣應用,項目管理以及PMO的建設運營具有豐富的實踐經驗。

參與譯著有《SAFe 4.0精粹:運用規模化敏捷框架實現精益軟件與系統工程》。

目錄大綱

目錄


第I部分開始


第1章概述3 


什麼是用戶故事?4 
細節在哪裡?5 
“需要在多長時間內完成?” 7 
客戶團隊7 
使用故事的過程是什麼樣的?8 
計劃發布和迭代9 
什麼是驗收測試?11 
為什麼要改變?12 
小結13 
思考練習題13 


第2章編寫故事15 


獨立的15 
可協商的16 
對用戶或客戶有價值的18 
可估算的19 
小的20 
拆分故事20 
合併故事22 
可測試的23 
小結24 
開發人員的責任24 
客戶的責任24 
思考練習題24 


第3章用戶角色建模27 


用戶角色27 
角色建模步驟29 
通過頭腦風暴,創建初始的用戶角色集合29 
整理初始的角色集合30 
聚合角色31 
細化角色32 
兩個額外的技術33 
用戶畫像33 
極端人物34 
如果有現場用戶呢?34
小結35 
開發人員的責任35 
客戶的責任35 
思考練習題36 


第4章收集故事37 


引出和捕捉需求是不適用的37 
一點兒就夠用了,不是嗎?38 
方法39 
用戶訪談39 
問卷調查41 
觀察41 
故事編寫工作坊42 
小結44 
開發人員的責任45 
客戶的責任45 
思考練習題45 


第5章與用戶代理合作47 


用戶的經理47 
開發經理48 
銷售人員49 
領域專家50 
營銷團隊50 
前用戶50 
客戶51 
培訓師和技術支持52 
業務分析師或系統分析師52 
如何與用戶代理合作?52 
當用戶存在但訪問受限時52 
當真的找不到用戶時53 
你能自己做嗎?54 
建立客戶團隊54 
小結54 
開發人員的責任55 
客戶的責任55 
思考練習題55 


第6章用戶故事驗收測試57 


在編碼之前編寫測試58 
客戶定義測試59
測試是過程的一部分59 
多少測試才算多?59 
集成測試框架60 
測試的類型61 
小結62 
開發人員的責任62 
客戶的責任62 
思考練習題62 


第7章好故事編寫指南63 


從目標故事開始63 
縱切蛋糕64 
編寫封閉的故事64 
約束卡片65 
根據實現時間來確定故事規模66 
不要過早涉及用戶界面66 
需求不止故事67 
故事中包括用戶角色67 
為一個用戶編寫故事68 
用主動語態68 
客戶編寫68 
不要給故事卡編號68 
不要忘記目的69 
小結69 
思考練習題69 
第II部分估算和計劃


第8章估算用戶故事73 


故事點73 
團隊估算74 
估算74 
三角測量76 
使用故事點77 
如果用結對編程呢?78 
“敲黑板” 79 
小結79 
開發人員的責任79 
客戶的責任79 
思考練習題80 


第9章發布計劃81


我們希望什麼時候發布?82 
希望在發布中包含哪些特性?82 
故事優先級排序83 
混合優先級排序84 
風險故事84 
優先考慮基礎設施需求85 
選擇迭代長度86 
從故事點到預期工期86 
初始速率86 
猜測速率87 
創建發布計劃87 
小結88 
開發人員的責任88 
客戶的責任89 
思考練習題89 


第10章迭代計劃91 


迭代計劃概述91 
討論故事92 
分解任務92 
認領責任94 
估算及確認94 
小結95 
開發人員的責任96 
客戶的責任96 
思考練習題96 


第11章度量和監測速率97 


度量速率97 
計劃速率和實際速率99 
發布燃盡圖100 
迭代燃盡圖102 
小結104 
開發人員的責任104 
客戶的責任105 
思考練習題105 
第III部分經常討論的話題


第12章用戶故事不是什麼109 


用戶故事不是IEEE 830 109
用戶故事不是用例112 
用戶故事不是場景115 
小結117 
思考練習題117 


第13章用戶故事的優點119 


口頭溝通119 
用戶故事容易理解121 
用戶故事的大小適合於計劃122 
用戶故事適合迭代開發123 
故事鼓勵推遲細節124 
故事支持隨機應變的開發124 
用戶故事鼓勵參與式設計125 
故事增強隱性知識125 
用戶故事的不足126 
小結126 
開發人員的責任127 
客戶的責任127 
思考練習題127 


第14章用戶故事的不良“氣味” 129 


故事太小129 
故事相互依賴130 
鍍金130 
細節過多131 
過早包含用戶界面細節131 
想得太遠132 
故事拆分太頻繁132 
客戶很難對故事排列優先級132 
客戶不願意寫故事並對故事進行優先級排序133 
小結134 
開發人員的責任134 
客戶的責任134 
思考練習題134 


第15章在Scrum項目中使用用戶故事135 


Scrum是迭代式和增量式的135
Scrum基礎136 
Scrum團隊137 
產品待辦列表137 
Sprint計劃會議138 
Sprint評審會議140 
每日Scrum站會140 
在Scrum項目中加入用戶故事142 
用戶故事和產品待辦列表142 
Sprint計劃會議中使用用戶故事142 
Sprint評審會議中使用用戶故事143 
用戶故事和每日Scrum站會143 
案例學習143 
小結144 
思考練習題145 


第16章其他主題147 


處理非功能性需求147 
紙質還是軟件?148 
用戶故事和用戶界面150 
保留故事152 
用戶故事描述bug 153 
小結154 
開發人員的責任154 
客戶的責任154 
思考練習題155 
第IV部分一個完整的項目案例


第17章用戶角色159 


項目159 
識別客戶159 
識別一些初始角色160 
聚類與細化161 
角色建模163 
增加用戶畫像164 


第18章故事165 


Teresa的故事165
Ron船長的故事168 
初級海員的故事168 
非海員禮品購買者的故事169 
報表查看者的故事169 
一些管理員的故事170 
結束171 


第19章估算故事173 


第一個故事174 
高級搜索176 
評分和評價177 
賬號177 
完成估算178 
所有的估算179 


第20章計劃發布181 


估算速率181 
對故事進行優先級排序182 
完成的發布計劃183 


第21章驗收測試185 


搜索的測試185 
購物車的測試186 
購買書籍187 
用戶賬號188 
管理188 
測試約束189 
最後一個故事190 
第V部分附錄
附錄A極限編程概述193 
附錄B各章思考練習題參考答案203 
參考文獻217