Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to Estimate in Agile Accurately

eitake0002
February 08, 2023

How to Estimate in Agile Accurately

The slide explains how you can estimate in an Agile project accurately. Although estimation is one of the most important tasks in software development, only a few people know how to do it, and most projects fail. After reading through the slide, you know the key points of estimation and prevent under or over-estimation.

The slide was created based on the article: "How to Accurately Estimate in Agile Development."
https://medium.com/@eiki1212/how-to-estimate-in-agile-development-4c20d85d6fa4

eitake0002

February 08, 2023
Tweet

More Decks by eitake0002

Other Decks in Technology

Transcript

  1. Purpose of the Estimation • The purpose of estimation in

    software development is to support business decision-making. • Business decision-making is based on scope, time, and resource tradeoffs. • The Product Owner must make decisions on how to utilize limited resources and time, as these are typically in short supply.
  2. Difference between Waterfall and Agile in Decision Making • Agile

    decides based on limited time and resources. The scope is flexible. • Waterfall decides based on the fixed scope. Time and resources are flexible. • Agile thinks, “What can we do with limited resources and time,” while waterfall thinks, “How much time and resources are required to complete all scope.”
  3. Cone of Uncertainty Description - The vertical line is estimation

    variability, and the horizontal line is time. - Blue section is the size of the estimation variability. - As time passes and more information is gathered, variability decreases. Key points After product definition, detailed requirements, and user interface design, variability decreases significantly. So, defining what to do is the most important factor for estimation accuracy.
  4. Inputs Requirements In Agile, requirements are defined as a User

    Story and Acceptance Criteria in Product Backlog. If necessary, you add UI components such as wireframes because it builds a clear understanding of the team. Development process The development process clarifies when who, and how to test during the development. It prevents underestimation and ensures the quality of the product.
  5. How to Define Requirements User Story A User Story describes

    what needs to be built in a simple form sentence. It consists of who, what, and why. Acceptance Criteria Acceptance Criteria are detailed requirements supporting the User Story. It also has test aspects, and developers must meet all Acceptance Criteria to complete. UI Design UI Design, such as wireframe or sketch, creates a shared understanding and prevents miscommunication. However, it’s not always necessary, For example, when you make an API or module.
  6. Approach Iterate to be accurate The more Sprint you have,

    the more accurate the estimation will be. Do not aim for the perfect estimation from the beginning. Comparison Estimation with comparison is more accurate than an absolute one. Human beings are good at the comparison. Collective knowledge Estimation through discussion with others is better than doing alone because it prevents overlooking.
  7. Output Time-based estimation seems better than Story Points because of

    the below reasons. • Story Points are not intuitive. • Business people cannot make a decision based on Story Points. • Time is a universal measurement in business.
  8. Bottom Line 1. The purpose of the estimation is to

    support business decision-making. 2. Agile decides what to do based on the limited time and resources, while waterfall decides the time and resources to complete all scope. 3. Requirements and development processes are critical inputs for estimation. 4. Iterate to be accurate, comparison, and collective knowledge are critical approaches for estimation. 5. Time-based estimation is better because it’s more supportive of business decision-making than Story Points.