CPA Information Systems & Controls (ISC) • Information Systems

Assess Change Management And Version Control

How organizations systematically govern software changes to maintain system integrity and auditability.

A certification badge with calculator and balance symbols for CPA preparation
Inside this lesson 10 sections 5 questions 5 figures

SECTION 1

Historical Context & Motivation

The discipline of change management in information systems arose from a practical reality: as enterprises began automating financial processes in the 1960s and 1970s, uncontrolled modifications to production code frequently introduced errors that corrupted general ledgers, misstated account balances, and disrupted period-end closings. Early mainframe environments had minimal safeguards—a programmer could alter a payroll calculation, promote it to production, and leave no documented trail for auditors to follow. The resulting financial misstatements, some of which surfaced only months later, demonstrated that software changes carried risks analogous to unauthorized journal entries: both could materially affect reported financial position. Over subsequent decades, regulatory bodies, standard-setters, and the auditing profession developed frameworks that treat IT change management as a critical IT general control (ITGC) underpinning the reliability of financial reporting.

1968 • NATO Software Engineering Conference

The term "software engineering" is coined, and early configuration management concepts emerge as practitioners recognize the need for disciplined control over evolving codebases.

1987 • COBIT Framework Introduced

ISACA releases the first edition of COBIT, establishing IT governance objectives including change management controls that auditors could evaluate alongside financial statement assertions.

2002 • Sarbanes-Oxley Act (SOX)

Section 404 mandates assessment of internal controls over financial reporting, making IT change management a focal point for public-company audits and elevating version control to a regulatory requirement.

2005 • Git Version Control System

Linus Torvalds develops Git, ushering in distributed version control that provides cryptographic hashing of every commit—an inherent audit trail that modern IT auditors rely upon when testing change controls.

2013–Present • DevOps & Continuous Delivery

Automated CI/CD pipelines integrate change management into deployment workflows, requiring auditors to assess both automated and manual controls within increasingly complex environments.

The fundamental question these developments address is straightforward yet profound: How can auditors and management gain reasonable assurance that changes to information systems do not introduce errors, fraud, or unauthorized functionality that could compromise the integrity of financial data? Answering this question requires understanding both the governance processes (change management) and the technical mechanisms (version control) that organizations deploy, along with the CPA's role in assessing their design and operating effectiveness.

SECTION 2

Core Principles & Definitions

At its core, assessing change management and version control requires understanding several interlocking principles that together form the backbone of IT general controls. These principles mirror the broader internal control framework (COSO) but are applied specifically to the systems development and maintenance lifecycle. A well-designed change management process ensures that every modification to a production system is authorized, tested, approved, and documented before deployment, while version control provides the technical infrastructure that makes such governance enforceable and auditable.

1

Segregation of Duties (SoD)

The individual who develops a code change should not be the same person who promotes it to production. This separation prevents a single actor from introducing unauthorized modifications without detection—analogous to requiring dual signatures on large disbursements.
2

Authorization & Approval Gates

Every change must pass through formal approval checkpoints—typically a Change Advisory Board (CAB) or an automated approval workflow—before it enters the production environment. Documentation of who approved, when, and the business justification forms the audit evidence.
3

Testing & Validation

Changes must be tested in a non-production environment (development, QA, staging) to confirm they function as intended and do not introduce regressions. User acceptance testing (UAT) provides additional assurance that business requirements are met.
4

Version Control & Audit Trail

A version control system (e.g., Git, SVN) records every change—who made it, when, and what was altered—creating an immutable history. This trail allows auditors to trace any production code back to its approved change request and test results.
5

Rollback & Recovery

Organizations must maintain the ability to revert to a prior known-good state if a change causes production incidents. Version control enables this by preserving every historical version, ensuring business continuity and data integrity.
✦

KEY TAKEAWAY

Think of change management like a pharmaceutical company's drug formulation process. Just as a chemist cannot unilaterally alter the formula for a medication and ship it to pharmacies without independent review, quality testing, and regulatory approval, a developer cannot modify production code without passing through segregation of duties, testing, and formal sign-off. Version control is the lab notebook—it records every experiment, every modification, and every decision, so that any investigator (or auditor) can reconstruct the complete history.

