IEC 62304 medical device software lifecycle development and documentation

IEC 62304: Software Development for Medical Devices

What is IEC 62304 in medical device software development?

When it comes to software development for medical devices, one standard stands above the rest: IEC 62304.

Whether you are developing embedded software, a mobile health application, or Software as a Medical Device (SaMD), IEC 62304 provides the framework for building safe, traceable, and compliant software.

IEC 62304 is the international standard that defines how medical device software development should be planned, executed, and maintained throughout the product lifecycle.

If your product includes software, understanding IEC 62304 is essential for regulatory submission but also developing medical device software in structured way can significantly reduce regulatory delays and costly rework.

Why IEC 62304 is critical for medical devices?

Unlike traditional software, failures in medical device software can directly impact patient safety. Unlike traditional software, failures in medical device software can directly impact patient safety. That is why IEC 62304 is highly valued and widely respected in the medical device industry.

IEC 62304 ensures that medical device software development processes are:

  • structured
  • traceable
  • risk-based
  • verifiable

For companies developing software for medical devices, IEC 62304 is not just a recommendation it is effectively expected by regulators.

Without it, demonstrating safety and performance becomes extremely difficult or even impossible.

IEC 62304 software lifecycle: from idea to maintenance

IEC 62304 defines a full software lifecycle model for medical devices, covering everything from early planning to post-market updates.

Software safety classification: everything starts with risk-based thinking

One of the core principles of IEC 62304 is risk-based thinking.
Unlike traditional software, failures in medical device software can directly impact patient safety. That is why every development activity from planning and architecture to verification, maintenance, and change control is driven by the potential risk the software may pose.

IEC 62304 introduces a software safety classification based on the possible harm caused by a software failure:

  • Class A – no injury possible
  • Class B – non-serious injury possible
  • Class C – serious injury or death possible

This classification is not just a label. It defines how rigorous the software lifecycle processes, documentation, verification, and traceability need to be.

In practice, the higher the patient risk, the stricter the development and evidence requirements.

Software development planning

Once the software safety classification has been established, the next step is to define how the software will be developed in a controlled and compliant way.

IEC 62304 requires a documented software development plan that describes the lifecycle processes, responsibilities, deliverables, and methods used throughout development.

This includes, for example:

  • development and release process
  • roles and responsibilities
  • software configuration management
  • verification and testing activities
  • change control and maintenance process

A clear plan creates structure from the very beginning and helps ensure that compliance is built into the development process rather than added later.

Software requirements and architecture

A clear software lifecycle always starts with requirements and architecture.

IEC 62304 expects software requirements to be documented in a way that supports traceability throughout the entire lifecycle.

This means defining:

  • what the software must do
  • how it interacts with hardware, users, and other systems
  • safety-related functions
  • alarms, limits, and decision logic
  • external interfaces and APIs

The software architecture should describe how the system is divided into software items and units, how they interact, and where risk control measures are implemented.

This is also the stage where third-party software components and SOUP (Software of Unknown Provenance) should be identified and controlled.

Risk management integration

One of the most important principles of IEC 62304 is that software development cannot be separated from risk management.

The software lifecycle must be closely integrated with ISO 14971 risk management activities.

Potential software failures need to be assessed in terms of possible harm to the patient or user, and appropriate risk control measures must be implemented.

Examples may include:

  • alarm logic
  • data integrity checks
  • fail-safe mechanisms
  • user confirmations
  • access control and cybersecurity controls

Every implemented risk control should be traceable from the identified hazard to the software requirement and finally to verification evidence.

This traceability is often one of the most critical expectations during regulatory review.

Verification and validation

A simple way to understand the difference is:

  • Verification = Did we build the software right?
  • Validation = Did we build the right software?

Verification focuses on whether the software has been implemented according to the defined requirements and specifications.

For example: The requirement states that an alarm must trigger if oxygen saturation drops below 90%.

Verification means testing that the software actually triggers the alarm at the correct threshold and under the defined conditions.

Validation, on the other hand, focuses on whether the software solves the intended user need in the real-world use environment.

Using the same example: Does the alarm help users identify clinically relevant desaturation events in practice?

In simple terms, verification checks technical correctness, while validation checks clinical and user relevance.

Both are essential in medical device software development.

How to implement that in IEC 62304

IEC 62304 places strong emphasis on demonstrating that the software performs as intended.

This means verifying that requirements have been correctly implemented and that risk controls are effective.

Typical verification activities include:

  • unit testing
  • integration testing
  • system testing
  • regression testing
  • cybersecurity verification
  • release verification

Typical validation activities include: 

  • intended use confirmation
  • clinical workflow validation
  • simulated use testing
  • usability validation
  • human factors / user acceptance testing
  • clinical performance validation, where applicable

The level of documentation and evidence increases with the software safety class.

For higher-risk software, regulators typically expect more rigorous and well-documented verification evidence.

Maintenance and post-market updates

The software lifecycle does not end at release.

IEC 62304 also covers maintenance activities, including software updates, bug fixes, and cybersecurity patches after market release.

Any post-market change should follow a controlled change management process, including:

  • impact assessment
  • risk assessment update
  • verification of the change
  • release approval
  • documentation updates

This is especially important for connected and AI-enabled medical devices where software changes may occur frequently.

A controlled maintenance process helps ensure regulatory expectations.

Real-world worst-case example: Therac-25

One of the most widely known examples of why medical device software development standards matter is the Therac-25 case.

Therac-25 was a radiation therapy machine involved in multiple fatal overdoses in the 1980s.

The incidents were linked to software faults, inadequate hazard controls, and insufficient system-level safety mechanisms.

This case remains one of the clearest real-world examples of why structured software lifecycle processes, rigorous verification, and risk-based design are essential in safety-critical medical devices.

What went wrong in the Therac-25 case?

Several critical failures would today be directly addressed through IEC 62304 software development processes.

Requirements

Safety-critical behavior and software constraints were not sufficiently explicit, testable, or systematically documented.

Architecture

Critical safety assumptions were moved from hardware safeguards into software logic without adequate defensive design or segregation.

Verification and validation

Rare but hazardous state combinations and operator interaction scenarios were not adequately tested.

Maintenance and problem resolution

Early field incident reports were initially underestimated, and the software-related root cause was not identified or escalated quickly enough.

Therac-25 through an IEC 62304 lens

If analyzed through IEC 62304, the case highlights why the standard requires disciplined processes for:

  • software requirements definition
  • architecture and interface design
  • verification and validation
  • problem resolution
  • maintenance and change control

Today, these lifecycle controls are a fundamental part of medical device software development.

Final thoughts: start IEC 62304 early

The biggest challenge arises when you start IEC 62304 too late.

This leads to:

  • missing documentation
  • unclear requirements
  • gaps in verification
  • regulatory delays
  • possible wrong SW safety classification

In other words: regulatory debt

The best approach is to integrate IEC 62304 into your software development process from day one

How Nometech can help

At Nometech, we can train your teams on IEC 62304 requirements and their practical implementation.

Our support can include:

  • IEC 62304 training for development, quality, and regulatory teams
  • creation and review of software lifecycle documentation
  • requirements, architecture, and traceability review
  • implementation of IEC 62304 processes into the quality management system
  • integration into day-to-day development workflows and ways of working
  • audit and submission readiness support

Our goal is not just compliance on paper, but to help teams build practical, risk-based software development processes that work in real life.

Contact Us

Whether you need team training, documentation support, process implementation, or an independent review of your current software lifecycle practices, we help ensure that 62304 becomes part of your quality system and daily operations not just a submission-time exercise.
Feel free to contact us to discuss how we can support your team.