Software engineers are bad at software safety because software engineers are not used to the idea that software can injure.
That’s why managers need to step up as overseers of software safety.
Analysts believe that software safety is like the skin of an onion with many different layers. The first step in developing a safety practice is to determine the scale the software will reach in the immediate future and focus on building out best practices around that level of safety.
Then as you scale the technology, continue to evolve your approach to reflect the concerns of higher levels.
For example, when digital systems stop merely supporting processes but become load bearing participants of that process, software safety moves to the front of the line.
This equates to the radius of undesirable state changes increases, damaging not just machines but causing people to take actions that are misinformed and potentially injurious.
Once software hazards have been identified, software architects and developers need to design the application architecture to ensure the software components are easy to test, verify, and maintain.
In the majority of accidents in which software was used to control actions of components, the cause can be traced to requirement flaws such as incomplete requirements in the specified and implemented software behavior — wrong assumptions made on how the control system operates in the production environment.
However, even if there exists a methodology or technique that could identify all software-related hazards, we should keep in mind that this is just part of it. We are still presented with a huge risk if the software is not properly designed, built and tested.
It is common practice to use fault tree analysis to identify software-related hazards. The analysis is usually carried out right down at the software interface level in order to trace the hazards into the software requirements and design implementation.
Software safety managers also need to be watching for over-zealous developers (or sales and marketing staff) who may try to introduce more value-added features and functions to impress and please customers. Or there could be issues with having unintended functions unwittingly introduced to the system.
Want to learn more? Tonex offers Software Safety Course for Managers, a 2-day training course designed to provide managers, engineers and technical professionals with a firm grounding in the software safety essential and software safety project management skills necessary to lead and produce safe software products that meet customer safety requirements.
For more information, questions, comments, contact us.