TechLead
Lesson 22 of 30
5 min read
Project Management

Change Management

Master change request processes, change control boards, impact analysis, scope creep prevention, and configuration management for IT projects

Why Change Management Exists

Change is inevitable in IT projects. Requirements evolve, technology shifts, stakeholders discover new needs, and market conditions change. The question is not whether change will happen — it is whether change will be controlled or chaotic. Uncontrolled change leads to scope creep, budget overruns, and missed deadlines.

Change management ensures that every change is evaluated, approved, tracked, and communicated. It does not prevent change — it ensures that change is intentional and its impacts are understood before implementation.

Change Request Process

  1. 1. Submit: Anyone can submit a change request (CR) with a description and justification
  2. 2. Log: PM records the CR in the change log with a unique ID
  3. 3. Analyze: Team performs impact analysis (scope, schedule, cost, quality, risk)
  4. 4. Review: Change Control Board (CCB) reviews the CR and impact analysis
  5. 5. Decide: CCB approves, rejects, or defers the change
  6. 6. Implement: If approved, update the project plan, baselines, and communicate to the team
  7. 7. Verify: Confirm the change was implemented correctly

Change Request Template

// Change Request Data Model
interface ChangeRequest {
  id: string;
  title: string;
  requestedBy: string;
  requestDate: Date;
  priority: 'critical' | 'high' | 'medium' | 'low';
  type: 'scope' | 'schedule' | 'cost' | 'quality' | 'resource' | 'technical';
  status: 'submitted' | 'analyzing' | 'pending-approval' | 'approved' | 'rejected' | 'deferred' | 'implemented';

  description: string;
  justification: string;
  businessValue: string;

  impactAnalysis: {
    scopeImpact: string;
    scheduleImpact: string;
    costImpact: string;
    qualityImpact: string;
    riskImpact: string;
    resourceImpact: string;
    alternativesConsidered: string[];
  };

  decision: {
    decidedBy: string;
    decisionDate: Date | null;
    outcome: 'approved' | 'rejected' | 'deferred' | null;
    conditions: string[];
    rationale: string;
  };

  implementation: {
    assignedTo: string;
    targetDate: Date | null;
    actualDate: Date | null;
    verifiedBy: string | null;
  };
}

// Example change request
const changeRequest: ChangeRequest = {
  id: 'CR-2024-015',
  title: 'Add Apple Pay to checkout flow',
  requestedBy: 'Maria Garcia (VP E-Commerce)',
  requestDate: new Date('2024-06-15'),
  priority: 'high',
  type: 'scope',
  status: 'pending-approval',

  description: 'Add Apple Pay as a payment option in the mobile app checkout flow. This was originally planned for Phase 2 but competitive pressure requires earlier delivery.',
  justification: 'Competitor launched Apple Pay support last week. Our mobile payment conversion rate is 15% below industry average. Apple Pay users convert 30% higher.',
  businessValue: 'Estimated $1.2M additional annual revenue from improved mobile checkout conversion.',

  impactAnalysis: {
    scopeImpact: 'Adds 3 user stories (8, 5, 3 points = 16 total). Requires Apple Developer Program enrollment and merchant ID setup.',
    scheduleImpact: 'Delays launch by 1 sprint (2 weeks) unless we defer the product recommendations feature.',
    costImpact: 'Apple Developer fee: $99/year. Engineering effort: ~$25K. Total impact: ~$25K.',
    qualityImpact: 'Minimal — Apple Pay SDK is well-documented. Additional E2E tests required.',
    riskImpact: 'Low risk — Apple Pay is a proven integration. Risk of app rejection if guidelines not followed.',
    resourceImpact: 'Requires iOS specialist (already on team). Backend engineer needed for 3 days.',
    alternativesConsidered: [
      'Defer to Phase 2 (original plan) — rejected due to competitive pressure',
      'Add Apple Pay but remove product recommendations from this release — recommended option',
      'Hire contractor to implement in parallel — too expensive and coordination overhead'
    ]
  },

  decision: {
    decidedBy: '',
    decisionDate: null,
    outcome: null,
    conditions: [],
    rationale: ''
  },

  implementation: {
    assignedTo: '',
    targetDate: null,
    actualDate: null,
    verifiedBy: null
  }
};

Scope Creep vs. Gold Plating

Aspect Scope Creep Gold Plating
DefinitionUncontrolled expansion of scopeAdding unrequested features or quality
SourceStakeholders, users, external changesThe team themselves (engineers, PM)
Example"Can you also add Apple Pay while you are building checkout?"Engineer adds advanced animation to a simple button
PreventionChange control board, formal CR processClear DoD, code reviews, sprint scope protection
ImpactSchedule delays, budget overrunsWasted effort, opportunity cost, potential bugs

Change Management Best Practices

  • Every Change Has a Cost: Even "small" changes have integration, testing, and documentation costs. Make requestors aware.
  • Aggregate Small Changes: Small CRs can accumulate into significant scope creep. Review total accumulated change monthly.
  • Baseline First: You cannot manage change without a baseline. Establish scope, schedule, and cost baselines before execution.
  • Say "Yes, and...": Do not simply reject changes. Say "Yes, we can add Apple Pay if we defer product recommendations. Here is the trade-off."

Continue Learning