logo资料库

[用户故事与敏捷方法].(User.Stories.Applied:For.Agile.Software.Development....pdf

第1页 / 共291页
第2页 / 共291页
第3页 / 共291页
第4页 / 共291页
第5页 / 共291页
第6页 / 共291页
第7页 / 共291页
第8页 / 共291页
资料共291页,剩余部分请下载后查看
Contents
Foreword
Acknowledgments
Introduction
PART I: Getting Started
Chapter 1: An Overview
What Is a User Story?
Where Are the Details?
“How Long Does It Have to Be?”
The Customer Team
What Will the Process Be Like?
Planning Releases and Iterations
What Are Acceptance Tests?
Why Change?
Summary
Questions
Chapter 2: Writing Stories
Independent
Negotiable
Valuable to Purchasers or Users
Estimatable
Small
Testable
Summary
Developer Responsibilities
Customer Responsibilities
Questions
Chapter 3: User Role Modeling
User Roles
Role Modeling Steps
Two Additional Techniques
What If I Have On-Site Users?
Summary
Developer Responsibilities
Customer Responsibilities
Questions
Chapter 4: Gathering Stories
Elicitation and Capture Should Be Illicit
A Little Is Enough, or Is It?
Techniques
User Interviews
Questionnaires
Observation
Story-Writing Workshops
Summary
Developer Responsibilities
Customer Responsibilities
Questions
Chapter 5: Working with User Proxies
The Users’ Manager
A Development Manager
Salespersons
Domain Experts
The Marketing Group
Former Users
Customers
Trainers and Technical Support
Business or Systems Analysts
What to Do When Working with a User Proxy
Can You Do It Yourself?
Constituting the Customer Team
Summary
Developer Responsibilities
Customer Responsibilities
Questions
Chapter 6: Acceptance Testing User Stories
Write Tests Before Coding
The Customer Specifies the Tests
Testing Is Part of the Process
How Many Tests Are Too Many?
The Framework for Integrated Test
Types of Testing
Summary
Developer Responsibilities
Customer Responsibilities
Questions
Chapter 7: Guidelines for Good Stories
Start with Goal Stories
Slice the Cake
Write Closed Stories
Put Constraints on Cards
Size the Story to the Horizon
Keep the UI Out as Long as Possible
Some Things Aren’t Stories
Include User Roles in the Stories
Write for One User
Write in Active Voice
Customer Writes
Don’t Number Story Cards
Don’t Forget the Purpose
Summary
Questions
PART II: Estimating and Planning
Chapter 8: Estimating User Stories
Story Points
Estimate as a Team
Estimating
Triangulate
Using Story Points
What If We Pair Program?
Some Reminders
Summary
Developer Responsibilities
Customer Responsibilities
Questions
Chapter 9: Planning a Release
When Do We Want the Release?
What Would You Like in It?
Prioritizing the Stories
Mixed Priorities
Risky Stories
Prioritizing Infrastructural Needs
Selecting an Iteration Length
From Story Points to Expected Duration
The Initial Velocity
Creating the Release Plan
Summary
Developer Responsibilities
Customer Responsibilities
Questions
Chapter 10: Planning an Iteration
Iteration Planning Overview
Discussing the Stories
Disaggregating into Tasks
Accepting Responsibility
Estimate and Confirm
Summary
Developer Responsibilities
Customer Responsibilities
Questions
Chapter 11: Measuring and Monitoring Velocity
Measuring Velocity
Planned and Actual Velocity
Iteration Burndown Charts
Burndown Charts During an Iteration
Summary
Developer Responsibilities
Customer Responsibilities
Questions
PART III: Frequently Discussed Topics
Chapter 12: What Stories Are Not
User Stories Aren’t IEEE 830
User Stories Are Not Use Cases
User Stories Aren’t Scenarios
Summary
Questions
Chapter 13: Why User Stories?
Verbal Communication
User Stories Are Comprehensible
User Stories Are the Right Size for Planning
User Stories Work for Iterative Development
Stories Encourage Deferring Detail
Stories Support Opportunistic Development
User Stories Encourage Participatory Design
Stories Build Up Tacit Knowledge
Why Not Stories?
Summary
Developer Responsibilities
Customer Responsibilities
Questions
Chapter 14: A Catalog of Story Smells
Stories Are Too Small
Interdependent Stories
Goldplating
Too Many Details
Including User Interface Detail Too Soon
Thinking Too Far Ahead
Splitting Too Many Stories
Customer Has Trouble Prioritizing
Customer Won’t Write and Prioritize the Stories
Summary
Developer Responsibilities
Customer Responsibilities
Questions
Chapter 15: Using Stories with Scrum
Scrum Is Iterative and Incremental
The Basics of Scrum
The Scrum Team
The Product Backlog
The Sprint Planning Meeting
The Sprint Review Meeting
The Daily Scrum Meeting
Adding Stories to Scrum
A Case Study
Summary
Questions
Chapter 16: Additional Topics
Handling NonFunctional Requirements
Paper or Software?
User Stories and the User Interface
Retaining the Stories
Stories for Bugs
Summary
Developer Responsibilities
Customer Responsibilities
Questions
PART IV: An Example
Chapter 17: The User Roles
The Project
Identifying the Customer
Identifying Some Initial Roles
Consolidating and Narrowing
Role Modeling
Adding Personas
Chapter 18: The Stories
Stories for Teresa
Stories for Captain Ron
Stories for a Novice Sailor
Stories for a Non-Sailing Gift Buyer
Stories for a Report Viewer
Some Administration Stories
Wrapping Up
Chapter 19: Estimating the Stories
The First Story
Advanced Search
Rating and Reviewing
Accounts
Finishing the Estimates
All the Estimates
Chapter 20: The Release Plan
Estimating Velocity
Prioritizing the Stories
The Finished Release Plan
Chapter 21: The Acceptance Tests
The Search Tests
Shopping Cart Tests
Buying Books
User Accounts
Administration
Testing the Constraints
A Final Story
PART V: Appendices
Appendix A: An Overview of Extreme Programming
Roles
The Twelve Practices
XP’s Values
The Principles of XP
Summary
Appendix B: Answers to Questions
Chapter 1, An Overview
Chapter 2, Writing Stories
Chapter 3, User Role Modeling
Chapter 4, Gathering Stories
Chapter 5, Working with User Proxies
Chapter 6, Acceptance Testing User Stories
Chapter 7, Guidelines for Good Stories
Chapter 8, Estimating User Stories
Chapter 9, Planning a Release
Chapter 10, Planning an Iteration
Chapter 11, Measuring and Monitoring Velocity
Chapter 12, What Stories Are Not
Chapter 13, Why User Stories?
Chapter 14, A Catalog of Story Smells
Chapter 15, Using Stories with Scrum
Chapter 16, Additional Topics
References
Index
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
ptg
User Stories Applied
The Addison-Wesley Signature Series The Addison-Wesley Signature Series provides readers with practical and authoritative information on the latest trends in modern technology for computer professionals. The series is based on one simple premise: great books come from great authors. Books in the series are personally chosen by expert advi- sors, world-class authors in their own right. These experts are proud to put their signatures on the cov- ers, and their signatures ensure that these thought leaders have worked closely with authors to define topic coverage, book scope, critical content, and overall uniqueness. The expert signatures also symbol- ize a promise to our readers: you are reading a future classic. The Addison-Wesley Signature Series Signers: Kent Beck and Martin Fowler Kent Beck has pioneered people-oriented technologies like JUnit, Extreme Programming, and patterns for software development. Kent is interested in helping teams do well by doing good — finding a style of software development that simultaneously satisfies economic, aesthetic, emotional, and practical con- straints. His books focus on touching the lives of the creators and users of software. Martin Fowler has been a pioneer of object technology in enterprise applications. His central concern is how to design software well. He focuses on getting to the heart of how to build enterprise software that will last well into the future. He is interested in looking behind the specifics of technologies to the patterns, practices, and principles that last for many years; these books should be usable a decade from now. Martin's criterion is that these are books he wished he could write. Titles in the Series Implementation Patterns Kent Beck, ISBN 0321413091 Test-Driven Development:By Example Kent Beck, ISBN 0321146530 User Stories Applied:For Agile Software Development Mike Cohn, ISBN 0321205685 Implementing Lean Software Development:From Concept to Cash Mary and Tom Poppendieck, ISBN 0321437381 Refactoring Databases:Evolutionary Database Design Scott W. Ambler and Pramodkumar J. Sadalage, ISBN 0321293533 Continuous Integration:Improving Software Quality and Reducing Risk Paul M. Duvall, with Steve Matyas and Andrew Glover, 0321336380 Patterns of Enterprise Application Architecture Martin Fowler, ISBN 0321127420 Refactoring HTML:Improving the Design of Existing Web Applications Elliotte Rusty Harold, ISBN 0321503635 Beyond Software Architecture:Creating and Sustaining Winning Solutions Luke Hohmann, ISBN 0201775948 Enterprise Integration Patterns:Designing, Building, and Deploying Messaging Solutions Gregor Hohpe and Bobby Woolf, ISBN 0321200683 Refactoring to Patterns Joshua Kerievsky, ISBN 0321213351 ptg
User Stories Applied for Agile Software Development Mike Cohn Boston • San Francisco • New York • Toronto • Montreal London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City ptg
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and Addison-Wesley was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers discounts on this book when ordered in quantity for bulk purchases and special sales. For more information, please contact: U.S. Corporate and Government Sales (800) 382-3419 corpsales@pearsontechgroup.com For sales outside of the U.S., please contact: International Sales (317) 581-3793 international@pearsontechgroup.com Visit Addison-Wesley on the Web: www.awprofessional.com Library of Congress Cataloging-in-Publication Data A catalog record for this book can be obtained from the Library of Congress Copyright © 2004 by Pearson Education, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or oth- erwise, without the prior consent of the publisher. Printed in the United States of America. Published simultaneously in Canada. For information on obtaining permission for use of material from this work, please submit a written request to: Pearson Education, Inc. Rights and Contracts Department 75 Arlington Street, Suite 300 Boston, MA 02116 Fax: (617) 848-7047 ISBN 0-321-20568-5 Text printed in the United States on recycled paper at RR Donnelley Crawfordsville in Crawfordsville, Indiana. 13th February 2009 Printing ptg
To Laura, for reading this one; To Savannah, for loving to read; To Delaney, for insisting you already know how to read. With readers like you, it's easy to write. ptg
This page intentionally left blank ptg
Contents Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix PART I: Getting Started. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 1: An Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 What Is a User Story? . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Where Are the Details?. . . . . . . . . . . . . . . . . . . . . . . . . 5 “How Long Does It Have to Be?” . . . . . . . . . . . . . . . . 7 The Customer Team. . . . . . . . . . . . . . . . . . . . . . . . . . . 8 What Will the Process Be Like? . . . . . . . . . . . . . . . . . . 8 Planning Releases and Iterations. . . . . . . . . . . . . . . . . 10 What Are Acceptance Tests? . . . . . . . . . . . . . . . . . . . 12 Why Change?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Chapter 2: Writing Stories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Independent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Negotiable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Valuable to Purchasers or Users . . . . . . . . . . . . . . . . . 20 Estimatable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Small . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Testable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Developer Responsibilities . . . . . . . . . . . . . . . . . . . . . 28 Customer Responsibilities . . . . . . . . . . . . . . . . . . . . . 28 Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 vii From the Library of www.wowebook.com ptg
分享到:
收藏