Software Development - RAPS
Software Development - RAPS
Discover
Software development more of
what
Jaap Noordmans, BSc
matters to
RF Quarterly | 01 April 2022 | Citation | PDF you
This article applies to Biotechnology
software development Global
and validation and
discusses the security Medical Devices
RAC
(Devices)
Standards and guidance
Reference
Manufacturers should take standards and regulatory guidance into Package:
consideration when implementing software development processes. Basic
This section introduces the most important standards and guidance
See All Related
documents.
Books »
The internationally accepted framework for lifecycle processes for
medical device software is IEC 62304.1,2 This standard defines the
Learning
processes, activities, and tasks used in the development and »
maintenance of medical device software. This article will detail the parts
of IEC 62304 that apply to software development.
design validation of the finished device, i.e., the process for confirming Effective
software specifications conform to user needs and intended uses. Regulatory
Design validation is covered by IEC 60601-13,4 for the software part of Communication
medical electrical equipment, or IEC 82304-15 for software-only [3.0 RAC]
products.
Sponsored
IEC 62304 defines processes, not development techniques. The Webcast: A
sequence of development process steps described by IEC 62304 Regulatory
appears to suggest a waterfall model be used, i.e., a once-through and
strategy, often represented in the classical V-model for sequential Strategic
development. Nevertheless, the standard does not prescribe any Framework
specific software development methodology, approach, principle, or for
practice. The standard for quality management systems, ISO 13485,6,7 Facilitating
and the US Food and Drug Administration (FDA) guidance on design Pediatric
controls8 appears to suggest the design process should be completed in Drug
the following sequence: planning, design input, design output, design Development
review, verification, validation, and transfer. Still, these documents are (On-
not intended to prescribe a specific chronological order for these Demand)
activities. See All Related
Learning »
Historically, (software) development departments felt burdened by the
waterfall approach in writing plans and requirements specifications, Events »
documented to the last comma and point, before starting with the real
work: coding. In contrast to the waterfall approach, with an agile or RAPS
iterative development approach, system development and delivery are Workshop:
performed in small increments. Finding
Your Key
Agile development provides useful functions much earlier in the project, Messages -
generates early feedback from strategic customers and users, allows How to
developers to improve the functionality already on the market, and Unlock
informs corrections to the original specification. Agile’s principal Effective
purpose is to overcome the problem of discovering, at the end of a Regulatory
(large) development project, that the developed system does not meet Communications
the customers’ real (and often, new) requirements. New systems will
inevitably not only require, but also induce, changes to working Sponsored
practices unforeseen at the start of a project. That is why specifications Webcast:
are unlikely to be either complete or correct at the start of a project. Risk
Adhering to a rigid waterfall model can result in disaster early in the Assessment
project. Changes to requirements will likely be needed throughout the in the Life
project; regardless, it is unlikely the finished system will be able to meet Sciences
its users’ needs. If a system is expected to be large and lengthy, and its
See All Related
requirements cannot be fully defined with confidence at the start, big- Events »
bang delivery using the once-through waterfall model may not be such a
good idea. News »
Experts:
Agile development practices allow anomalies to be discovered early in
FDA’s
the development stage, so the specification and development of later
Product
increments can be refined through user feedback. Manufacturers can
use the agile approach even for the development of nonsoftware Jurisdiction
products. Obviously, agile versus waterfall has a serious impact on the Officers are
implementation of software development processes in a quality key
management system; this article discusses both methodologies. resources
in
The Technical Information Report (TIR) AAMI TIR459 for agile software developing
combo
development is widely used and accepted and is supported by FDA.10
products
AAMI TIR45 provides recommendations for complying with
international standards and FDA guidance documents when using agile Latin
practices to develop medical device software. This article uses some of America
definitions in AAMI TIR45 and discusses some of its development Roundup:
concepts. Argentina’s
president
Software user interface design is clearly part of software development. names new
User interface specification and formative and summative evaluations ANMAT
are an essential element of usability engineering. IEC 6236611 defines director
processes related to safety for the usability engineering of a medical
device. This article discusses the interaction between software See All Related
development processes and usability engineering and how the usability News »
engineering processes can fit into the waterfall or agile methodology.
IEC 62304 does not cover the medical device’s validation and final
release; however, validation of user needs is often part of software
development.12 Furthermore, IEC 60601-113 and IEC 82304-1 both
require validation for programmable electrical medical systems
(software). ISO 1348514 and FDA guidance on design controls also
require design and development validation.15 IEC 82304-1, although
not harmonized in the EU, but recognized in the US,16 can be considered
the state-of-the-art standard for software validation. It is important to
note that the scope of IEC 82304-1 applies to software-only products.
This article provides details on the software validation requirements of
IEC 82304-1.
Several definitions are used for medical device software. In the EU,
MDCG 2019-11,30 defines two types of software:
Software unit. Software item that is not subdivided into other items.
[IEC 62304 definition 3.28]
Figure1.Softwaredevelopmentaccordingtothewaterfallapproach
User IEC62304developmentprocesses
Needs
DevelopmentPlanning
Requirements
Analysis
Architecture
DetailedDesign
User needs are at the top of the waterfall, as also indicated in the
section below on stage-gated development. With an agile Verification
strategy, this UnitTest
Therefore, this article does not consider the evolutionary agile approach
and focuses instead on incremental agile development in (predefined)
staged deliveries as indicated above.
User needs
ISO 13485, FDA’s design control guidance, and IEC 62304 do not
identify the specifications of user needs (also called use specifications or
customer needs) as a specific stage in the design and development
The manufacturer shall document and keep up to date all user needs,
including those that address the intended use.
Agile’s high level of flexibility and ability to work with multiple versions
can impose a severe burden on design controls. Maintaining updated,
reviewed, approved, and signed design documents aligned with each
version can easily become a highly inefficient process, particularly with
medical device software, where requirements related to safety and
performance are critical.
Requirements management
IEC 62304 defines software requirements analysis as a process step34
where the software requirements are derived from the system
requirement. System requirements are what is needed to address the
intended use and user needs. For software-only devices, the system and
software requirements are identical. IEC 62304 provides the following
enumeration on requirements:
Requirements are the starting point for software design and are the
basis for performing the subsequent design tasks. Therefore,
development of complete, nonambiguous, and nonconflicting
requirements is of paramount importance in software development.
Requirements are best managed by a cross-functional team. It is best
practice to define the responsible persons and roles for each
requirement. Requirements can be attributed by owners (marketing,
lead developer, product specialist, etc.) and roles (implement, test,
approve)
Architectural design
IEC 62304 defines software architectural design as a process step.37
During this process activity, software requirements are transformed
into an architecture. The architecture describes the software’s structure
and identifies the software items. The software architecture document
describes the interfaces (the relations in the architectural diagram)
between the software items and the hardware and software
components external to the medical device software. The architecture
can serve as a tool to scope and set the boundaries of the medical device
software when the software is integrated with a larger set of software
or hardware components, either medical or nonmedical.
Configuration management
IEC 62304 defines a software configuration management process,38
although the standard is rather vague on defining the configuration
items. The keyword associated with configuration management is
traceability. Several sources require traceability, including EU MDR,39
ISO 13485,40 and IEC 62304.41 Traceability is required between system
requirements (including risk control measures implemented in
software), software requirements, and software system testing. This
regulatory objective is clearly related to safety and performance. In case
of any specific adverse event, serious adverse event, or device
deficiency42 due to a software failure or anomaly, the specific software
version must be made operational for tracing the issue that caused the
event or deficiency. The following is a list of configuration items that
could be used:
Design reviews
In Figure 1, the software development process steps in IEC 62304,
according to the waterfall approach, are shown. Not indicated in the
figure are the required design reviews. The following list indicates the
design reviews required by the standard:
The software safety class inheritance runs from the software items at
the bottom of the tree to the software system at the top (Figure 2). The
manufacturer must specify the segregation and provide test evidence to
prove the segregation is effective. The higher the software safety class,
the more process rigor the manufacturer must follow during product
development. Manufacturers that assign a class to each segregated
software item may reduce the administrative burden of IEC 62304
compliance. That is because software items with software safety Class A
must fulfill only a limited set of requirements to comply with the
standard. In contrast, software items with software safety Class C must
comply with the entire standard.
Figure2.Softwaresystemdecompositionintosoftwareitems
SoftwareSystem
SoftwareSafetyClassC
SoftwareItemI Software
SoftwareSafetyClassC Software
ISO 14971 considers inherently safe design and manufacturing to be
the highest priority risk control option. Inherently safe design requires
an architecture that serves safe operation. Only after finalizing the
SoftwareItemIlI
software architecture and determining how the software items SoftwareItemIV
relate to
SoftwareSafetyClassC SoftwareSafetyClassB
safety can software development continue. Also, this is the phase in
which software items can be classified definitively according to their
relation to safety.
capabilities
Attack surface reduction of software item
Reduce accessibility of interfaces of software items
Implement trusted boundaries in software items
IEC 62304, like ISO 13485 and FDA guidance on design controls,
defines a development process that is presented in a linear fashion, from
planning to release in a consecutive sequence of process steps. In Figure
1, the software development lifecycle in IEC 62304 is presented as a
waterfall model. Figure 3 presents a similar model for the agile
incremental software development lifecycle, taking into account the risk
management discussion provided earlier, using predefined
requirements and architecture, and where the software is developed in
predefined increments.
Figure3.IEC62304developmentprocessesforincrementalexecution
TEC62304developmentprocesses
DevelopmentPlanning
Requirements
Analysis
Architecture
DetailedDesign UnitTest
Increment1
Requirements
Verification
DetailedDesign UnitTest
Increment2
Requirements
Verification
The manufacturer must assure the software is in compliance with IEC
62304 and comply with a quality management system, typically ISO DetailedDesign UnitTest
Incrementn
13485; however, the manufacturer is not bound to follow the exact
Requirements
sequence of process steps presented in those documents. Verification
Usability engineering
Medical device software with a user interface is subject to the
requirements of IEC 62366-1 on the application of usability engineering
for medical devices. Like IEC 63204, this is a process standard, i.e., it
defines the process, activities, and tasks required for usability
engineering. IEC 62366-1 includes requirements for the analysis,
specification, development, and evaluation of the usability of medical
devices; more specifically, it requires the following activities:
The last three usability engineering process steps of the nine listed
above are briefly explained below to show how these process steps can
be integrated in the incremental software development lifecycle, as
During each increment, the software detailed design and the user
interface design are integrated. As in Figure 5, the formative evaluations
are performed immediately after the finishing of an incremental release.
Developers may find it useful to focus their efforts on the formative
evaluation early on. The manufacturer can select the evaluation
methods relative to user interface complexity and focus on the user
interface part being implemented or refined in the increment. The
manufacturer can update the training materials during each increment.
The manufacturer can develop and refine training material for formative
Software validation
Validation is a regulatory requirement. See EU MDR, GSPR 17.2, and
FDA guidance.58 Validation is performed on the finished device.
Software can have many forms, for example, a software-only device, as
part of a larger software system, or embedded as part of a hardware
device. In any case, a manufacturer must find objective evidence that
the software specifications conform to user needs and intended uses.
Software validation is not included in the development lifecycle of IEC
62304. Still, it is required through regulations and several standards and
guidance. More importantly, ISO 13485 requires design validation to be
part of the design and development process. A manufacturer must
complete validation before the release and use of the product by the
customer. Several documents clarify how to perform design validation,
including the following:
Validation execution:
Validation users:
software to facilitate such error or fault injections. The test results are
recorded in the test report.
See IEC TR 62366-261 for guidance on usability test protocols and data
analysis. IEC TR 62366-2, Annex K provides valuable information for
determining usability test sample size. The particular benefit of
incremental development is worth mentioning here. An iterative
development method that includes formative evaluations can
effectively increase cumulative sample size and confidence in detecting
usability defects.
Also, design validation may provide evidence that specific safety and
performance requirements are met and that the medical device meets
its intended use and clinical benefit. As such, design validation is an
important component of clinical evaluation.
Postmarket activities
The software development lifecycle, according to IEC 62304, the
usability engineering process, according to IEC 62366-1, and the
security activities in the product lifecycle, according to IEC 81001-5-1,
do not define processes or deliverables for postproduction or
postmarket activities.
Conclusion
Defining software requirements is the single most important activity in
software development. The software architecture and the risk
management activities and deliverables depend directly on the software
requirements.
claims, and clinical data. The agile development method does not
provide a holistic approach to support safety and performance-related
characteristics. Agile is a programmer’s method requiring user needs,
software requirements, and the software architecture to be (largely)
static.
Abbreviations
GSPR, general safety and performance requirements; IEC, International
Electrotechnical Commission; ISO, International Organization for
Standardization; IMDRF, International Medical Device Regulators
Forum; NB, notified body; OTS, off-the-shelf; MDCG, Medical Device
Coordination Group; MDSW, medical device software; SaMD, software
as a medical device; TIR, technical information report; TR, technical
report.
References
All references accessed and verified on 15 March 2022.
https://www.iso.org/standard/38421.html.
2. IEC 62304:2006/AMD 1:2015 Medical device software: Software
lifecycle processes—Amendment 1. Edition 1.1. Published May
2015. Updated November 2017. ISO website.
https://www.iso.org/standard/64686.html.
3. IEC 60601-1:2005/AMD 1:2012 Medical electrical equipment
Part 1: General requirements for basic safety and essential
performance. Edition 3.1. IEC website.
https://webstore.iec.ch/publication/2605
4. IEC 60601-1:2005/AMD 1:2012/AMD 2:2020 Medical electrical
equipment Part 1: General requirements for basic safety and
essential performance. Edition 3.2. IEC website.
https://webstore.iec.ch/publication/67497
5. IEC 82304-1:2016 Health Software Part 1: General requirements
for product safety. Edition 1.0. ISO website.
https://www.iso.org/standard/59543.html.
6. ISO 13485:2016 Medical devices Quality management systems:
Requirements for regulatory purposes. Third edition. ISO website.
https://www.iso.org/standard/59752.html.
7. Ibid, see clause 7.3 design and development.
8. US Food and Drug Administration (FDA) Design Control Guidance
for Medical Device Manufacturers. March 1997. Final. FDA
website. https://www.fda.gov/regulatory-information/search-fda-
guidance-documents/design-control-guidance-medical-device-
manufacturers.
9. Technical Information Report. AAMI TIR45 Guidance on the use of
AGILE practices in the development of medical device software.
August 2012. Association for the Advancement of Medical
Instrumentation (AAMI) website.
https://my.aami.org/aamiresources/previewfiles/TIR45_1208_PREVIEW.PDF.
10. Ibid, FDA recognition number: 13-36.
11. IEC 62366-1:2015/AMD 1:2020 Medical devices – Part 1:
Application of usability engineering to medical devices—
Amendment 1. ISO website.
https://www.iso.org/standard/73007.html.
12. FDA General Principles of Software Validation. Final Guidance for
Industry and FDA Staff. January 2002. Final. FDA website.
https://www.fda.gov/regulatory-information/search-fda-
guidance-documents/general-principles-software-validation.
13. Op cit 3 and 4; see clause 14.11.
14. Op cit 6, clause 7.3.7.