SECTION 3

Visual Explanation — The Change Management Lifecycle

Change Management Lifecycle — End-to-End Process1. ChangeRequest2. ImpactAssessment3. CABApproval4. Development& Coding5. Testing(QA + UAT)6. Promotionto Production7. Post-Impl.Review8. Closure &DocumentationKey Audit Checkpoints (ITGC Testing Focus)CR documented with business justification?Risk/impact assessed before approval?Authorized approver signed off (not developer)?Test results documented and passed?SoD maintained (developer ≠ promoter)?Version control commit linked to change ticket?
The diagram above illustrates the eight-phase change management lifecycle, from initial change request through closure and documentation. The lower panel highlights the key audit checkpoints a CPA evaluates when assessing the design and operating effectiveness of change management controls.

Each phase in the lifecycle corresponds to specific control objectives that the CPA must evaluate. The Change Request (Phase 1) establishes the formal record that a modification has been initiated—without it, there is no baseline for the audit trail. The Impact Assessment (Phase 2) evaluates the risk that the proposed change poses to system availability, data integrity, and financial reporting. The CAB Approval (Phase 3) represents the authorization gate—a critical segregation-of-duties checkpoint ensuring that an independent party reviews the change before development proceeds. Phases 4 through 8 address execution, validation, deployment, post-implementation review, and formal closure. When auditors find that any of these phases lacks adequate documentation or that controls are bypassed, the resulting deficiency may be classified as a significant deficiency or even a material weakness in internal controls over financial reporting.

SECTION 4

How Version Control Works — Technical Mechanisms

While change management is a governance process, version control is the technical mechanism that enforces and records it. A version control system (VCS) maintains a complete history of every file modification, who made it, when, and why. Modern distributed systems like Git compute a SHA-1 hash for every commit, meaning any retroactive tampering with the history would break the hash chain—a property that gives auditors confidence in the integrity of the trail. Understanding the underlying mechanism is essential because CPAs are increasingly asked to assess whether the version control system itself is properly configured and whether its logs constitute sufficient, reliable audit evidence.

Core Version Control Concepts

  • Repository (Repo): The central database that stores all versions of application source code, configuration files, and related artifacts.
  • Commit: A discrete, atomic snapshot of changes made to one or more files. Each commit includes a timestamp, author identity, and descriptive message—the elementary unit of the audit trail.
  • Branch: An isolated line of development that allows developers to work on changes without affecting the production (main) branch. Auditors verify that production deployments occur only from approved branches.
  • Merge / Pull Request: The process of integrating a feature branch back into the main branch after code review and approval—a key SoD control point in modern workflows.
  • Tag / Release: A named marker on a specific commit that denotes a production release. Auditors use tags to identify exactly which code version is running in production at a given date.

Branching Strategy & Audit Implications

Organizations typically adopt a branching strategy that governs how code flows from development through testing to production. Common models include GitFlow (feature branches, develop, release, and main), trunk-based development (short-lived branches merged frequently into main), and release branching. From an audit perspective, the branching model determines where the auditor expects to find approval evidence. In a pull-request-based workflow, the merge approval serves as the authorization control; in environments without pull requests, the auditor must look elsewhere—such as change tickets or deployment logs—for equivalent evidence. A misconfigured branching strategy that allows direct commits to the production branch without review represents a control deficiency because it effectively eliminates the segregation of duties between development and promotion.

💡

CPA Exam Tip

On the ISC section, you may be asked to identify which control is violated when a developer can both write code and deploy it to production without independent review. The answer centers on segregation of duties. Version control branch protection rules (requiring pull request approval from a non-author) are a key compensating control.

SECTION 5

Change Types & Risk Classification

