Addison-Wesley / Prentice Hall
Computer Science
Browse available resources for Computer Science:
- Select a resource
- Resources for Computer Science Congratulations, Dr. Pausch! GOAL where virtual office hours are 24/7! Your Own TA, Just a Click Away! Deitel Resource Centers View material from Search Engines: Information Retrieval in Practice Andrew Tanenbaum Flame Award Recipient Custom Programs Instructor Resource Center myPearsonStore

ISBN-10: 0131479415
ISBN-13: 9780131479418
Publisher: Prentice Hall
Copyright: 2006
Format: Paper; 368 pp
Published: 11/01/2005
Suggested retail price: $49.99
Buy from myPearsonStore
The first step to project success is accurate estimating and realistic planning.
Projects with unrealistic expectations affixed to them are likely to derail at an
early stage. This book shows the software practitioner how to effectively
estimate and properly plan a project within an agile context. The book's
content is suitable for projects using any agile or semi-agile process (such as
Extreme Programming, Scrum, Feature Driven Development, Crystal,
Adaptive Software Development, DSDM or even the IBM Rational Unified
Process). The ideas in this book will work with any iterative development
process, which greatly broadens the target audience beyond the traditional agile
community. Each chapter is supported by a summary and a set of questions
that allows readers to assess their ability to estimate and plan a project. The
result is an engaging read with pearls of wisdom that can be applied to the
reader's next project.
Goes beyond the strategy of just enough planning and estimating, and shows readers how to make agile practices truly work organizationally.
° Save time, conserve organizational resources, and manage software projects more efficiently by learning to anticipate future needs
° Key points are supported by case studies derived from real-world projects
° Teaches the nuts and bolts of estimating a project, an iteration, or even a task -- and teaches a variety of approaches to effective estimating
About the Author xvii
Foreword by Robert C. Martin xix
Foreword by Jim Highsmith xxi
Foreword by Gabrielle Benefield xxv
Acknowledgments xxvii
Introduction xxix
Part I: The Problem and the Goal 1
Chapter 1: The Purpose of Planning 3
Why Do It? 5
What Makes a Good Plan? 8
What Makes Planning Agile? 9
Summary 10
Discussion Questions 10
Chapter 2: Why Planning Fails 11
Planning Is by Activity Rather Than Feature 12
Multitasking Causes Further Delays 15
Features Are Not Developed by Priority 17
We Ignore Uncertainty 17
Estimates Become Commitments 18
Summary 18
Discussion Questions 19
Chapter 3: An Agile Approach 21
An Agile Approach to Projects 23
An Agile Approach to Planning 27
Summary 31
Discussion Questions 32
Part II: Estimating Size 33
Chapter 4: Estimating Size with Story Points 35
Story Points Are Relative 36
Velocity 38
Summary 40
Discussion Questions 41
Chapter 5: Estimating in Ideal Days 43
Ideal Time and Software Development 44
Ideal Days as a Measure of Size 46
One Estimate, Not Many 46
Summary 47
Discussion Questions 47
Chapter 6: Techniques for Estimating 49
Estimates Are Shared 51
The Estimation Scale 52
Deriving an Estimate 54
Planning Poker 56
Why Planning Poker Works 59
Summary 60
Discussion Questions 60
Chapter 7: Re-Estimating 61
Introducing the SwimStats Website 61
When Not to Re-Estimate 62
When to Re-Estimate 64
Re-Estimating Partially Completed Stories 66
The Purpose of Re-Estimating 67
Summary 67
Discussion Questions 67
Chapter 8: Choosing between Story Points and Ideal Days 69
Considerations Favoring Story Points 69
Considerations Favoring Ideal Days 72
Recommendation 73
Summary 74
Discussion Questions 75
Part III: Planning for Value 77
Chapter 9: Prioritizing Themes 79
Factors in Prioritization 80
Combining the Four Factors 86
Some Examples 86
Summary 88
Discussion Questions 89
Chapter 10: Financial Prioritization 91
Sources of Return 93
An Example: WebPayroll 96
Financial Measures 102
Comparing Returns 108
Summary 109
Discussion Questions 109
Chapter 11: Prioritizing Desirability 111
Kano Model of Customer Satisfaction 112
Relative Weighting: Another Approach 117
Summary 119
Discussion Questions 120
Chapter 12: Splitting User Stories 121
When to Split a User Story 121
Splitting across Data Boundaries 122
Splitting on Operational Boundaries 124
Removing Cross-Cutting Concerns 125
Don't Meet Performance Constraints 126
Split Stories of Mixed Priority 127
Don't Split a Story into Tasks 127
Avoid the Temptation of Related Changes 128
Combining Stories 128
Summary 129
Discussion Questions 129
Part IV: Scheduling 131
Chapter 13: Release Planning Essentials 133
The Release Plan 134
Updating the Release Plan 138
An Example 139
Summary 142
Discussion Questions 143
Chapter 14: Iteration Planning 145
Tasks Are Not Allocated During Iteration Planning 147
How Iteration and Release Planning Differ 148
Velocity-Driven Iteration Planning 149
Commitment-Driven Iteration Planning 158
My Recommendation 162
Relating Task Estimates to Story Points 163
Summary 165
Discussion Questions 166
Chapter 15: Selecting an Iteration Length 167
Factors in Selecting an Iteration Length 167
Making a Decision 171
Two Case Studies 173
Summary 175
Discussion Questions 176
Chapter 16: Estimating Velocity 177
Use Historical Values 178
Run an Iteration 179
Make a Forecast 181
Which Approach Should I Use? 185
Summary 186
Discussion Questions 186
Chapter 17: Buffering Plans for Uncertainty 187
Feature Buffers 188
Schedule Buffers 189
Combining Buffers 198
A Schedule Buffer Is Not Padding 199
Some Caveats 199
Summary 200
Discussion Questions 201
Chapter 18: Planning the Multiple-Team Project 203
Establishing a Common Basis for Estimates 204
Adding Detail to User Stories Sooner 205
Lookahead Planning 206
Incorporating Feeding Buffers into the Plan 208
But This Is So Much Work 210
Summary 210
Discussion Questions 211
Part V: Tracking and Communicating 213
Chapter 19: Monitoring the Release Plan 215
Tracking the Release 216
Release Burndown Charts 219
A Parking-Lot Chart 224
Summary 225
Discussion Questions 226
Chapter 20: Monitoring the Iteration Plan 227
The Task Board 227
Iteration Burndown Charts 230
Tracking Effort Expended 231
Individual Velocity 232
Summary 232
Discussion Questions 233
Chapter 21: Communicating about Plans 235
Communicating the Plan 237
Communicating Progress 238
An End-of-Iteration Summary 241
Summary 244
Discussion Questions 245
Part VI: Why Agile Planning Works 247
Chapter 22: Why Agile Planning Works 249
Replanning Occurs Frequently 249
Estimates of Size and Duration Are Separated 250
Plans Are Made at Different Levels 251
Plans Are Based on Features, Not Tasks 252
Small Stories Keep Work Flowing 252
Work in Process Is Eliminated Every Iteration 252
Tracking Is at the Team Level 253
Uncertainty Is Acknowledged and Planned For 253
A Dozen Guidelines for Agile Estimating and Planning 254
Summary 256
Discussion Questions 257
Part VII: A Case Study 259
Chapter 23: A Case Study: Bomb Shelter Studios 261
Day 1—Monday Morning 262
Estimating the User Stories 270
Preparing for Product Research 281
Iteration and Release Planning, Round 1 284
Two Weeks Later 302
Planning the Second Iteration 303
Two Weeks Later 305
Revising the Release Plan 305
Presenting the Revised Plan to Phil 308
Eighteen Weeks Later 312
Reference List 313
Index 319
Software Engineering -- Advanced [PTG: PRENTICE HALL PROFESSIONAL] (Computer Science)
Systems Analysis and Design--Advanced [PTG: PRENTICE HALL PROFESSIONAL] (Computer Science)
Mike Cohn is the founder of Mountain Goat Software, a process and project management consultancy and training firm. With more than twenty years of experience, Mike has been a technology executive in companies ranging from start-ups to Fortune 40s, and is a founding member of the Agile Alliance. He frequently contributes to industry-related magazines and presents regularly at conferences. He is the author of User Stories Applied (Addison-Wesley, 2004).
Praise for Agile Estimating and Planning
"Traditional, deterministic approaches to planning and estimating simply don't cut it on the slippery slopes of today's dynamic, change-driven projects. Mike Cohn's breakthrough book gives us not only the philosophy, but also the guidelines and a proven set of tools that we need to succeed in planning, estimating, and scheduling projects with a high uncertainty factor. At the same time, the author never loses sight of the need to deliver business value to the customer each step of the way."
—Doug DeCarlo, author of eXtreme Project Management: Using Leadership, Principles and Tools to Deliver Value in the Face of Volatility (Jossey-Bass, 2004)
"We know how to build predictive plans and manage them. But building plans that only estimate the future and then embrace change, challenge most of our training and skills. In Agile Estimating and Planning, Mike Cohn once again fills a hole in the Agile practices, this time by showing us a workable approach to Agile estimating and planning. Mike delves into the nooks and crannies of the subject and anticipates many of the questions and nuances of this topic. Students of Agile processes will recognize that this book is truly about agility, bridging many of the practices between Scrum and ExtremeProgramming."
—Ken Schwaber, Scrum evangelist, Agile Alliance cofounder, and signatory to the Agile Manifesto
"In Agile Estimating and Planning, Mike Cohn has, for the first time, brought together most everything that the Agile community has learned about the subject. The book is clear, well organized, and a pleasant and valuable read. It goes into all the necessary detail, and at the same time keeps the reader's burden low. We can dig in as deeply as we need to, without too much detail before we need it. The book really brings together everything we have learned about Agile estimation and planning over the past decade. It will serve its readers well."
—Ron Jeffries, www.XProgramming.com, author of Extreme Programming Installed (Addison-Wesley, 2001) and Extreme Programming Adventures in C# (Microsoft Press, 2004)
"Agile Estimating and Planning provides a view of planning that's balanced between theory and practice, and it is supported by enough concrete experiences to lend it credibility. I particularly like the quote 'planning is a quest for value.' It points to a new, more positive attitude toward planning that goes beyond the 'necessary evil' view that I sometimes hold."
—Kent Beck, author of Extreme Programming Explained, Second Edition (Addison-Wesley, 2005)
"Up-front planning is still the most critical part of software development. Agile software development requires Agile planning techniques. This book shows you how to employ Agile planning in a succinct, practical, and easy-to-follow manner."
—Adam Rogers, Ultimate Software
"Mike does a great follow-up to User Stories Applied by continuing to provide Agile teams with the practical approaches and techniques to increase agility. In this book, Mike provides time-proven and well-tested methods for being successful with the multiple levels of planning and estimating required by Agile. This book is the first to detail the disciplines of Agile estimating and planning, in ways that rival my 1980 civil engineering texts on CPM Planning and Estimating."
—Ryan Martens, President and Founder, Rally Software Development Corporation
"With insight and clarity, Mike Cohn shows how to effectively produce software of high business value. With Agile estimation and planning, you focus effort where it really counts, and continue to do so as circumstances change."
—Rick Mugridge, Rimu Research Ltd., and lead author, Fit for Developing Software (Prentice Hall, 2005)
"Finally! The groundbreaking book my clients have been clamoring for! Agile Estimating and Planning demystifies the process of defining, driving, and delivering great software that matters to the business. Mike's clarity, insight, and experience leap out through every page of this book, offering an approach that is relevant and immediately useful to all members of an Agile project."
—Kert D. Peterson, President, Enterprise Agile Group, LLC
"This isn't yet another generic book on Agile software development. Agile Estimating and Planning fills a gap left by most of the other books and gives you important, practical, down-to-earth techniques needed to be successful on Agile development projects."
—Steve Tockey, Principal Consultant, Construx Software
"Estimation, planning, and tracking is a trinity. If you don't do one of them, you don't need the other two. This book provides very practical knowledge for estimation, planning, prioritizing, and tracking. It should be compulsory subject matter for project managers and their teams, even if they hesitate to call themselves Agile."
—Niels Malotaux, Project Coach
"Effective planning is an important, but often misunderstood, part of any successful Agile project. With Agile Estimating and Planning, Mike Cohn has given us a definitive guide to a wide range of Agile estimating and planning practices. With his clear and practical style, Mike not only explains how to successfully get started planning an Agile project, but also provides a wealth of tips and advice for improving any team's Agile planning process. This book is a must-read for managers, coaches, and members of Agile teams."
—Paul Hodgetts, Agile coach and CEO, Agile Logic
"Mike's writing style captures the essence of agility-just the right amount of information to bring clarity to the reader. This book provides an excellent guide for all Agile practitioners, both seasoned and novice."
—Robert Holler, President and CEO, VersionOne, LLC
"It is as if Mike took the distilled knowledge regarding planning and estimation of a great Agile developer (which he is) and laid out all he knows in an easily understandable manner. More importantly, he has a great mix of concepts with real-world examples finished off with a case study so the reader can relate the information to their own situation. Unless you are already an expert Agile planner and estimator, this book is for you."
—Alan Shalloway, CEO, Senior Consultant, Net Objectives, and coauthor of Design Patterns Explained, Second Edition (Addison-Wesley, 2005)
"Although I had plenty of XP experience before trying out Mike Cohn's Agile planning practices, the effectiveness of the practical and proven techniques in this book blew me away! The book recognizes that people, not tools or processes, produce great software, and that teams benefit most by learning about their project and their product as they go. The examples in the book are concrete, easily grasped, and simply reek of common sense. This book will help teams (whether Agile or not) deliver more value, more often, and have fun doing it! Whether you're a manager or a programmer, a tester or a CEO, part of an Agile team, or just looking for a way to stamp out chaos and death marches, this book will guide you."
—Lisa Crispin, coauthor of Testing Extreme Programming (Addison-Wesley, 2003)
"Mike Cohn does an excellent job demonstrating how an Agile approach can address issues of risk and uncertainty in order to provide more meaningful estimates and plans for software projects."
—Todd Little, Senior Development Manager, Landmark Graphics
"Mike Cohn explains his approach to Agile planning, and shows how 'critical chain' thinking can be used to effectively buffer both schedule and features. As with User Stories Applied, this book is easy to read and grounded in real-world experience."
—Bill Wake, author of Refactoring Workbook (Addison-Wesley, 2003)
"Mike brings this book to life with real-world examples that help reveal how and why an Agile approach works for planning software development projects. This book has great breadth, ranging from the fundamentals of release planning to advanced topics such as financial aspects of prioritization. I can see this book becoming an invaluable aid to Agile project managers, as it provides a wealth of practical tips such as how to set iteration length and boot-strap velocity, and communicate progress."
—Rachel Davies, Independent Consultant
"There has been a need for a solid, pragmatic book on the long-term vision of an Agile Project for project managers. Agile Estimating and Planning addresses this need. It's not theory—this book contains project-tested practices that have been used on Agile projects. As Mike's test subjects, we applied these practices to the development of video games (one of the most unpredictable project environments you can imagine) with success."
—Clinton Keith, Chief Technical Officer, High Moon Studios
"When I first heard Mike Cohn speak, I was impressed by a rare combination of qualities: deep experience and understanding in modern iterative and Agile methods; a drive to find and validate easy, high-impact solutions beyond the status quo of traditional (usually ineffective) methods; and the passion and clarity of a natural coach. These qualities are evident in this wonderful, practical guide. I estimate you won't be disappointed in studying and applying his advice."
—Craig Larman, Chief Scientist, Valtech, and author of Applying UML and Patterns, Third Edition (Prentice Hall, 2005) and Agile and Iterative Development (Addison-Wesley, 2004)
"Agile Estimating and Planning is a critical guide on how to successfully provide value to customers of IT services. This book is filled with clear examples that are essential—from project team members to the executive level."
—Lou Thomas, Director, Applications Development, Farm Credit Services of America
"This work is deeply significant in that it articulates and details structured techniques to realize a simple, but profound insight—planning is an iterative quest for value, rather than a perfunctory scheduling of activities. Mike presents processes to converge on this value while reducing risk and uncertainty, supporting decision making, establishing trust, and conveying information. Agile methodologies have shifted the emphasis from plans to planning, but have glossed over many of the finer details of Agile planning. Now, very simply and accessibly, Mike demonstrates how it can be done."
—Sanjiv Augustine, Practice Director, Lean-Agile Consulting at CC Pace, and author of Managing Agile Projects (Prentice Hall, 2005)
"The techniques described in Agile Estimating and Planning have helped us tremendously with planning and managing our projects. It provides all you have ever wanted to know about Agile project management."
—Roman Pichler, Engineering Manager, Siemens Communications
"Mike Cohn presents a highly pragmatic and logical approach to making projects successful in a world beset by uncertainty and change. With his trademark clarity and directness, Mike cuts through the management mumbo jumbo to present practical techniques that can be put into use immediately. Put the odds squarely in your favor by making Mike Cohn the planning guru on your next big project."
—Pete Deemer, Vice President, Product Development, Yahoo!
"This book distills the fundamental ideas behind Agile estimating and planning, presenting them in a thoughtful and approachable manner. This is a 'must-have' book that presents clear, unambiguous, and practical advice for anyone who wants to successfully manage modern software development projects."
—Scott W. Ambler, President, Ambysoft Inc.
"How do your projects go? Frustrating changes? Uncertainty? Product missing both the mark and the deadline? With insight and clarity, Mike Cohn shows how to effectively produce software that is of high business value. With agile estimation and planning, you focus effort where it really counts, and continue to do so as circumstances change."
—Rick Mugridge, Rimu Research Ltd., and lead author of Fit for Developing Software
"We are true believers in the agile methods described in this book, and have experienced a substantially positive impact from their implementation and continued use. I would highly recommend this book to anyone who is interested in making their software development more practical and effective."
—Mark M. Gutrich, President and CEO, Fast 401k, Inc.
Detailed, Proven Techniques for Estimating and Planning Any Agile Project
Agile Estimating and Planning is the definitive, practical guide to estimating and planning agile projects. In this book, Agile Alliance cofounder Mike Cohn discusses the philosophy of agile estimating and planning and shows you exactly how to get the job done, with real-world examples and case studies.
Concepts are clearly illustrated and readers are guided, step by step, toward how to answer the following questions: What will we build? How big will it be? When must it be done? How much can I really complete by then? You will first learn what makes a good plan-and then what makes it agile.
Using the techniques in Agile Estimating and Planning, you can stay agile from start to finish, saving time, conserving resources, and accomplishing more. Highlights include:
- Why conventional prescriptive planning fails and why agile planning works
- How to estimate feature size using story points and ideal days—and when to use each
- How and when to re-estimate
- How to prioritize features using both financial and nonfinancial approaches
- How to split large features into smaller, more manageable ones
- How to plan iterations and predict your team's initial rate of progress
- How to schedule projects that have unusually high uncertainty or schedule-related risk
- How to estimate projects that will be worked on by multiple teams
Agile Estimating and Planning supports any agile, semiagile, or iterative process, including Scrum, XP, Feature-Driven Development, Crystal, Adaptive Software Development, DSDM, Unified Process, and many more. It will be an indispensable resource for every development manager, team leader, and team member.
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, contact your Pearson Higher Education representative for pricing and ordering information.
This title is a member of the Robert C. Martin Series, which also contains the titles below . You can also visit the Robert C. Martin Series page.
Agile Estimating and Planning
Cohn
© 2006 | Prentice Hall | Paper; 368 pages | Instock
ISBN-10: 0131479415 | ISBN-13: 9780131479418
Brief Description | Buy from myPearsonStore
Agile Principles, Patterns, and Practices in C#
Martin & Martin
© 2007 | Prentice Hall | Cloth; 768 pages | Instock
ISBN-10: 0131857258 | ISBN-13: 9780131857254
Buy from myPearsonStore
Clean Code: A Handbook of Agile Software Craftsmanship
Martin
© 2009 | Prentice Hall | Paper; 464 pages | Estimated Availability: 08/01/2008
ISBN-10: 0132350882 | ISBN-13: 9780132350884
Fit for Developing Software: Framework for Integrated Tests
Mugridge & Cunningham
© 2005 | Prentice Hall | Paper; 384 pages | Instock
ISBN-10: 0321269349 | ISBN-13: 9780321269348
Buy from myPearsonStore
Managing Agile Projects
Augustine
© 2005 | Prentice Hall | Paper; 264 pages | Instock
ISBN-10: 0131240714 | ISBN-13: 9780131240711
Brief Description | Buy from myPearsonStore
UML for Java™ Programmers
Martin
© 2003 | Prentice Hall | Paper; 288 pages | Instock
ISBN-10: 0131428489 | ISBN-13: 9780131428485
Brief Description | Buy from myPearsonStore
Working Effectively with Legacy Code
Feathers
© 2005 | Prentice Hall | Paper; 456 pages | Estimated Availability: 07/25/2008
ISBN-10: 0131177052 | ISBN-13: 9780131177055
The first step to project success is accurate estimating and realistic planning.
Projects with unrealistic expectations affixed to them are likely to derail at an
early stage. This book shows the software practitioner how to effectively
estimate and properly plan a project within an agile context. The book's
content is suitable for projects using any agile or semi-agile process (such as
Extreme Programming, Scrum, Feature Driven Development, Crystal,
Adaptive Software Development, DSDM or even the IBM Rational Unified
Process). The ideas in this book will work with any iterative development
process, which greatly broadens the target audience beyond the traditional agile
community. Each chapter is supported by a summary and a set of questions
that allows readers to assess their ability to estimate and plan a project. The
result is an engaging read with pearls of wisdom that can be applied to the
reader's next project.
The popularity of agile development methodologies continues to increase, as
developers and technical managers have seen the benefits of incorporating
flexibility in development projects. However, agility advocates still struggle to
gain business management support for their initiatives. The reluctance of
business management to truly embrace agility stems from a disconnect between
the assumptions and techniques of traditional management and those of the
new agile development methodologies. The purpose of this book is to provide
management a framework with supporting evidence that directly addresses this
need. While conventional wisdom states that agile methods are not scaleable,
the author shares proof that it can be applied to large-scale development
projects. Furthermore, he aligns the adoption of agile methods to cutting-edge
business management practices. The end result is a practical book that will help
organizations overcome their institutional reluctance and reap the significant
benefit of agile methods.
The Unified Modeling Language has become the industry standard for the
expression of software designs. The Java programming language continues to
grow in popularity as the language of choice for the serious application
developer. Using UML and Java together would appear to be a natural
marriage, one that can produce considerable benefit. However, there are
nuances that the seasoned developer needs to keep in mind when using UML
and Java together. Software expert Robert Martin presents a concise guide,
with numerous examples, that will help the programmer leverage the power of
both development concepts. The author ignores features of UML that do not
apply to java programmers, saving the reader time and effort. He provides
direct guidance and points the reader to real-world usage scenarios. The overall
practical approach of this book brings key information related to Java to the
many presentations. The result is an highly practical guide to using the UML
with Java.
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.
