A recent chat about exams at school reminded me of my favourite exam. It was the unseen paper in English literature, where you had to come up with an analysis of a text you’d never seen before. I devised an approach to this where I’d ban myself from writing for the first half of the exam time and concentrate on getting my head around the text. Once I’d got everything straight in my mind, or at least found something interesting to discuss, I’d write the analysis.
This approach had the added bonus of psyching out anyone else in the room who looked at me because it looked like I was staring at the wall for the first hour of the exam and then writing furiously at the point when everyone else had given up. It worked well for me, even if the invigilating teacher usually ended up believing that I’d taken something dubious beforehand.
When I’ve had to write code, I’ve done something similar: I ban myself from writing any actual code until I’ve got the logic and flow of what I’m trying to achieve clear, usually sketched on the back of a bit of scrap paper while I drink tea. If I do what happens in movies and start typing random code into a window, or go and find some code on Stack Overflow or somewhere else and start playing with it, then the only guaranteed outcome is a nasty mess.
Both approaches probably say more about how I work and the limitation of how much I can hold in my brain at one time than anything else.
I’ve been thinking about these approaches because I think my product approach to forming user stories is similar. Somehow or other there needs to be space to get the essence of the story straight.
Stories are not born ready formed; they’re born kicking and screaming and needy, dependent on you for sustenance and guidance, and occasionally depositing some unwelcome surprises on you. (“I thought that would be a simple, tweak but you’re saying we need to rewrite our entire frontend framework before we can do that? Ah, OK.”.) To mix my metaphors for a moment, I recently said on Twitter that you’re not investigating user needs hard enough if you don’t occasionally feel like you’re in a wrestling match.
Sometimes, stories are not mature enough to be ready to
leave home be added into a sprint. Adding them too early ends badly for the stories, which may get them such a bad reputation in the team that no-one wants to commit to them in future.
What this means in practice
Digital service design is a relatively new concept. It shouldn’t surprise us when people are unsure or unaware of what users need. When this happens, it’s the job of product to have some stories to tell about what we can do to help meet the needs of our users. (Product done properly means taking responsibility for a product. That means providing a vision of what’s possible and communicating this to people. It doesn’t mean asking someone for their “requirements” and then blaming them for what happens next.)
the first draft is just you telling yourself the story.”
As Terry Pratchett puts it, “the first draft is just you telling yourself the story.” You need to run through the story, find the missing details and the weak points and then do the work to make sure that the story is robust enough to hold together as a convincing narrative when you tell it: whether that’s in front of the team at a planning meeting, or to other stakeholders who have their own ideas about what you should be doing. Don’t underestimate how much time and energy this takes, or the courage required to hold back a story that looks tempting but isn’t ready.
If you’re responsible for a product, then I think the biggest mistake you can make is to buy into the myth that user stories are simple. Next time someone asks you to add a couple of stories to the backlog before you pop into your next meeting, or suggests that a short workshop should allow the creation of all the stories you need, take a pause. If necessary, return to my exam technique and stare at a piece of paper for a time while everyone around you wonders whether you’ve gone crazy, but – whatever else you do – give yourself the time to get your story straight.