Standard Change Management Procedure (ENG-PROC-003)

1. Purpose

The purpose of this procedure is to detail the end-to-end process for a standard, non-emergency change to a production application or its configuration, ensuring that all changes are properly developed, tested, reviewed, and approved.

2. Scope

This procedure applies to all standard, non-emergency changes to production applications, infrastructure, and related system configurations.

3. Overview

This procedure outlines the standard workflow for managing changes. It begins with a developer creating a ticket and a feature branch, followed by code development, a peer and security review via a pull request, QA testing, and final approval from an Engineering Lead before being merged for deployment.

4. Procedure

Step Who What
1 Developer Creates an issue ticket in the tracking system to document the planned change and creates a new feature branch in the source code repository.
2 Developer Submits a pull request when development is complete, filling out the required pull request template, including a security checklist.
3 Peer Reviewer A qualified peer reviews the code for correctness, quality, and adherence to coding standards, and provides approval on the pull request.
4 Security Team Reviews the pull request for any security implications. Approval is required for changes impacting security controls or sensitive data.
5 QA Team Tests the changes in a dedicated staging environment to verify functionality and ensure no regressions are introduced. Provides sign-off.
6 Engineering Lead Provides the final review and approval to merge the pull request into the main branch, authorizing its deployment to production.

5. Standards Compliance

Procedure Step(s) Standard/Framework Control Reference
1-6 SOC 2 CC8.1
1-6 HIPAA Security Rule 45 CFR § 164.312(b)
1-6 HIPAA Security Rule 45 CFR § 164.312(c)(1)

6. Artifact(s)

A merged GitHub pull request containing all required reviews, approvals, test results, and a link to the original issue ticket.

7. Definitions

Pull Request: A mechanism for a developer to notify team members that they have completed a feature. It allows others to review, discuss, and approve the code before it is merged into the main codebase.

Feature Branch: A source-control branch used to develop a new feature in isolation. When the feature is complete, the branch is merged back into the main branch.

8. Responsibilities

Role Responsibility
Developer Implements the change, creates the pull request, and responds to feedback.
Peer Reviewer Conducts a thorough review of the code changes.
Security Team Assesses the security impact of the change and provides approval.
QA Team Validates the functionality and quality of the change before release.
Engineering Lead Provides final authorization for the change to be deployed to production.