Software Quality Management: Building Reliable and Safe Medical Software
Software quality management plays a vital role in ensuring that medical device software meets user needs, functions reliably, and maintains patient safety.
Poor-quality software can arise from several causes — for example:
- The software meets user requirements but is not cost-effective.
- The software is reasonably priced but does not meet user needs.
- The software is affordable and functional but unreliable and prone to frequent failures.
These examples highlight that focusing on only one or two aspects of quality — such as cost or functionality — without considering all dimensions leads to imbalance.
To achieve truly high-quality software, it is essential to address all three quality perspectives:
- User’s perspective
- Developer’s perspective
- Product’s perspective — the software itself
[
Figure 4
The Quality Triangle
The relationship between these three viewpoints can be represented as the Quality Triangle.
Each corner of the triangle corresponds to one perspective — the User’s View, Manufacturer’s View, and Product’s View — while the sides represent the gaps or differences between them.
- When the three perspectives are misaligned, the triangle becomes large, indicating wide gaps in understanding or expectations.
- When they are aligned, the triangle shrinks, reflecting better balance and shared understanding.
- Ideally, when all three converge perfectly, the triangle collapses into a single point, symbolizing full harmony between user needs, product design, and developer intent.
The ultimate goal of software quality management is to minimize the size of this triangle — aligning perspectives to deliver software that precisely meets user expectations.
Software Verification and Validation (V&V)
Software Verification and Validation (V&V) are essential processes for confirming that a software system performs according to its intended requirements and design.
Their main objective is to identify and correct defects, errors, and failures in the system.
V&V activities are fundamental to Quality Assurance (QA) — providing measurable improvement — and part of Quality Control (QC), ensuring testing outcomes meet defined standards.
Software Validation
Validation ensures that the final software product meets user requirements and performs as expected in real-world use.
It represents the external quality perspective, asking the question:
“Have we built the right product?”
When achieved, this results in a Good Product.
Software Verification
Verification ensures that the software correctly implements the design specifications and that each component functions as intended.
It represents the internal quality perspective, asking:
“Have we built the product right?”
This results in a Good Process.
Together, Verification and Validation build confidence that both the process and product achieve the highest quality standards.
Common V&V Techniques
The two most widely used V&V techniques are Review and Testing:
- Review techniques are preventive, aiming to identify potential issues before the software is executed.
- Testing techniques are corrective, used to detect and fix errors after code execution.
Both are essential for maintaining effective quality assurance, as shown in Figure 4 (right).
Software Development Life Cycle – The V-Model
Among the various models describing the Software Development Life Cycle (SDLC), the V-Model is particularly favored in medical software engineering.
It visually connects development phases (left side of the “V”) with testing activities (right side of the “V”), ensuring validation at every stage.
Key Stages in the V-Model
- Requirement Specification – Defines functionality, components, and constraints, covering both functional (what the system does) and non-functional (e.g., performance, reliability) qualities.
- System and Architecture Design – Defines overall structure, interfaces, and data flow, including decision logic and execution sequences.
- Implementation (Source Code Development) – Software modules are coded and unit tested to verify each function.
- Integration Testing – Ensures that all modules and subsystems interact correctly according to the system design.
- System Testing – Confirms that the entire system meets specified requirements.
- User Acceptance Testing (UAT) – Conducted with end-users to confirm real-world functionality and user satisfaction.
At any stage, if errors are found, they must be corrected and retested before advancing to the next phase.

Figure 5 Software Development Life Cycle
(Ref : ISTQB_FL_Rich Picture.pdf)
Software Testing Techniques
Software testing is generally divided into two major categories:
1. White-Box (Glass-Box or Structural) Testing
- Focuses on the internal structure of the program.
- Test cases are based on the program’s logic and control statements (e.g., if, while, case, until).
2. Black-Box (Behavioral) Testing
- Focuses on external system behavior.
- Test cases are derived from input and expected output without considering the internal code.
Both techniques are complementary:
White-box testing ensures correctness of the code structure, while black-box testing validates expected system behavior.
Conclusion and Next Topic
Effective software quality management — through Verification, Validation, and structured development under the V-Model — provides the foundation for developing safe, reliable, and compliant medical device software.
These practices ensure that systems meet both regulatory and user expectations.
In the next article, we’ll explore the key international standards governing medical device software development:
IEC 60601-1 Clause 14 and IEC 62304 — the cornerstones of software compliance in the medical device industry.
See you in Part 3!
Author : Panita Meananeatra
ภาพปก : https://bit.ly/3u52JdL