Not all changes carry the same level of risk to financial reporting. Organizations typically classify changes into categories that determine the level of scrutiny, testing, and approval required. CPAs must understand this classification to assess whether the organization is applying controls proportionate to risk—a principle that directly parallels the audit concept of materiality in financial auditing. A change to the revenue recognition module of an ERP system demands far more rigorous controls than a cosmetic UI update to an internal wiki page.

Change Risk Classification MatrixRisk Level × Control Requirements — Auditor's PerspectiveRISK TO FINANCIAL REPORTINGCONTROL RIGOR REQUIREDLowMediumHighLowMedHighStandardConfig tweaks, UI fixesPre-approved, minimal testingNormalNew features, process changesFull lifecycle: CAB, QA, UATSegregation enforcedEmergencyCritical hotfixes, security patchesExpedited approval, retroactivedocumentation required⚠ Highest audit scrutinyExpected correlation:Higher risk → Greater control rigorAuditor Red Flag: Emergency changes exceeding 10-15% of total changes may indicate control circumvention
The risk classification matrix maps change types against the level of control rigor required. Standard changes are low-risk and pre-approved, normal changes require full lifecycle controls, and emergency changes demand the highest post-deployment audit scrutiny because normal approval steps are compressed or bypassed.
Change TypeExamplesApproval RequiredAuditor Focus
StandardRoutine patches, password resets, scheduled updatesPre-authorized (blanket approval for category)Verify blanket approval scope is not overly broad; sample for compliance
NormalNew ERP module, report logic changes, database schema updatesFull CAB approval, QA sign-off, UAT sign-offTest all phases: request → approval → testing → deployment → review
EmergencyCritical security vulnerability, production outage fixExpedited (oral/email) + retroactive formal approval within 48 hrsConfirm retroactive documentation exists; examine ratio of emergency to total changes

Change Type Classification and Audit Implications

SECTION 6

Worked Example — Assessing Change Controls at a Client

Consider the following scenario: you are a CPA on the IT audit team for Meridian Financial Services, a public company subject to SOX Section 404. During the current-year audit, you are tasked with evaluating the change management controls over the company's core accounting system (an SAP instance). The client uses Git for version control and a ServiceNow-based change management workflow. Management has asserted that all changes to the production environment follow an eight-step lifecycle with appropriate segregation of duties.

Assessing Change Management Controls — Meridian Financial Services

  1. 1

    Step 1 — Understand the Control Environment

    Review the client's IT policies and procedures documentation. Identify the stated change management policy, which specifies: (a) all changes require a ServiceNow ticket, (b) the Change Advisory Board meets weekly to approve normal changes, (c) developers cannot access the production environment directly, and (d) Git branch protection rules require at least one pull request approval from a senior developer before merging to the main branch.
    Control design appears adequate — four key controls identified
  2. 2

    Step 2 — Select a Sample of Changes

    From the ServiceNow change log, identify that 247 changes were deployed to production during the audit period (Jan 1 – Dec 31). Of these, 212 are normal changes, 28 are standard, and 7 are emergency. Select a sample of 25 normal changes (using statistical or judgmental sampling), all 7 emergency changes (100% testing due to heightened risk), and 5 standard changes.
    Sample: 25 normal + 7 emergency + 5 standard = 37 changes
  3. 3

    Step 3 — Test Operating Effectiveness

    For each sampled change, perform the following procedures: (1) Verify a ServiceNow ticket exists with a documented business justification. (2) Confirm CAB approval was obtained prior to development. (3) Inspect Git commit history to verify the change was developed on a feature branch, not directly on main. (4) Confirm the pull request was approved by someone other than the author. (5) Review QA and UAT test results. (6) Verify that the production deployment was executed by an individual who is not the developer (SoD). (7) Confirm post-implementation review was documented.
    Seven test attributes per change × 37 changes = 259 individual test points
  4. 4

    Step 4 — Evaluate Exceptions

    During testing, you discover: (a) 2 of the 7 emergency changes lack retroactive CAB approval documentation. (b) 1 normal change has a Git commit directly to the main branch, bypassing the pull request process—upon investigation, the developer used an admin override. (c) For 3 normal changes, the UAT sign-off occurred after production deployment, not before. Evaluate each exception's severity: exception (a) represents a failure of the authorization control; exception (b) represents a SoD violation; exception (c) represents a testing control failure.
    6 exceptions identified across 37 sampled changes (16.2% exception rate)
  5. 5

    Step 5 — Conclude and Report

    Assess whether the exceptions represent isolated incidents or systemic failures. The direct commit to main (exception b) is particularly concerning because it indicates that administrative override capabilities exist and were exercised without compensating controls. Recommend that the client: (i) restrict Git admin access and implement additional monitoring, (ii) enforce mandatory retroactive approval for all emergency changes within 48 hours, and (iii) implement a workflow gate that prevents production deployment until UAT is formally signed off. Based on the nature and volume of exceptions, conclude that the change management control has a deficiency in operating effectiveness and escalate for evaluation of whether it constitutes a significant deficiency or material weakness.
    Conclusion: Deficiency in operating effectiveness — escalate for severity assessment

