T-012-030 Software Configuration Management Plan
Object
Briefly describe the purpose of this document. Explain that it is part of the Technical File and outlines the software configuration management strategy for the product. Mention the target software or device.
Scope
Define the boundaries of the document. Indicate which product or software it applies to, and mention that it should be updated and reviewed in case of design or development changes.
Contents
List all the main sections of the document in order. This works as a table of contents. Include every major heading used throughout the plan.
Abbreviations, Terms & Definitions
List and define any abbreviations, technical terms, or specific definitions used in the document to ensure clarity and consistency for all readers.
References
Project References
List internal documents or plans that this document refers to or depends on. Include their identifiers if applicable.
Standard and Regulatory References
List all applicable standards and regulations (e.g. IEC 62304) that influence the software configuration management processes.
Conventions
Specify naming conventions, formatting rules, or any other stylistic rules used throughout the document, especially for code repositories or documentation (e.g. Git branch naming).
Organization
Explain the overall structure and tools used for configuration management (e.g., Git, Jira, Bitbucket). Mention responsibilities, workflows, and any relevant policies or protocols.
Configuration Management Principles
Detail the types of branches used (feature, release, bug), naming conventions, merge policies, and how these align with your issue tracking system. Provide concrete examples.
Configuration Management in a Development Cycle
Describe how configuration management is integrated into each development phase. Include the Pull Request (PR) workflow, continuous integration steps, reviewer roles, and merge conditions.
Releases Configuration Management
Explain how releases are tracked, tagged, and documented in the version control system. Mention Semantic Versioning rules and any required documentation or tagging practices.
Prototypes Configuration Management
If applicable, explain how prototype builds or experimental versions are managed. If not applicable, state so explicitly.
Tasks in Development and Maintenance
Describe typical tasks and responsibilities during development and maintenance. Mention how these tasks impact configuration management (e.g., updates to source code or documentation).
Archiving Versions
Detail how release candidates and final releases are archived (e.g., Google Drive folder structure). Specify what types of files are stored and where.
Link Between Source Control and Bugs/Features
Describe how Git commits, branches, and PRs are linked to issues in the tracking system (e.g., Jira). Include examples of naming and commit message formats.
Configuration Identification
Configuration Items Identification Rules
Define the rules for naming and versioning configuration items, using Semantic Versioning. Include the format for release names, pre-release tags, and build metadata.
SOUP Identification Rules
Specify the naming/versioning convention for identifying SOUPs (Software Of Unknown Provenance), including what elements should be included in the identifier.
Installer Identification Rules
Describe how the installer for the software is identified and distributed. If no installer is used, indicate that clearly.
Archives Identification Rules
Indicate how archives (if any) are named and managed. If not applicable, state that explicitly.
Documents Identification Rules
Describe the naming convention used to identify documents, including versioning scheme.