Nobody can deny that technology and aviation industries have been improving and evolving with an incredible speed.
I believe that software industry has a lot to learn from other industries and that’s why I want to share some learnings from the aviation industry that I find very useful after starting my pilot career.
In aviation if an accident occurs you probably won’t hear it was only for one reason. Instead, all the events that caused an accident are analyzed and considered as responsible.
Let’s imagine the situation where a bug lands on production.
If you think about it for a minute you will realize the issue appeared after a staged roll-out but nobody detected it, it was tested by QA but they didn’t detect it, it was tested by the development team involved but they didn’t detect it, a pull request was made and analyzed before merging it but nobody detected it.
So, as you see, there are many people and situations involved on every release. If you stop any event of the errors chain, you have tons of chances to avoid having a bug on production.
It’s easy to point out someone after an error occurs and of course, to blame him or her. But as you read above, errors are not the fault of anyone, but a result of chain of events.
As there are many people involved on any error or issue, the best thing we can do is to learn from them and take actions to improve our processes, tasks, departments, etc.
A good practice from the industry of the skies is to avoid blaming people involved in mistakes but learn from them and how to avoid and minimize them.
I can bet that anyone who is reading this has once made a mistake in his or her life. That’s because making mistakes is part of us. We are not perfect.
As we know that mistakes and errors are so likely to happen to humans, something we should apply on software industry is to help developers and engineers to avoid making mistakes or reduce their chances to make one.
Great things that help to minimize human errors are checklists, unit and acceptance tests, code reviews, cross-testing, deployment pipelines, automated tasks and so on.
Pilots understand that none of their colleagues make mistakes on purpose. It would be silly to think so.
That’s why instead of getting upset after someone makes a mistake, they wonder why that situation happened and then learn and teach it.
So, next time before you get upset with someone because of a mistake think for a moment all the reasons that could have influenced that mistake to happen.
On every takeoff, landing or other flying situations errors and mistakes are right there waiting to happen to you.
When they happen, experienced pilots don’t hide them. They talk, learn and share those situations. It’s incredibly important to share those stories to avoid having issues again and to help other colleagues (and themselves) to avoid them.
In the case of software industry what we should see more often is people talking about issues they have or had, knowledge learned from errors being spread and post-mortem documents with explanations and actions to minimize the chances of having the same error again.
Errors and mistakes happen all the time and nobody makes them on purpose. Before blaming someone we should learn from them and take actions to avoid and minimize them.
It’s important to make all the teams understand these concepts in order to keep improving the quality of their software and organizations.
Did you like what you read?
Recommend this story (by pressing the ❤ button) so other people can read it!
You can also react on Twitter: @santihollmann
Create your free account to unlock your custom reading experience.