Agility is About Identifying and Achieving “Good Enough”

by Avienaash Shiralige

Often I get to hear “how much documentation should I do”? How long should be my Sprint Planning or Sprint Retro?

I say Just Barely Good Enough(JBGE). Check out below picture by Scott Ambler.

This graph summarizes above questions using law of dimishing returns which shows value curve for an artifact being just barely good enough. You invest effort till you achieve effective point the dashed line in the graph.

Value refers to the net benefit of the artifact, which would be calculated as benefit – cost. Anything on the right implies your incremental efforts are not returning equivalent or higher value back. Anything on the left of dashed line indictates you have some more work to do to achieve JBGE.

If an artifact or any Scrum Ceremony is already JBGE(or better)then doing more work on it is clearly a waste.

Let’s take an example of documentation here:

Team spends too much time many times without knowing to whom we are building this or for what purpose. Everytime you don’t need a very detailed documentation. How many times you as a developer have read 100-200 pages technical design document? I must confess that I have not anytime in my career. They become stale very soon and cost of keeping them updated is very high. Apply JBGE value curve here.

This does not imply that you are creating low quality. Quality of the artifact is in the eyes of the beholder, not the creator of it. If your stakeholder requires very detailed document, then JBGE for that artifact is when it reaches that level of excellence and detail.

I ask my teams to have documentation like code commenting, interface specs documentation etc to be part of done criteria for a story. If your stakeholder requires detailed documents like User Manual for end user, or System documentation for maintenance, then add it as part of your product backlog. Let team take advantage of this effort by adding it into final velocity figures of the sprint.

Have you run into similar situations on your projects or in your life? Please share your experiences…