<story><title>Software engineering lessons from RCAs of greatest disasters</title><url>https://anoopdixith.com/disasters/</url></story><parent_chain></parent_chain><comment><author>seanhunter</author><text>One of my favourites that I ever heard about was from a friend of mine who used to work on safety-critical systems in defense applications.  He told me fighter jets have a safety system that disables the weapons systems if a (weight) load is detected on the landing gear so that if the plane is on the ground and the pilot bumps the wrong button they don&amp;#x27;t accidentally blow up their own airbase[1].  So anyway when the Eurofighter Typhoon did its first live weapons test the weapons failed to launch.  When they did the RCA they found something like[2]&lt;p&gt;&lt;pre&gt;&lt;code&gt;    bool check_the_landing_gear_before_shootyshoot(double weight_from_sensor, double threshold) {
        &amp;#x2F;&amp;#x2F;FIXME: Remember to implement this before we go live
        return false
    }
&lt;/code&gt;&lt;/pre&gt;
So when the pilot pressed the button the function disabled the weapons as if the plane had been on the ground.  Because the &amp;quot;correctness&amp;quot; checks were against the Z spec and this function didn&amp;#x27;t have a unit test because it was deemed too trivial, the problem wasn&amp;#x27;t found before launch, so this cost several millions to redeploy the (one-line) fix to actually check the weight from the sensor was less than the threshold.&lt;p&gt;[1] Yes this means that scene from the cheesy action movie (can&amp;#x27;t remember which one) where Arnold Schwartzenegger finds himself on the ground in the cockpit of a russian plane and proceeds to blow up all the badguys while on the ground couldn&amp;#x27;t happen in real life.&lt;p&gt;[2] Not the actual code which was in some weird version of ADA apparently.</text></comment>
<story><title>Software engineering lessons from RCAs of greatest disasters</title><url>https://anoopdixith.com/disasters/</url></story><parent_chain></parent_chain><comment><author>rob74</author><text>Another train crash that holds a valuable lesson was &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Eschede_train_disaster&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Eschede_train_disaster&lt;/a&gt;&lt;p&gt;This demonstrates that sometimes &amp;quot;if you see something, say something&amp;quot; isn&amp;#x27;t enough - if a large piece of metal penetrates into the passenger compartment of a train from underneath, it&amp;#x27;s better to take the initiative and &lt;i&gt;pull the emergency brake yourself&lt;/i&gt;.</text></comment>