MAN-05 Milestones

Manual for milestone management as part of the release process using Ketryx Lifecycle Management

1. Introduction

1.1. Purpose

The purpose of this manual is to define the activities that will be performed as part of the development of a product (the Product) managed with Ketryx Lifecycle Management using milestones.

Milestones are significant points in the software development process that mark the completion of specific deliverables, activities, or achievements. They provide essential checkpoints for assessing progress, managing risks, and ensuring compliance with quality standards. Milestones typically involve key decision points and act as important reference points throughout the software development lifecycle.

Milestones act as measurable indicators of progress throughout the software development process. They enable to track and evaluate the completion of critical tasks, ensuring that the project stays on schedule. They also serve as opportunities to assess and manage risks associated with the software development process. At each milestone, risks can be evaluated, and appropriate mitigation strategies can be devised to ensure the overall success of the project.

Milestones provide natural breakpoints to verify compliance with relevant regulations, standards, and guidelines. This helps ensure that the software development process adheres to the required quality, safety, and performance criteria.


One example could be a milestone for the Requirement configuration item type. It marks the completion of the requirements gathering and analysis phase. It confirms that the software requirements have been adequately captured, documented, and validated.

Another example could be combining multiple milestones in sequence, e.g. for validation testing. One milestone requiring all Test Cases to be in a controlled state, and another requiring all Test Executions to be in a controlled state. These indicate the completion of testing activities, including unit testing, integration testing, system testing, and validation testing. It verifies that the software functions as intended and meets the defined quality and safety criteria.

Yet another example could be a project milestone, e.g. "Heart rate probing system 2.0". The approval of this milestone is contingent upon the successful approval and release of the 2.0 version of the "Heart Rate Probing System". This strict dependency on the approval and release of the 2.0 version ensures that all necessary enhancements, modifications, and quality assurance measures have been implemented to meet the project's standards and objectives.

1.2. Scope

This document defines tasks, activities, procedures, resources, responsibilities, and deliverables related to software development using milestones of the Product.

1.3. Field of application

This plan was developed to support the creation, release, and maintenance of the Product.

1.4. Compliance

This plan was developed in compliance with ISO 13485, IEC 62304, ISO 14971, and 21 CFR Part 820.

1.5. Tools

Tools used to develop and release a product with Ketryx Lifecycle Management are provided in MAN-01 Ketryx Lifecycle Management. The release process is described in detail in MAN-02 Software Release Process.

2. Terms and definitions

For the purposes of this document, the terms and definitions given in U.S. QSR (21 CFR Part 820), ISO 13485, and IEC 62304:2006-AMD1 apply. Where contradictory, IEC 62304 and ISO 13485 prevail.

3. Process activities

To develop a new version of the Product using milestones, the following activities are performed.

3.1. Activity 1: Defining milestones

To create a new version or select an existing unreleased version where milestones need to be defined, proceed as follows:

  1. On the Versions and Releases page, locate the option to create a new version.

  2. Click on the Create Version button to initiate the creation process.

  3. Alternatively, if there are existing unreleased versions available, click on the desired version to select it.

To configure milestones for a project, follow these instructions:

  1. Ensure that you have the necessary permissions to manage the project. Only authorized users will have access to the milestone management functionality.

  2. In the sidebar menu, find and select the Milestones option.

  3. By navigating to the Milestones section, you will be presented with the milestone configuration screen.

Please note that access to the Milestones option in the sidebar menu is granted to users with the appropriate project management privileges. If you do not see the Milestones option, kindly contact your administrator to obtain the necessary permissions.

There are two types of milestones: configuration item and project milestones. Regardless of type, they have blocking mode option to prevent approval of items in subsequent milestones until the blocking milestone has been approved. Milestones lacking a blocking mode serve the purpose of tracking and organizing efforts. However, it is adviced to adhere to the sequential approval of milestones, irrespective of whether the preceding milestone is designated as a blocking milestone (this will not affect the approval of non-blocking milestones).

Configuration item (Requirement, Software Item Specification, etc) milestones require all configuration items of a certain type to reach a controlled state before work on the next milestone can start. For Requirements and Software Item Specification configuration items sub-types can be selected to further narrow down the specific types of items that need to be approved before being able to approve the milestone. By default, when not selecting a sub-type, all sub-types are required to be approved.

Project milestones require a specific project's version to reach a released-state before work on the next milestone can start.

For both types of milestones, the required document types can be configured that need to be generated and approved before a milestone can be approved. By default, no documents need to be generated or put into a controlled state.