SECTION 7

Strengths, Limitations & Common Pitfalls

DimensionStrengthsLimitations / Pitfalls
Version Control Audit TrailProvides immutable, time-stamped evidence of every code change; cryptographic hashing prevents undetected tamperingRelies on proper Git configuration; force-push and history rewriting can undermine integrity if admin controls are weak
Segregation of DutiesBranch protection and pull request rules automate SoD enforcement; reduces reliance on manual oversightAdmin users may override protections; small IT teams may lack sufficient personnel to maintain strict SoD
Emergency Change ProceduresEnable rapid response to critical production issues; maintain business continuityFrequently abused as a shortcut to bypass normal controls; retroactive documentation often incomplete or missing
Automated CI/CD PipelinesEnforce consistent testing and deployment processes; reduce human error; generate detailed deployment logsComplex pipeline configurations may themselves contain errors; auditors must understand the pipeline to assess it properly
Change Advisory Board (CAB)Provides independent review and authorization; ensures business and IT alignment on change prioritiesCan become a bottleneck; "rubber stamp" approvals undermine the control's effectiveness; meeting minutes may lack detail

Strengths and Limitations of Key Change Management Controls

✦

KEY TAKEAWAY

The existence of a formal change management policy is necessary but not sufficient. Just as having an anti-fraud policy does not prevent fraud, having a change management procedure does not guarantee adherence. The CPA's role is to test operating effectiveness—whether controls actually function as designed throughout the period. Think of it as the difference between a building having a fire code (design) and the fire exits actually being unlocked and unobstructed when an inspector checks (operating effectiveness).

SECTION 8

Connection to Advanced IT Audit & Emerging Environments

As organizations adopt cloud-native architectures, microservices, and infrastructure-as-code (IaC), the traditional boundaries of change management expand dramatically. In these environments, not only application code but also server configurations, network policies, and database schemas are stored and versioned in repositories. This concept, known as GitOps, treats infrastructure changes with the same rigor as application code changes. For the CPA, this means the scope of change management assessment broadens to include infrastructure repositories, Terraform or Ansible scripts, and container image registries. The fundamental audit principles—authorization, SoD, testing, and documentation—remain unchanged, but the auditor must understand the technology well enough to identify where those controls are implemented.

AspectTraditional EnvironmentModern DevOps / Cloud-Native
Deployment FrequencyMonthly or quarterly releasesMultiple deployments per day (continuous delivery)
Approval ModelManual CAB meetings, signed change ticketsAutomated gates: code review approval, automated test pass, policy-as-code checks
SoD EnforcementAccess restrictions on production serversBranch protection rules + required reviewers + automated pipeline (no human touches production)
Audit EvidencePaper/PDF change tickets, email approvalsGit logs, CI/CD pipeline execution records, Jira/ServiceNow API-linked tickets
Auditor SkillsetAbility to read change tickets and interview IT staffAbility to inspect Git repositories, review pipeline configurations, and assess automated control logic

Traditional vs. Modern Change Management Environments

