How Good is Good Enough? Try INVEST Lite
One of the many topics that Agile practitioners write and talk about frequently comes down to elaboration of work items. (I use the term “work item” as a general term to refer to what are known in various circles as user stories, Product Backlog Items (PBIs), or simply “tickets.”) And in this context, I find myself coming back to Voltaire’s maxim:
Le mieux est l’ennemi du bien
The perfect is the enemy of the good
And how I often say it, and how I’ve often heard others say it, is …
Don’t let the perfect be the enemy of the good
Just today, as it happens, I was trying to think of how to articulate what a “good enough” work item looks like, and in that spirit, write a description that is just-barely-detailed-enough-to-stand-on-its-own. Before long, I came back to one of the time-tested ways to think about work item elaboration — Bill Wake’s INVEST. To keep my description especially short, I truncated INVEST down to IEST (more on why I did that in a moment). Here is the verbiage I came up with, with some further edits now that I’ve had more time to reflect:
- Independent. There are two ways to think of independent work items, with respect to forms of dependency. (a) Internal — Scrum teams in particular try to avoid having two tickets in the same Sprint, where one of those tickets can’t start until another ticket in the Sprint finishes; (b) External — Any dependencies that are external to the team are to be avoided, and if they can’t be avoided, it’s important to call such dependencies out and make sure their potential impact is clear.
- Estimable. A work item is “estimable” when it is well enough understood that few if any open questions remain about it. If open questions do remain, those need to be addressed. Another reason to use the term “estimable” is that not all teams estimate. Thus “well-enough-understood” could serve as a synonym for estimable.
- Small. Small work items are one of the enablers of steady flow of work to done. What “small” means in practice can vary from team to team. What small does NOT mean is any work item that takes more than about one to three days of touch time to complete.
- Testable. Calling a work item testable is a different way of saying it’s clear when the work item is done. Having clear Acceptance Criteria for a work item is a common way to help ensure there is clarity about what sorts of tests need to pass.
So, what about the “N” — for Negotiable; and the “V” — for Valuable, that are part of INVEST — do I think those are less important? Nope. I tend to think of Negotiable as a sort of learned behavior, which has much to do with psychological safety. What I mean by that is it’s evident when team members feel comfortable sharing their opinions; for example, a team member might think of a simpler way to do something, which might only require a single work item to complete, rather than several. With respect to Valuable, I’ve found that it can take some time for people to get completely comfortable with what that means in their own context. It’s certainly vital for a team to arrive at a shared understanding of what Valuable means — AND, I’ve found that tends to happen gradually, especially for recently formed teams.
I hope you’ve found this short overview of “good enough” to be — well — good enough.