The following flowchart says quite a bit about software development on the whole, and why it’s so easy to fail; it’s almost 100% true for any system with more than one programmer – and that single programmer often resorts to adding hacks upon hacks upon hacks just to make something work, leaving an ill-maintained piece of code.
The code to Ruin