This is a great talk / lecture on what causes software to fail (and eventually kill people): https://github.com/jorendorff/talks/blob/master/blame/blame.md#dont-blame-the-decaf-what-really-causes-software-failures-and-successes