We’ve all seen the “software glitches” in the headlines. In August 2013, a “software glitch” shut down the Chicago Board Options Exchange for half a day. Toyota blamed its 2010 braking problems on a “software glitch.” The Facebook NASDAQ scandal was blamed on “poor software design.”
All of them faced the Law of Unintended Consequences (LofUC) which states:
When the environment in which software is deployed is not fully understood,
really really bad things can happen.
The latest “software glitch” that truly brings the LofUC home is the Knight Capital debacle. In August 2012, Knight Capital installed new software that was supposed to revolutionize the way they traded their stocks, giving them advantage over the rest of the stock market players. But, once the new software hit the playing field, it generated millions of unintended trades, driving the market crazy and losing Knight Capital over $450 Million. In 45 minutes. Not only did Knight not gain the upper hand in trades, the change nearly cost the company its life.
How can this happen? Don’t they test this stuff?
I don’t work for Knight, nor do I know anyone there. But, I am pretty sure of two things. They did test it. And they made a grave error that brought the LofUC into play:
they were heads down, internally focused, eyes on their own happy path of success
They miscalculated the rest of the stock market’s abilities. They generated software that they believed would skyrocket them to better financial performance, but instead plummeted them to earth at warp speed. The rest of the market’s software beat them to a bloody pulp with little chance of survival. It was like training for the Super Bowl without ever seeing the other team play. The other team was bigger, smarter, and better prepared.
What should they have done?
they should have been heads up, externally focused, eyes on the rest of the world
They could have studied the market and how it reacted to their changes. They could have played what if scenarios against real world examples. They could have… But they did not.
I recently learned that the Law of Unintended Consequences does not just apply to software engineering. It applies to life. And I learned it the hard way, just like Knight Capital.
A few weeks ago I had dinner with a friend that I’ve known for almost twenty years, but hadn’t reached out to in several. She is someone I respect, love and admire. Someone I will always be there for in a time of need for the rest of our lives. Who could call me in the middle of the night and I would get up out of bed and take care of whatever she needed. While we ate, she told me that in the years since I had been in touch, both her parents had died, she and her partner of ten years had split, and her current relationship was having difficulty because her last few years had been so stressful.
I was stunned. And angry. At me. You see, I had never told her that she could call me anytime. That I would always be there for her. I could have told her. But I did not. The Law of Unintended Consequences ground into view.
I had been heads down, focused internally, eyes on my own happy path to success.
And I had missed so much about someone I adore.
So, I’m learning from my past. I’m focusing externally, with my head up, my eyes on the rest of the world. And the next time she needs me, she won’t even have to call. I’ll already be on the way.