Software Estimation Without Guessing with George Dinwiddie

Published: April 3, 2020, noon

This week, Dan Neumann is joined by George Dinwiddie, an Independent Software Consultant and Coach who works with organizations both large and small to develop software more effectively. He strives to help organizations, managers, and teams solve the problems they face by providing consulting, coaching, mentoring, and training at all levels.

\xa0

Dan and George will be taking a deep dive into George\u2019s newest book, Software Estimation Without Guessing: Effective Planning in an Imperfect World, which addresses both the technical and sociological aspects of estimation. In this episode, George takes listeners through several chapters of the book, key points and best practices, as well as myths and misconceptions, all to help your organization achieve its desired goals with less drama and more benefit!

\xa0

Key Takeaways

What is software estimation?

A tool to estimate for the particular need you and your organization has

Estimation in comparison to past experience and by modeling the work mathematically (or a hybrid of both)

One of the big purposes of making estimates is for the business to build a look ahead and make decisions

What are not estimations?

Commitments

Negotiations

Plans

\u201cEstimations are wrong; if they were right, they would be called measurements.\u201d

How to estimate/estimation best practices:

It\u2019s important to track progress with your estimates to create a feedback loop (burn up charts are an easy way to do this)

It\u2019s okay to be wrong in the estimates

With sprints, you want to be more 50/50 with the estimates

Communication is critical

Having contingency plans in place is a good idea

Estimations are not the same as plans \u2014 estimate, and if it is critical, then put in some contingency buffers

Allow for some space for the unexpected

When you find out that your estimate is wrong then that means some assumption that you\u2019ve based your estimation on is wrong (so there\u2019s a lot of value in analyzing what assumption is untrue and to learn from it)

For simple estimations (like how much work to take on for the next two weeks) you don\u2019t need a lot of precision or accuracy

Set near-term estimates

Be clear about how far along you are (\u201c...otherwise, you\u2019ll be fooling yourself\u201d)

Have a good measure of what is done or not (you can use test automation for this)

A model can be very helpful but if it doesn\u2019t really track reality then it\u2019s going to lead you astray

The book\u2019s purpose:

It strives to help people work with estimates (given a desire to have things come out well)

Provides a guide for comparison-based estimates

It\u2019s not very recipe-driven; it more so provides things to think about and options to consider

A how-to on estimating for unknowns

Rather than walking people through a series of steps, George\u2019s book aims to help people think about what they\u2019re trying to accomplish and how what they\u2019re doing is accomplishing that

Approaches to estimation:

Enlisting Expert Estimators\xa0

Using a model such as the COCOMO model (which is encoding how you compare it to other experiences)

Utilizing function points

Notes about the social side of estimation:

Having in-person communication skills are just as important as your programming skills

The better you can balance a concern for the needs of self, the needs of the other, and the needs of the context, the better things will be (even if the other person is not doing a good job of balancing them)

\xa0

Mentioned in this Episode:

George Dinwiddie

Software Estimation Without Guessing: Effective Planning in an Imperfect World,
by George Dinwiddie

Agile Estimating and Planning, by Mike Cohn

Planning Poker
Fibonacci Sequence

Agile2020 Conference

James Grenning

Software Estimation: Demystifying the Black Art (Developer Best Practices),
by Steve McConnell

COCOMO Model

Burn Up Chart

Gerald Weinberg

Donald Rumsfeld \u2014 Unknown Unknowns

Virginia Satir\u2019s Concept of Congruence

The Fifth Discipline: The Art & Practice of The Learning Organization, by Peter M. Senge

\xa0

Want to Learn More or Get in Touch?

Visit the website and catch up with all the episodes on AgileThought.com!

Email your thoughts or suggestions to Podcast@AgileThought.com or Tweet @AgileThought using #AgileThoughtPodcast!