What Software Industry Can Learn From Aviation
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.
1. Errors occur because of a chain of events, not because of an isolated one
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.
2. Don’t blame, learn from errors
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.
3. Humans make mistakes, it is in our nature
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.
4. Mistakes are not made on purpose
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.
5. If you make a mistake, share it to learn and avoid it next time
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.
In summary
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
Hacker Noon is how hackers start their afternoons. We’re a part of the @AMI family. We are now accepting submissions and happy to discuss advertising & sponsorship opportunities.
If you enjoyed this story, we recommend reading our latest tech stories and trending tech stories. Until next time, don’t take the realities of the world for granted!