Make reversable decisions
Frequently we're faced with a decision where blindly following the principle of decide as late as possible might make our lives more painful. Sometimes we can make a choice that's easy to unmake.Following on the recent theme of responding to real options, today I want to talk about making reversable decisions.
Frequently we’re faced with a decision, and if we blindly follow the Lean software development principle of decide as late as possible, we might make our lives more painful. Sometimes there’s a choice we can make that’s easy to unmake.
In yesterday’s example of lane changing, this is pretty clear. If we’re in the right lane, and want to pass, we aren’t committed to stay in the right lane. Normally we can change to the left lane to pass, and then return to the right lane if we choose to (even without having passed, if necessary).
I’ve seen far too many developers and entire teams stress out over decisions that are easily changed.
Here’s one only slightly-technical example from my time working with Lana.
When I first met Lana and their development team, they didn’t have any bug tracker or issue tracker in place. We knew we needed something. Some of the people at Lana wanted to do a weeks-long investigation comparing Jira with Clubhouse, and several other options. Of course there’s nothing wrong with doing a thorough investigation. But we didn’t want to wait weeks to start seeing the benefit.
So I quickly made an easily-reversable decision for the team: Use GitHub issues
So the team began using GitHub issues, and immediately we saw a benefit from greater visibility into the work being done by everyone on the team.
A couple of months later, after a more complete investigation, the team did reverse the decision, and switched to another ticket tracking system.