I just got back from a run, and as frequently happens, ran straight to the computer to record 3 or 4 brainstorms that happened along the way. My family already knows not to talk to me when I first get back home from a run — the endorphins must accelerate blood flow to the brain and what comes out are out-of-band ideas that disappear like a dream unless I jot them down right away.
What’s interesting about these ideas is how compelling they seem while I’m out — there’s a sense of urgency that this will change EVERYTHING, that it will be quick to implement, even that I’ll get home and just knock it out right away. There’s something about the runner’s high that works like alcohol at a party, providing an overarching confidence that yes, this will change the world and it has to happen now. Until you wake up in the morning and with the sobriety of a new day look at the ideas of the night before and wonder about the decisions you might have made.
Sometimes programmers suffer from this phenomenon, call it Coder’s High. A developer is in the middle of something and has a flash of inspiration, then another, everything seems within reach, sure it’s 2am but I’m sure I can knock it out by 3am, OK maybe 3:30… and so it goes. And then a fresh look in the morning makes you wonder if you should have called it at midnight.
We are wrapping up user stories for a client on a new project. When first putting them together we grouped stories roughly by “theme”, area of the product. So the user management stories went together, the ops stories went together, etc. Then taking a hard look we were able to tease these apart. Yes a user has to be able to log in. But do we need multiple roles for v1? Can we manage the back-end category hierarchy in the console for starters without a UI?
And so we followed our best agile methods and moved stories around NOT based on the Coder’s High of what’s within reach, what’s interesting, what is the most awesome idea and can’t be that hard. Saying “this can wait” is the bravest decision a project manager or a client can make, and it always pays off handsomely in a predictable project schedule and an under-control delivery.
So I say to runners & programmers everywhere: Enjoy the rush of the inspiration, the feeling of an out-of-the-box wind blowing through your hair. Try to remember every detail of your amazing idea, get home, write it down in all of its glorious detail — on the backlog. Then go to sleep, wake up in the morning, and exercise your ruthless prioritization — and build based on importance, not exuberance.