Simple software development mistakes can have costly consequences. Recent history has shown that investment in robust software development always pays off. We explore the key principles of robust software development.
It is a foggy day in Kourou, French Guinea. Tension is high among the team of engineers and experts gathered for the launch of Ariane 5 Flight 501. At 12:34 on 4 June 1996, the rocket starts its slow ascent, leaving a thick bright yellow trail in its wake. Seconds pass, nothing to report. Then, all of a sudden, the launcher veers off its flight path and explodes. What happened? An Inquiry Board investigation set up just a few days later showed that "The failure of the Ariane 501 was caused by the complete loss of guidance and attitude information […] due to specification and design errors in the software of the inertial reference system."
While other public software failures have hit the headlines since, this is still one of the most infamous bugs in history, costing the Ariane program billions of dollars.
With the rise of technology within every organization, software development has become everyone’s responsibility – or problem. Moreover, while numerous methodologies, frameworks and tools have allowed for better and more secure software development, we are still observing a lack of robustness around the measures needed to prevent another explosion.