A milestone document is a great way to gather evidence (e.g. requirements) at the point of a milestone approval.

Note that only projects that have a version can be selected as a project milestone. If a project does not have a version, it will not be available for selection as a project milestone. Versions can be created on the Releases page.

3.1.1. Example: Defining a milestone for the Requirement configuration item type

  1. Click on the Add Configuration Item milestone button to initiate the milestone creation process

  2. Enter a meaningful name for the milestone, such as "System Requirements Specification Generation"

  3. Select the Requirement item type from the available item type options (selected by default)

  4. Within the milestone configuration, locate the sub-type options for Requirement items

  5. Enable the following sub-types by checking the corresponding checkboxes:

    1. Regulatory

    2. System

    3. User Interface Requirement

    4. Security/Privacy

    5. Functional

  6. To specify the requirement for generating the System Requirements Specification document, click on the Document types button and enabling the checkbox for said document

  7. Find the blocking mode option for the milestone

  8. Enable the blocking mode to ensure that no further item approvals are allowed until this milestone is approved (enabled by default)

  9. Review the milestone configuration settings to ensure accuracy and completeness

  10. Click the Save changes button on the right to save the milestone configuration, supplying an optional note

The result will look like this:

If there are additional milestones to configure for the repeat the steps above as necessary. Customize the milestone names, configuration options, and document generation requirements based on your specific project needs.

3.2. Activity 2: Tracking milestone progress

Once milestones have been successfully configured, it is essential to monitor their progress to ensure product milestones are met on time. To facilitate this, Ketryx provides a dedicated detail page for each milestone, where progress can be tracked effectively. On the milestone detail page, you will find comprehensive information regarding the milestone's objectives, deliverables, and associated tasks.

As milestones are created and configured, they are automatically added to the release checklist, providing a consolidated view of the project's progress towards release readiness.

Milestones can have one of the following statuses:

To see the progress of an individual milestone, follow these steps:

  1. On the Releases and versions page locate the version for which milestones have been configured

  2. Navigate to the milestone detail page by clicking on a milestone

The milestone detail page serves as a comprehensive source of information regarding each milestone within the development cycle. It provides valuable insights into the milestone's configuration, including the associated item type and any configured sub-types. Furthermore, it highlights the configuration items or project that must be placed in a controlled state prior to approving the milestone.

Milestones are accompanied by their own dedicated checklist, which outlines the necessary steps and tasks that must be completed before the milestone can be approved. This checklist operates in a similar manner to the release checklist, ensuring that all required actions have been executed and verified.

3.3. Activity 3: Milestone meeting notes

Ketryx provides the capability to create, archive, and manage meeting notes for milestones on a milestone's detail page. This allows for the documentation of discussions, decisions, and any relevant information related to milestone progress and approvals. The following guidelines explain the details and user flow for handling meeting notes effectively.

3.3.1. Creating meeting notes

As long as the milestone is not approved, users belonging to the milestone approval group possess the authority to add or archive milestone review meeting notes. These meeting notes should include essential details such as participant names, meeting date and time, and the content of the meeting discussion. It is important to note that meeting notes are optional for milestone approval. Users have the ability to create one or more meeting notes associated with the milestone. Approving a meeting note requires an electronic signature.

3.3.2. Archiving meeting notes

Users have the option to archive existing meeting notes, given that the milestone has not been approved. Archiving meeting notes can be useful, especially if a milestone has been approved but requires re-approval. Prior to initiating the re-approval process, users may choose to archive meeting notes associated with the milestone.

3.3.3. Restrictions on archiving meeting notes

If a milestone has been frozen as part of a version release, neither archiving nor adding new meeting notes is permitted. This limitation ensures the integrity of milestone-related information within the frozen release.

Below is an example of an approved meeting note with the option to add more.

3.4. Activity 4: Approving a milestone

To approve a milestone, the following rules apply:

The configuration item milestone type requires all items of a specific configuration item type to be controlled before it can be considered approvable. Specifically, the Requirement and Software Item Specification types allow for additional filters to be applied based on their respective sub-types.

The project milestone type is dependent on a specific version of a project, belonging to the same organization, being approved and released. Before considering the milestone as approvable, it is essential to ensure that the designated project version has undergone the necessary approval and release processes.

Regardless of the milestone type, the following rule applies to both configuration item and project milestones: A milestone may be configured to generate unique documents, similar to release documents. If such configuration is implemented, the milestone can only be approved when all milestone-specific documents have been generated and subsequently approved.

