AGILE PRACTICES IN THE DEVELOPMENT OF MEDICAL DEVICE SOFTWARE
We already emphasized the importance and practicability of applying scaled agility in Medtec. Our product Applied SAFe enables directly to establish practices as described in the Technical Information Report #45(TIR45) by the ‘Association of Advancement of Medical Instrumentation’ [AAMI TIR45:2012]. This paper lays out the agile manifesto, several practices (e.g. Definition of Done), its application and tailoring in relation to reference models like IEC 62304, ISO 13485, ISO 14971 and ‘FDA CFR, Title 21, Part 820.30’. Please find below some excerpts of this paper.
AGILE was developed in response to quality and efficiency concerns posed by existing methods of software development. It can bring benefits that are valuable to the medical device software world, including the following:
- Continuous focus on safety, risk management, and delivering customer value through BACKLOG prioritization, planning practices, and customer feedback
- Continuous assessment of quality through continuous integration and testing
- Continuous improvement of the software development process through RETROSPECTIVEs and team accountability
- Continuous focus on “getting to DONE” and satisfying quality management stakeholders through the regular completion of activities and deliverables
AGILE can bring value to medical device software.
There are concerns about AGILE’s compatibility with the regulated world of medical device software development. For example, the AGILE Manifesto has value statements that seem contrary to the values of a quality management system; and because AGILE initially grew from the information-technology space where human safety and risk management were not of primary importance, there is concern that AGILE lacks the proper controls for producing safety-critical software.
Fortunately, AGILE‘s fundamental nature is to be adaptable to the context in which it is applied, allowing for AGILE principles and practices to be applied in ways that are compatible with the needs of the safety-critical, medical device software world.
AGILE can be adapted to the unique needs of medical device software.
This TIR will examine AGILE‘s goals, values, principles, and practices, and provide guidance on how to apply AGILE to medical device software development. It will
- provide motivation for the use of AGILE;
- clarify misconceptions about the suitability of AGILE; and
- provide direction on the application of AGILE to meet quality system requirements.
Following the guidance provided by this TIR can help medical device software manufacturers obtain the benefits provided by AGILE and satisfy regulatory requirements and expectations.
This TIR provides recommendations for ways to effectively apply AGILE to medical device software. Here are some of the initial recommendations that are explained further later.
AGILE is driven by the value statements written in the Manifesto for AGILE Software Development. These value statements can seem to be contradictory to the values of the regulated world of medical device software, but they need not be interpreted that way. Instead, they can be aligned to enhance the effectiveness of the quality management system.
Apply the values of AGILE in a way that enhances a robust quality management system.
AGILE emphasizes the need for the team to own its practices, inspect them, adapt them, and optimize them to their context. Regulatory requirements emphasize the need to establish a robust quality management system. Within the context of an established quality management system, AGILE practices can be applied without disrupting the quality system and without raising undue concern among regulators.
Apply the practices of AGILE within the context of an established quality management system.
AGILE embraces a highly INCREMENTAL/EVOLUTIONARY lifecycle for software development. Although regulations and standards do not mandate a particular lifecycle model, if stakeholders have expectations for linear lifecycle models, an INCREMENTAL/EVOLUTIONARY lifecycle might bring challenges.
Set the correct expectations by defining the SOFTWARE DEVELOPMENT LIFECYCLE MODEL.
Demonstrate how an INCREMENTAL/EVOLUTIONARY lifecycle satisfies regulatory requirements.
As part of its INCREMENTAL/EVOLUTIONARY lifecycle, AGILE emphasizes the ability to respond quickly to change. Because rapid change can increase risks to product quality, effective change management systems are essential to align the desire to change quickly and the need to manage risk.
Establish robust change management systems to manage changes and mitigate risks associated with rapid change.