Looking forward, the CPA profession is investing heavily in technology competencies precisely because the nature of audit evidence is shifting from paper artifacts to digital records embedded in automated systems. The ISC exam reflects this evolution—candidates are expected to understand not just the principles of change management but also how those principles manifest in contemporary IT environments. The underlying logic, however, remains constant: every change to a system that processes financial data must be authorized, tested, and traceable, regardless of whether the approval comes from a CAB meeting or an automated policy engine.

SECTION 9

Practice Problems

Question 1: CONCEPTUAL

Explain why change management is classified as an IT General Control (ITGC) rather than an application control. How does a deficiency in change management potentially affect multiple financial statement assertions across different application systems?
Show answer
Change management is classified as an ITGC because it operates at the infrastructure and governance layer, underlying all applications rather than being embedded within a single application's transaction processing logic. A deficiency in change management can have a pervasive impact: if unauthorized code changes can be made to the general ledger system, the accounts receivable subledger, or the payroll module without detection, then multiple assertions—completeness, accuracy, valuation, and existence—across numerous account balances could be compromised simultaneously. This is why auditing standards (e.g., AS 2201) require auditors to assess ITGCs before they can rely on application controls. If change management is deficient, the auditor cannot trust that application controls (such as an automated three-way match) have not been altered or disabled.

Question 2: BASIC CALCULATION

An auditor selects a sample of 30 changes from a population of 300 production deployments. Testing reveals 4 exceptions: 2 changes lacked CAB approval, 1 had no testing documentation, and 1 was deployed by the same person who wrote the code. Calculate the exception rate and determine whether each exception represents a failure of authorization, testing, or segregation of duties.
Show answer
The overall exception rate is 4 ÷ 30 = 13.3%. By control attribute: (1) Authorization control failure: 2 of 30 changes lacked CAB approval, yielding a 6.7% exception rate for the authorization attribute. (2) Testing control failure: 1 of 30 changes had no testing documentation, yielding a 3.3% exception rate. (3) Segregation of duties failure: 1 of 30 changes was deployed by the developer, yielding a 3.3% exception rate. Most audit firms consider an exception rate above 5–10% to be indicative of a control deficiency requiring further investigation. The 6.7% authorization exception rate, in particular, warrants expanding the sample and evaluating whether these represent a systematic failure. The SoD violation, while a single instance, is qualitatively significant and should be investigated as a potential material weakness indicator.

Question 3: INTERMEDIATE

A client's IT department reports that 18 of its 200 production changes during the audit period were classified as emergency changes. During testing, you find that 5 of these 18 lack retroactive approval documentation. The client explains that the retroactive approval process was recently updated mid-year. How would you assess this situation, and what additional procedures might you perform?
Show answer
First, assess whether the emergency change ratio (18 ÷ 200 = 9%) is within an acceptable range—most frameworks suggest that emergency changes should constitute less than 10–15% of total changes, so 9% is borderline but not immediately alarming. Second, evaluate the 5 exceptions (5 ÷ 18 = 27.8% exception rate among emergency changes), which is a high rate. The client's explanation about a mid-year process update introduces a complicating factor: you should stratify testing by time period to determine whether all 5 exceptions occurred before the process update (suggesting the new process remediated the deficiency) or whether exceptions continued afterward (suggesting the update was ineffective). Additional procedures include: (a) reviewing the updated policy documentation and its effective date, (b) testing all emergency changes that occurred after the policy update to confirm compliance, (c) interviewing IT management to understand root causes, and (d) assessing whether compensating controls (such as post-implementation code reviews) existed during the period when retroactive approvals were missing. If the deficiency was remediated mid-year, the auditor may conclude the control was effective only for the portion of the year after remediation.

Question 4: APPLIED

