Medical device software teams face significant challenges in managing software versions across their development lifecycle. The complexity stems from strict regulatory requirements that demand meticulous tracking of software changes for Design History Files (DHF), Device History Records (DHR), and Device Master Records (DMR). Teams often struggle to maintain clear traceability between software versions, design controls, and validation documentation.
Traditional version control systems, while effective for code management, often fall short in providing the comprehensive documentation and relationships needed for regulatory compliance. This creates a gap between development activities and quality system requirements, leading to manual reconciliation efforts and potential compliance risks. We’re aiming to streamline this with Software Parts (and Versions).
Software Parts (and Versions) can then be used to complete Release-related documentation.
See Release Management for more information of how the Software Parts and Versions are used to manage software Releases.
Software Part
A Software Part corresponds to a major component of your software and is a way to modularize documentation across your SW architecture (e.g. Mobile App, Backend Service, ML Service, Infra, etc).
SW Parts may map to repositories, or multiple SW Parts may be in the same repository.
Software Part Versions are iterations of a Software Part, similar to a changelog, and can be linked to one or more Pull Requests/Commits in your Version Control System (VCS)
SW Part Versions may be associated with a Release.
Setup
In Ultralight, navigate to “Software Parts”, and click on “Create New” to create your Software Parts
After you create your Software Part, you will be prompted to set up your Software Part Version form. The goal with configuring your Software Part Version form is for you to specify the fields that every software part should have. For example, potential fields could be a “release tag”, “change impact” etc
You can now either create Software Part Versions manually, or you can automate the creation of the Software Part Versions via automation