I am currently having an unfortunate opportunity to watch yet another Phoenix project explode. Every person I spoke to on that project feels bad about what they are setting out to do and how they are going about it. Yet, the work starts on Monday as they are already behind schedule. How is that even possible if you do not even have the releases, sprints, epics and stories in order? I guess someone already made a promise to someone else …
That above is a failure on a monumental level, but every day I think we’re not saying “that’s not good enough” as often as we should. A lot of my most recent efforts of getting better at it were around ready for development stage in the delivery processes my teams are following. I now have real evidence to take to the review and planning meetings to show which story was a success and how having well laid out details on acceptance criteria makes the life of testers, business users and developers infinitely easier. There’s still an overwhelming body of evidence of stories that failed – that we had to rework, and retest, and rework … for some of them we don’t even count how many times. In all these failure cases the key component that we have neglected are always acceptance criteria. But that problem is not caused by the complex nature of the problem. It is, in my opinion, the result of not saying “this is not good enough” and stopping. Instead, we dive in, try to wing it and land off the mark.
I wrote earlier about not taking shortcuts, I feel that not spending enough time on getting to ready for development is one of these false shortcuts people keep trying to take. Instead of going the whole journey of discovering and validation of an idea they’d much rather just build it and see if the customer likes it. That’s fast and cheap, right? No, it never is – just scroll up few lines to “rework – retest – rework” line I’ve typed up, sounds familiar? That’s not fast and cheap.
I am not advocating writing tomes of words, validating every assumption and reviewing notes with a group of 20 people. All I’m asking you to do next time you are asked if the story is ready for development is, to be honest, and say “that’s not good enough” when you see a sentence or two and nothing even remotely resembling acceptance criteria. Trust me, there is no shortcut here, he’ll have to discover these anyway to build your tests, code and ship. The conversations required to uncover all of that is infinitely easier before you start rather than on day 5 of your struggle to get past the review with the PO.
Useful hints from my experience that driver towards “good enough”:
- Definitions of ready and done at every step of your process starting with drawing these columns on your board
- Storytime – weekly, daily or ad-hoc get-togethers that help us push stories towards ready for development