You are auditing a fintech company that deploys code to production 15 times per day using an automated CI/CD pipeline. The company has no Change Advisory Board. Instead, all changes require: (1) a passing automated test suite with 95%+ code coverage, (2) approval from at least two reviewers on the pull request who are not the author, and (3) automated deployment triggered only when conditions 1 and 2 are met. Evaluate whether this control environment satisfies the change management control objectives of authorization, testing, segregation of duties, and documentation.
Show answer
This environment represents a modern, automated approach that can satisfy traditional control objectives if properly configured. Authorization: The two-reviewer pull request requirement serves as the authorization control, replacing the CAB. The auditor should verify that reviewers are appropriately senior and that the system enforces the two-approval minimum (e.g., GitHub branch protection settings). Testing: The automated test suite with 95%+ code coverage provides testing evidence. The auditor should examine whether the test suite includes both unit and integration tests, and whether the coverage threshold is enforced (a pipeline that allows deployment with failing tests would negate this control). Segregation of Duties: The requirement that reviewers cannot be the author establishes SoD. Additionally, the automated pipeline deploys the code—no human directly accesses production—which further strengthens SoD. The auditor should confirm that no developer has administrative rights to bypass the pipeline. Documentation: Git logs, pull request histories, and CI/CD pipeline execution logs collectively constitute the audit trail. The auditor should verify that these logs are retained for the required period and are tamper-resistant. Overall, this automated control environment can be as effective as—or more effective than—a traditional CAB-based process, provided the automated gates are properly configured and not overridable. The auditor's focus shifts from inspecting paper tickets to inspecting system configurations and log integrity.

Question 5: CRITICAL THINKING

A public company's database administrator (DBA) has the ability to make direct changes to production database tables (e.g., modifying a customer's credit limit or adjusting an inventory quantity) without going through the application's change management process. Management argues that this access is necessary for troubleshooting and data corrections. Analyze this situation from an IT audit perspective: What risks does this present? What compensating controls would you recommend? Under what circumstances might this constitute a material weakness in internal control over financial reporting?
Show answer
This situation presents significant risks because direct database access allows modifications that bypass all application-level controls—input validation, authorization workflows, and audit logging built into the application. The DBA could theoretically alter financial data (e.g., accounts receivable balances, inventory quantities, revenue figures) without the change being captured in the application's transaction log. This circumvents the completeness and accuracy assertions and could facilitate fraud. Compensating controls the auditor should recommend include: (1) Implementing database activity monitoring (DAM) that logs all direct SQL commands executed against production tables and alerts on data modification statements (INSERT, UPDATE, DELETE). (2) Requiring a second person to authorize any direct database change, with documented business justification. (3) Implementing periodic reconciliation between application-level reports and direct database queries to detect discrepancies. (4) Restricting DBA write access to specific maintenance windows with enhanced logging. (5) Requiring all data corrections to be processed through the application whenever technically feasible. This could constitute a material weakness if: the DBA has unrestricted, unmonitored write access to tables that directly affect financial reporting balances; no compensating detective controls exist; and the potential misstatement magnitude is material. The key test is whether there is a reasonable possibility that a material misstatement could occur and not be prevented or detected on a timely basis. The auditor should consider both the quantitative impact (what balances the DBA could affect) and the qualitative factors (the DBA's position of trust, absence of monitoring).

SUMMARY

Summary — Assess Change Management And Version Control

Summary

Assessing change management and version control is a foundational ITGC audit responsibility that directly underpins the reliability of financial reporting. The CPA must evaluate both design effectiveness (does the control, as designed, address the relevant risk?) and operating effectiveness (did the control function consistently throughout the audit period?). Core principles include segregation of duties between development and production promotion, formal authorization and approval gates (such as CAB review or pull request approval), mandatory testing and validation in non-production environments, and the maintenance of a complete audit trail through version control systems.

Changes are classified as standard, normal, or emergency, with each category demanding a proportionate level of control rigor—and emergency changes receiving the highest audit scrutiny because they bypass normal approval gates. In modern DevOps and CI/CD environments, automated pipeline controls, branch protection rules, and pull request workflows replace traditional manual processes but must be evaluated with the same rigor. Whether the control is a CAB meeting or an automated policy engine, the CPA's objective remains constant: to obtain reasonable assurance that every change to a financially relevant system is authorized, tested, and traceable.

Varsity Tutors • CPA (ISC) • Assess Change Management And Version Control