Once all conditions are met, a milestone can be approved on its detail page by all users that are part of an approval group that are required according to the project's milestone approval rules.

3.5. Activity 5: Revoking / Re-approving a milestone

Once a milestone has obtained approval, it is important to understand that this approval status can be revoked under specific circumstances. The milestone's approval status may be invalidated if any of the following conditions occur:

  1. Loss of controlled state: If any item associated with the milestone has been changed, even if put back into the controlled state later on, the approval status of the milestone will be marked as outdated. This emphasizes the significance of maintaining proper control over all relevant items to ensure the integrity of the milestone's approved status.

  2. Loss of approved preceding milestone: If a preceding milestone, which contributed to the approval of the current milestone, loses its approved state, the subsequent milestone will be marked as re-approvable. This interconnectedness underscores the importance of maintaining the approved status of preceding milestones to ensure the validity of subsequent approvals.

  3. Manual invalidation of approvals: In addition to the conditions mentioned above, milestone approvals can also be manually invalidated by authorized personnel. In certain situations where significant changes or unforeseen circumstances arise, it may be necessary to manually invalidate the approval status of a milestone. This discretionary action ensures that milestones are re-evaluated and reapproved in light of the new information or circumstances, maintaining the accuracy and appropriateness of the project's milestone approvals. Manual invalidation of approvals provides an additional layer of control and flexibility in managing milestone statuses, allowing for adjustments and reassessments as needed throughout the project lifecycle.

In either of these cases, the milestone that has had its approval status revoked will require re-approval. This process ensures that any changes or inconsistencies in the controlled state of items or the approval status of preceding milestones are promptly addressed and properly approved once again.

3.6 Activity 6: Managing milestone configurations

By utilizing the milestone configuration page effectively, users can add, remove, and rearrange milestones in accordance with their significance and order. Additionally, the option to load previous milestone configurations from other projects within the same organization enhances efficiency and consistency in milestone management.

3.6.1. Adding milestones

To add milestones to the project, follow these steps:

  1. On the milestone configuration page, click on the Add Project milestone or Add Configuration Item milestone button

  2. Provide the necessary details and specifications for the new milestone, such as the milestone name, description, and associated criteria

  3. Add an optional change note and save the changes to add the milestone to the configuration

3.6.2. Removing milestones

To remove a milestone from the configuration, follow these steps:

  1. On the milestone configuration page, locate the specific milestone you wish to remove

  2. Click on the trash-can icon for removing milestones

  3. Confirm the removal action when prompted to ensure the milestone is removed from the configuration

3.6.3. Changing milestone order

To change the position or order of milestones, follow these steps:

  1. On the milestone configuration page, locate the specific milestones you wish to reposition

  2. Click on the arrow icons next to each milestone to move the milestones up or down in the desired order

  3. Save the changes to finalize the new milestone order

By using the arrow icons, users can easily modify the order of milestones according to their desired sequence. This enables precise control over the arrangement of milestones to accurately reflect the project's progression. Remember to save the changes to ensure the updated milestone order is successfully applied.

3.6.4. Loading milestone configurations

To load milestone configurations from other projects within the same organization, follow these steps:

  1. On the milestone configuration page, locate the option for loading previous configurations in the right side bar

  2. Click on Load milestones configuration

  3. Choose the desired project from which you wish to import the milestone configurations

  4. Confirm the action to load the selected milestone configurations into the current version

  5. Make sure to save and confirm the newly loaded milestones as the current configuration

3.6.5. Browsing the milestone configuration history

On the milestone configuration page, a convenient section is provided in the right sidebar where all historic changes made to the milestone configurations are listed. This section allows the timeline of modifications on the milestone settings to be tracked and reviewed. Each line in the history list includes an optional change note, the exact date and time when a change was made.

To easily identify the currently active version of the milestone configurations, the system prominently displays "(active)" next to the relevant entry. This indicator ensures that the most up-to-date milestone configuration can be distinguished from previous versions.

If there are additional notes associated with a specific milestone configuration change, an information icon is displayed alongside the corresponding line in the history list.

Clicking on a row provides access to the associated milestone configuration change, offering further insights and context regarding the modification.

By utilizing the historic changes section, valuable visibility into the evolution of milestone configurations over time is provided. Transparency and traceability are enhanced, enabling the accurate recording of milestone adjustments for future reference and audit purposes.

Example of a milestone configuration change history:

Last updated

© 2024 Ketryx Corporation