Agile Estimating and Planning by Mike Cohn

Last updated: Sep 16, 2023

Summary of Agile Estimating and Planning by Mike Cohn

Agile Estimating and Planning by Mike Cohn is a comprehensive guide that provides practical techniques and strategies for estimating and planning in agile software development projects. The book emphasizes the importance of collaboration, flexibility, and adaptability in the estimation and planning process.

The author begins by introducing the concept of agile estimating and planning and explains how it differs from traditional approaches. He highlights the key principles of agile estimation, such as breaking down work into small, manageable tasks, involving the entire team in the estimation process, and using relative sizing techniques like story points.

Cohn then delves into the details of various estimation techniques, including planning poker, affinity estimating, and wideband Delphi. He explains how to use these techniques effectively and provides tips for overcoming common challenges in estimation.

The book also covers the importance of prioritization and backlog management in agile planning. Cohn discusses techniques for prioritizing user stories, creating a product backlog, and managing scope changes. He emphasizes the need for continuous refinement and adjustment of the backlog based on feedback and changing requirements.

Furthermore, Cohn explores the concept of velocity, which is a measure of the team's productivity. He explains how to calculate and use velocity for planning purposes, as well as how to handle variations in velocity over time.

In addition to estimation and planning techniques, the book addresses the role of the product owner in agile projects. Cohn provides guidance on how product owners can effectively collaborate with the development team, stakeholders, and customers to ensure successful delivery of value.

Throughout the book, Cohn shares real-world examples and case studies to illustrate the concepts and techniques discussed. He also provides practical tips and advice based on his extensive experience in agile software development.

In conclusion, Agile Estimating and Planning is a comprehensive guide that covers all aspects of estimation and planning in agile software development projects. It provides practical techniques, strategies, and insights that can help teams and organizations improve their estimation and planning processes and deliver high-quality software products.

1. The Importance of Relative Estimation

In Agile Estimating and Planning, Mike Cohn emphasizes the importance of relative estimation over absolute estimation. Relative estimation involves comparing the size and complexity of one task or user story to another, rather than trying to assign an absolute value to each task. This approach allows teams to estimate more quickly and accurately, as they can leverage their collective knowledge and experience to make comparisons.

Relative estimation also helps teams avoid the trap of trying to estimate in hours or days, which can lead to unrealistic expectations and unnecessary pressure. By focusing on relative sizes, teams can prioritize tasks more effectively and make better decisions about what can be accomplished within a given timeframe.

2. The Cone of Uncertainty

Cohn introduces the concept of the "Cone of Uncertainty," which represents the range of uncertainty in project estimates over time. At the beginning of a project, estimates are typically less accurate and have a wider range of possible outcomes. As the project progresses and more information becomes available, the cone narrows, and estimates become more precise.

This concept is important for teams to understand because it highlights the need for ongoing estimation and planning throughout the project. It also emphasizes the importance of regularly reassessing and updating estimates as new information becomes available. By acknowledging and accounting for uncertainty, teams can better manage expectations and make more informed decisions.

3. The Planning Game

Cohn introduces the "Planning Game" as a collaborative approach to estimating and planning. The Planning Game involves the entire team, including both developers and stakeholders, working together to prioritize and estimate user stories.

This approach encourages open communication and collaboration, ensuring that everyone has a shared understanding of the project goals and priorities. By involving stakeholders in the estimation process, teams can also manage expectations and build trust. The Planning Game helps teams make more informed decisions about what can be accomplished within a given timeframe and allows for adjustments and reprioritization as needed.

4. The Value of Story Points

Cohn introduces the concept of story points as a way to estimate the relative size and complexity of user stories. Story points are a unitless measure that allows teams to compare and prioritize user stories based on their relative effort.

By using story points, teams can focus on the overall effort required to complete a user story, rather than getting caught up in the details of time-based estimates. This approach allows for more flexibility and adaptability, as teams can adjust their velocity and capacity based on the complexity of the work.

5. The Power of Velocity

Cohn emphasizes the importance of tracking and measuring velocity, which is the rate at which a team completes user stories. Velocity provides teams with a predictable measure of their capacity and helps them plan and estimate more accurately.

By tracking velocity over time, teams can identify trends and patterns, allowing for better long-term planning and forecasting. Velocity also helps teams manage expectations and communicate progress to stakeholders. It provides a valuable metric for evaluating the team's performance and identifying areas for improvement.

6. The Role of Product Owners

Cohn highlights the critical role of the Product Owner in Agile estimating and planning. The Product Owner is responsible for prioritizing user stories, ensuring that the team is working on the most valuable and important features.

By involving the Product Owner in the estimation process, teams can gain a better understanding of the business value and impact of each user story. This collaboration helps align the team's efforts with the overall project goals and ensures that the most important work is being prioritized.

7. The Importance of Iterative Planning

Cohn emphasizes the iterative nature of Agile estimating and planning. Rather than trying to plan and estimate the entire project upfront, Agile teams focus on short iterations or sprints.

By breaking the project down into smaller, manageable chunks, teams can make more accurate estimates and adjust their plans as they learn more about the project. This iterative approach allows for greater flexibility and adaptability, as teams can respond to changing requirements and priorities.

8. The Need for Continuous Improvement

Cohn emphasizes the importance of continuous improvement in Agile estimating and planning. Agile teams should regularly reflect on their estimation and planning practices and look for ways to improve.

By learning from past experiences and adjusting their approach, teams can become more accurate and efficient in their estimation and planning. Continuous improvement also helps teams build trust and confidence with stakeholders, as they demonstrate a commitment to delivering high-quality work on time.

Related summaries

1