One of my favorite movies is The Butterfly Effect. Ashton Kutcher plays a character who has experienced a lot of trauma in his life. He discovers by accident that when he sees something from his past, he blacks out and can go back to his past. From there, he is able to make decisions that change the outcome of the future.
The first time he does it he realises that his decisions has unintended consequences that result in an outcome he doesn’t like. As he goes back in time and plays out each scenario, he realises it results in another result that he didn’t expect. The movie is intense. It makes you think about our decisions and the impact it has on the future. On a sidenote, it is one of those few movies where I actually liked the sequel! Here are the highlights in this video.
Small decisions we make today can have unintended and unexpected consequences tomorrow. For me, the butterfly effect is like when you throw a stone in a pond. It produces a second, third and fourth ripple.
Its related to the idea of “second order effects”. I like this explanation from Personal MBA:
What Are ‘Second-Order Effects’?
Every action has a consequence, and each consequence has another consequence. These are called Second-Order Effects. Every change you make to a system will have Second-Order Effects, which may affect the system’s functionality. Be careful when making changes, they may have the opposite effect of what you aimed for.
When I consider product decisions that I need to make, I have to consider the second order effects. And third order effects. And fourth order effects. What is the chain reaction that it can produce down the line. What is the butterfly effect?
The butterfly effect of agreeing to add one small feature
An example is when we debate whether to add a new feature to a product. As product managers, we get this request all the time. “Can you add this one feature? Its a small feature.”.
If we add this feature, I can foresee that people will use this feature and so I would look at feature usage. I’m hoping that this feature increases monthly active usage (all PM’s hope their feature work out well).
However, what I didn’t foresee was that it drove down usage of another feature. When we added this button, it forced us to move an existing feature further down the page. Now people can’t find it because they are used to navigating in a certain way. In addition, we now increase the customer support load as we have 1 new feature plus the people that can’t find an existing feature that we moved.
Also, we have to do marketing to promote this new feature. The killer part is what happens next. When you release something, you have to support it. You have to maintain it. Then you need to enhance it and improve it.
Its not simply agreeing to a request to “add one more small feature”. Every decision we make has consequences.
The butterfly effects of fixing that one small bug
When we make decisions about a product, we need to understand the second order effects. What is the chain reaction that it causes? This happened yesterday in a conversation about a bug fix. Do we fix this now or do we wait? My thesis was that if we fix it now, it will take a week to deploy in our SDK. Then it is picked up by other teams which could take another 1-2 weeks before they can finish it in their next sprint.
It might take them another 2 weeks to release to customers if they are releasing once a month. If we don’t fix it, it could also impact our metrics that we trying to improve week to week. In addition, we don’t want to wait til negative customer feedback starts coming in. If we decided to fix this bug, we would need to spend time on it instead of doing something else. What would we de-prioritise?
The butterfly effects of building for iPad
We knew we had a lot of demand for iPad apps for our products from customer feedback. We could see that customers were using our iPhone apps on their iPads. We also knew the experience wasn’t very good on iPad. So earlier this year, we decided to build a native iPad app for Shipit, our 24 hour hackathon at Atlassian. When we built out the initial prototype, the user experience was amazing. When I gave the demo to our internal audience everyone was ooh-ing and ahh-ing over the presentation.
But the decision to build an iPad app that would be productionized and to release to customers wasn’t made lightly. We had to consider the second order effects. How would people interact with multiple devices – mobile, laptop and now tablet? Would people use our overall products more if we added one more device? Would this change our navigation on iPad? Would we need to change the navigation on iPhone to be consistent?
Then on our side, how would this change the way we do ongoing product development? When we built out the initial version, some existing features on iPhone did not work on iPad. So we had to spend time fixing them. We had to make sure that every feature we build going forward would work on iPhone & iPad. Existing components would need to work on both devices. So what would be the increased cost of maintenance of having two iOS products? Consequently, how would this change our testing procedures? We now have to test everything on iPhone & iPad. Would the ongoing cost of having an iPad app be 10%, 20%, 50% of iPhone effort? Would this slow down existing product development on iPhone?
On the customer side, what kind of marketing would we do? We’d have to allocate marketing resources to promote it.
However, you can’t be paralysed by all the potential consequences. My preference is that we make swift decisions with strong reasoning so we can move forward. I prefer to consider the options, understand the second order effects, and then decide. It is worse to be paralysed by thinking too much about all the possible things that could happen and be stuck in a rut. In a fast growing technology company, we want to maintain momentum. We make decisions, we learn, we feed that back in to the team and we improve.
There are cases where some decisions and paths we take need more time and data, because the second order impacts are potentially quite large or unknown. In these cases, we can do A/B testing, run user testing and seek advice from others before making decisions that will have second order effects.
So when making a decision, ask yourself these two questions:
- What are the consequences of making this decision? (second order effect)
- What are the consequences of those consequences?” (third order effect)
A fun game to train your mind about second order effects
A fun game you can play is to pick a scenario and say “what are the second order effects?”. For example, as my manager once asked “if self driving cars were available today what would be the second order effect?”.
Here’s what’s in my head: Taxi drivers would be unemployed overnight. Parents would feel safer that their young kids weren’t driving the cars themselves. People may consume more alcohol knowing that they don’t need to drive home. Bars are open longer. There are less accidents on the road. Car insurance becomes cheaper. And so on! Try it, its fun 🙂
I’m out like the sequel,