Key takeaways
|
Developing standalone software products, or software embedded in engineered devices is getting more and more complicated. In today's market environment of various IoT-connected devices and complex “system of systems” products, software rarely stands alone. Instead, it is organically attached to hardware devices and related services, making the actual end product a mini ecosystem of solutions, rather than a single piece of hardware.
Complex products: hardware, software, service
Connectivity and the holistic nature of modern products necessitate a new approach to their development. Traditionally, product innovation and manufacturing involved separate development streams for hardware and software, (most likely) a Waterfall method to conduct the necessary steps of each process, and an integration & testing phase at the end. These development streams were progressing in complete or partial isolation.
With the exponentially growing volume of code embedded in hardware devices, complexity increasing in leaps, as well as the widespread adoption of Agile methodologies to speed up the development of software, it is no longer feasible to stick to this old method of sequential development. Integrating the distinct development streams of hardware engineering and manufacturing, software development, and service innovation became necessary. These previously separate lifecycles are increasingly interconnected, and therefore managing them requires a new approach.
Adopting Agile to accelerate development
One might intuitively assume that the "heavyweight" processes of really complex products, such as those in highly regulated safety-critical industries (medical devices, railway, nuclear, aerospace & aviation systems, automotive embedded solutions) would be slow to adopt modern processes. But implementing Agile to shorten development time and to cut costs, and taking this new management approach to allow the integrated control of multiple parallel lifecycles has the potential to yield immense benefits. Therefore, market competition increasingly forces developers operating in these sectors that are profoundly influenced by various rigorous standards and regulations to keep pace with the latest methodologies in order to stay ahead of the curve.
But Agile is inherently and by definition a less structured, less organized method of development. It values individuals, collaboration, and flexibility over following set plans, using inflexible tools, and documenting everything. This of course poses a challenge in sectors such as medical device development, where the key to achieving compliance with relevant standards is to show gapless traceability, enforce and fully document predefined processes, and implement adequate testing and risk management procedures.
However, the keyword here is "challenge": by no means is it considered impossible to use Agile and other modern approaches in the development of mission-critical products. In fact, FDA's 2013 endorsement of Agile has propelled its adoption in medical device development, even by large global companies that are traditionally considered sluggish and slow to adapt to changes. As evidenced by the examples of leading enterprises successfully switching to (scaled) Agile, the key to successful adoption seems to be integrated Application Lifecycle Management (ALM).
The Agile story of Medtronic Neuromodulation
A prominent example of the big enterprises that are paving the way for scaled Agile adoption is Medtronic. As the world's largest medical technology company, it develops quality products for a highly regulated industry. Since the lives of human patients may be at stake, product safety and reliability are of crucial importance, and therefore, compliance with standards and regulations is key.
Still, as the story (click the link to access Medtronic's comprehensive case study) of a visionary software executive leading Medtronic's Neuromodulation department shows, implementing Agile in such a complex environment definitely is possible, and could bring great benefits. Sarb Singh-Kaur is the Director of Patient Care Software at Medtronic Neuromodulation, Restorative Therapies Group. Singh-Kaur was hired to bring this department of the world's leading med-tech company into the "modern world", to accelerate its development activities by orchestrating the adoption of Agile.
Let's find out how exactly he was able to do that.
I am transitioning the organization towards state of the art mobile, cloud, and data driven medical systems with Agile processes that support new forms of healthcare delivery and user experiences. For me, speed of development and innovation delivery will be the new currency in the healthcare digital transformation. Processes and tools that enable us to accelerate development in a highly regulated environment will be key to our success.
– Sarb Singh-Kaur, Director of Patient Care Software, Medtronic Neuromodulation
Development pains of a scaled team using several tools
The problems faced by this department of Medtronic were not unique – in fact, most large companies that develop products with embedded software (especially those operating in safety-critical areas) are battling similar issues. Development data was not stored and managed in the cloud, rendering collaboration difficult. Since we're talking about a large team (over 250 people spread across continents), communication and working together efficiently were problematic.
While the solution would have to scale well, the root of the problem wasn't down to the number of people involved. It had to do more with the number of tools used. Several commercial or ingrown tools were in use at the same time by the various teams and team members at Medtronic's Neuromodulation department. This is not unlike the development environment of any other large company. Complex tool ecosystems are not unheard of, and their drawbacks are just as well known: ensuring data consistency across such a fragmented toolset tends to be a nightmare, and Agility is also hampered by the siloisation of data.
In such circumstances, associating work items throughout the lifecycle and across tools is difficult, greatly limiting traceability. Being able to establish links between requirements and released features, source code, tests, and any other related work items is a fundamental stipulation of medical standards. Therefore, traceability and process visibility are of key importance in this FDA-regulated industry.
To reach compliance and enhance collaboration, documents should also be stored and managed in a way that supports collaboration, ensures version control, and allows the tracking of all changes. In the case of Medtronic's Neuromodulation team, this required separate tools and lots of manual work. Sharing knowledge and how-tos in the absence of a central wiki-like knowledge base structure was also tricky, as was managing software risks throughout the lifecycle in a collaborative manner.
Another problem related to the high number of detached software tools was baselining. Being able to create baselines that span each and every tool used during the development lifecycle is a frustrating task for most medical device developers, and Medtronic was no exception.
In addition to issues of quality assurance and testing (difficulties of implementing test-driven development and requirements-based testing), the inconvenience of reporting and documentation made it difficult for Medtronic's Neuromodulation team to prepare for compliance audits.
Ultimately, they sought to resolve all the above problems and implement an Agile (and DevOps) approach, preferably using a single pane of glass software solution. Therefore, in a process led by Sarb Singh-Kaur, the Neuromodulation team set out to find an integrated software platform that would allow them to manage all processes and reduce or mitigate all the above issues using a single tool.
Alleviating pains with Application Lifecycle Management
Of course, Medtronic isn't the first company to ever face such issues. When developing complex software systems before, especially in scaled Agile environments, these issues are quite common. That's exactly the need that gave rise to the notion of Application Lifecycle Management. ALM tools help developers oversee and manage several (ideally all) stages of development using a single software solution. By design, they offer functionality across the entire lifecycle, supporting development from requirements to release. While ALM is a relatively modern concept, ALM solutions have been around for a decade or so, and have evolved a lot over the years.
Some ALM vendors started out as developers of single-point solutions (for instance, requirements management tools), and have developed further modules to add to the basic functionality of their products, or have acquired other solutions and created integrations between these preexisting modules. However, most users claim that the traceability you can achieve with this somewhat limited connection between lifecycle stages is insufficient. Therefore, the industry is increasingly accepting that "future-proof" ALM solutions can only result of organic development: rather than integrating standalone solutions, they are built from the ground up to support the entire lifecycle. The holistic integration that stems from such organic evolution means that true traceability is achieved.
Mr Singh-Kaur had had experience with almost all Application Lifecycle Management (ALM) tools available on the market before joining Medtronic. He knew that these software platforms were designed to help developers reduce or resolve the exact same problems that him and his Neuromodulation team were facing. However, using SAFe (the Scaled Agile Framework, which is the go-to solution for scaling Agile in large enterprises) in itself wouldn't do the trick in Medtronic’s case, because of the regulations and standards that apply to medical device development. Sarb Singh-Kaur had to make sure that not only would their new tool allow the team to be Agile and use DevOps in this scaled environment, it would also have to be flexible enough to help them rigorously control all processes.
The trick was to find the right balance between ALM capabilities and scalable Agility.
“My job is to move the organization from the old way of doing things to the cutting edge way, and speed of development is everything. Being Agile requires a different mindset, and I can’t imagine using any other tool to help us get there."
– Sarb Singh-Kaur, Director of Patient Care Software, Medtronic Neuromodulation
Medtronic's Neuromodulation team needed a tool that allowed them to associate a chain of work items from product requirements all the way through risk management, coding, QA, testing, and product release & maintenance (via DevOps) – all in one platform. True, organic integration was key.
Like any other medical developer, they needed to be able to show and prove traceability along the entire lifecycle, and document all processes and all changes to artifacts with minimal effort. Ensuring complete change control on all work items, and visibility of the processes that artifacts "travel" through would give auditors a level of insight necessary for compliance verification. Medtronic also needed their new tool to add FDA-compliant e-signatures to their approval processes.
We needed to capture customer needs and trace them down to product requirements, down to design, tests, and source code.
– Sarb Singh-Kaur, Director of Patient Care Software, Medtronic Neuromodulation
Being able to save comprehensive baselines was another issue that ruled out the use of ALM suites lacking organic integration. In the meantime, not only was Medtronic's team looking for a tool that sufficiently supported Agile, but they were looking for a solution that was designed with collaboration in mind. They needed a shared document repository, and a wiki-like approach to share knowledge and facilitate collaboration.
Finally, they also wanted to retain some of their previously used software tools, so the ability to integrate the new tool with preexisting solutions was a requirement.
Evaluation and decision-making
Sarb Singh-Kaur and his team started to evaluate a range of ALM products, and the team was convinced that all of them were great for certain purposes. The team just needed to find the one that fully suited their needs. Medtronic's complex set of requirements necessitated that their tool of choice is flexible and is able to support scaled Agile processes while enforcing predefined, compliant workflows.
Flexibility was key, as Mr Singh-Kaur and his team couldn't reasonably expect a single tool to come with default configurations that matched all their needs. After a thorough evaluation of a number of ALM products, they were able to identify one that fulfilled all their requirements, and more.
Medtronic’s new solution allowed the team to tailor processes and work items to their custom needs, all the while supporting the use of scaled Agile and DevOps processes, and offering or enabling integrations with other tools. Basically, they were able to define, execute and enforce the use of new, compliant processes that supported Medtronic’s transition to cutting-edge Agile processes.
Due to its organic integration, their new ALM tool was able to automatically establish links between work items, ensuring traceability. Process visibility was also greatly improved – the team is now able to visualize and provide proof of their processes by a few clicks. Since processes can now be mapped, executed and monitored conveniently, collaboration is also greatly enhanced.
Simplified traceability wasn't the only benefit that Sarb Singh-Kaur and his team saw after deploying their new ALM tool. The platform helped them a great deal in enhancing transparency, documentation, and reporting to facilitate compliance audits. As Singh-Kaur put it in his interview with TechTarget:
"It's a very painful procedure to go and pull all sorts of paper to trace [these things] manually or even look for them in multiple tools. Now we can show an auditor that this is what's been done and these are things we just didn't do before. This easy-to-show transparency is hard to beat."
– Sarb Singh-Kaur, Director of Patient Care Software, Medtronic Neuromodulation
Overall, the Medtronic Neuromodulation team listed predictability, traceability and adherence to compliant processes as the most important benefits of implementing integrated Application Lifecycle Management. It enabled them to improve collaboration, process control, project management, and software portfolio management.
Somewhat more surprisingly, the chosen platform's versatility and flexibility had some unexpected benefits and helped enhance processes outside the core scope of what Medtronic's Neuromodulation team had been looking for. Moving UX screenshots forward for review is greatly facilitated using workflows, which allow these images to be sent to the right people for comment and sign off automatically and without delay. Their ALM tool greatly supports document sharing and management, as well as collaboration in general, and Medtronic is currently investigating how further departments could take advantage of its capabilities.
Overall, investing some time and effort to identify an integrated Application Lifecycle Management solution that allowed flexibility and powerful capabilities definitely paid off for Medtronic. The Neuromodulation team was able to make the transition to Agile using new, modern processes, all the while enhancing collaboration and efficiency, and making sure compliance was not affected. The use of, and reporting on mature processes is greatly simplified using ALM, saving the team a great deal of time and effort. Application Lifecycle Management has helped the world’s leading medical technology company implement future-proof processes, cut development time, and overall facilitate the production of innovative mobile and cloud software medical systems.
About the Author
Kristof Horvath is an Application Lifecycle Management Evangelist with Intland Software, developer of codeBeamer ALM. Kristof publishes regularly on the Intland blog about topics related to Agile, IoT-enabled product development, safety-critical compliance, and more. Feel free to get in touch with him via e-mail.