All software fails eventually, it is just a question of when, and therefore it should be expected to fail. Is your business prepared for when the inevitable failure occurs? Most Enterprises have backup systems in place; however, these can fail too. The more complex a system is, the more likely it is to fail. In mission critical situations in industries such as aviation, automotive and healthcare, the failure of systems can be catastrophic, potentially leading to injury or loss of life.
In one recent example of catastrophic failure occurred in December 2014 at the National Traffic Control Service in the United Kingdom, the failure lead to the complete loss of service for 5 hours resulting in chaos in the skies and at airports across the UK and internationally. A bug in the System Flight Server (SFS) caused not the main system to fail but also the backup system resulting in the inability to access data regarding flight plans.
The bug was a result of a scenario not previously encountered (or tested for) in the preceding 12 years of operation. The problematic code was what IT professionals’ term as a legacy issue, code from an old outdated system that was in this particular case, put in place to manage hardware failure.
Legacy issues are an all too common cause of software failure and old outdated systems pose all kinds of problems including:
- Software designed for old hardware
- Hard to maintain (and costly)
- Original developers forget the knowledge of the system.
- Run on old operating systems that are no longer supported or patched (security issues arise).
- Difficult to integrate into other newer systems
Even short-term system failures (lasting just a few hours) can cost millions such as the example above. To reduce the risk of such failures, preventative measures should be in place for when updating existing systems or transitioning to new systems. One such preventative measure is to adopt a tool for tracking development transparently, bypass the problem of developers forgetting long term, and ensure that future development teams can see what decisions were made, when and critically why.
codeBeamer ALM software is a long established dependable enterprise solution for scaled Agile software development as well as for hybrid models of development. codeBeamer ALM provides complete transparency, traceability throughout the Application Development Lifecycle.