Most technology companies these days are ensuring that they get involved with both Agile and DevOps in their processes. Despite this, not all companies manage to get it right. You might be one of the almost 80% of companies who could still do better in this regard.
This article will talk about safety-critical product development in the context of Ovum's recent white paper. By the end of this piece, you should have a summary of what Ovum is trying to communicate. You should also be able to discuss what its conclusions mean for the technology industry moving forward.
Software in Safety-Critical End Products
Software development is already a complex procedure. By adding the need to be safety-critical into the process, it can escalate to a much more challenging process.
The days of pure Waterfall development are becoming more and more a thing of the past. The planning for safety-critical products is a more difficult prospect.
This is because Agile development does not plan too much ahead, expecting changing requirements at any time. Instead, other systems need to be in place to manage the software development process.
For example, ALM, or Application Lifecycle Management, is often used as the method to plan safety-critical software. This occurs through systems such as automation of processes and integrated lifecycle coverage. Through these systems, the organization can follow regulations surrounding safety without hassle.
When human lives are on the line, you must follow regulations to the letter. You should also test your adherence to such rules to ensure that you reduce risks to as close to zero as possible.
For this reason, the uptake of Agile and DevOps in the development of safety-critical systems is much higher than in other areas. One of the main reasons for this is the fact that ALM creates a "single source of truth" for the whole process. This can ensure that the team shares safety procedures, laws, and regulations with the entire development team in a clear manner.
In the past, such ALM processes did not cover post-release development. In modern systems, though, developers combine ALM with DevOps, allowing its benefits to continue into support. This allows that single source of truth to continue to be relevant long into the future.
Safety-Critical Systems Recommendations
When building safety-critical end products, there are several sources of advice so that you can make use of ALM best practices. Implementing these can allow you to follow all the expected requirements for your software.
With that in mind, the following are a few pieces of advice that the Ovum white paper recommends:
If you create a single source of truth in the software developing process, you should be careful not to dilute this. Make sure that you only use one tool to record your documentation in a way that the source of truth does not end up outdated in certain locations.
ALM and DevOps
Integrate ALM and DevOps release management to have the greatest level of control over your releases.
Make sure reports on your work are ISO compatible. This allows anyone to understand them. You can also have assurance you are following regulations and working to expectations.
You should review the processes that you use. This can ensure they continue to conform to safety-critical regulations.
Engage with the Agile methodology. This will make sure that you always review your processes and test your work often. Such testing will reveal failings in safety-critical processes. Also, the continual iteration of Agile allows your staff to put in place necessary changes as you learn about your process.
Why Use DevOps?
Ovum states that when implementing DevOps in your processes, it is important to understand why. This will allow you to engage with the set of practices with the best intents and allow you to course-correct if you begin to sway from its intents.
One of the main reasons you should use DevOps in a development setting is because it often corresponds with high working performance. "State of DevOps" reports often play this out, with the use of DevOps correlating with higher performance in a development team.
Ovum also points out that one of the central tenets of DevOps is the widescale use of automation. The white paper elaborates on this by stating that any use of human intervention brings with it the possibility of mistakes and human error. Continuous delivery and automation in DevOps removes this potential and makes the final product much safer.
Challenges of DevOps
The white paper elaborates that using DevOps and Agile is not without issues. If your company is not used to working with such tools, it will take a major cultural upheaval to get them working. Not only that but there will be a long period of training to get developers to the point where they are comfortable with their use.
Webinar recap blog post:
Ovum understands that this is normal for any company. Though they point out that in safety-critical systems it can mean a far more significant setback. The company needs to not only train its people but make sure that the training sticks or it may end up liable.
Ovum uses the example of BMW for a case study of implementing Agile and DevOps successfully in the technology industry. BMW has recently embraced Agile and DevOps in its product development, making it a perfect example.
The white paper discusses how DevOps changed how teams respond to emergencies in development. Now, when something goes wrong, the development team is the front-line for resolving it. The issue no longer needs to go through management, and developers can lock down its details long before it becomes a larger problem.
You can now see this truth in all areas of the company's development. They are faster to market, and they are also now faster to detect and fix issues ("faster to fail").
Not only did they do this despite problems with scaling, but they also maintained the safety-critical elements of their products.
They did this by making use of Intland's codeBeamer technology for its ALM solution. It allowed them to make use of Agile practices moving forward as well as increase the traceability of all their work.
Development Maturity With Agile and DevOps
Ovum's white paper provides several nuggets of wisdom that can any company looking to mature their Agile and DevOps solutions can use. A few of these include:
Have an ALM Solution
Ensure you structure your process on a strong ALM. Over time, this can assist you with developing requirements. It can also help with testing, building, and deploying your products.
Letting your staff make mistakes early on draws out problems before they can escalate. It gives you a strong set of lessons to learn from and allows for more unique solutions. With safety-critical systems, though, you should ensure you catch these mistakes early and often.
Ensure that you communicate all lessons learned to the rest of the company. Using the single source of truth, make sure that you can spread any lessons to all who need to know them.
What Should I Look For Next?
You should now have a much more comprehensive understanding of what Agile and DevOps can do for your development strategy. If you still have questions, though, we would be happy to help. Click to get in touch with our experts!