# Chapter 28: Change Happens

# Chapter 28: Change Happens

## Why Change Management is Needed

- Impossible to define all requirements at once; requirements change as development proceeds

- External conditions change (market opportunities, regulations, policies, internal business needs)

- Change is inherently not bad, but necessary

- Objectives of change management:

- Ensure changes are carefully evaluated before commitment

- Decisions made by appropriate personnel (not privately agreed upon by developers)

- Change information is transparent to stakeholders

- Change content is clearly notified and tracked

- Execute changes in a consistent and effective manner

## Problems with Uncontrolled Change

- Private communication on requirements causes requirements to enter through the back door

- Leads to project chaos, schedule delays, and quality degradation

- Inconsistency between documentation and code

- System becomes brittle (destroys architecture, causes hidden impacts)

- Causes massive extra rework in testing and documentation

## Scope Creep

### Causes of Requirement Growth

- Unclear customer requirements

- The larger the product, the more new functional requirements are encountered

- Monthly increase rate usually falls between 1%–3%

### Problems

- Continuously adding features without adjusting schedule / manpower / budget

- Leads to never-ending work

### Methods to Control Scope Creep

- Clearly define:

- Business goals

- Product vision

- Project scope and constraints

- Every requirement must be verified against business needs for necessity

- Deep customer involvement in requirement exploration

- Prototyping to avoid misunderstandings

- Use short cycles (iterations) for rapid adjustment

- Most effective technique: Dare to say "No" or "Not now"

## Change Control Policy

- All changes must be submitted according to the process

- No design or implementation allowed without review

- Submitting a change ≠ It will definitely be accepted

- Change Control Board (CCB) is responsible for deciding on changes

- Change database content must be visible to all stakeholders

- Every change requires Impact Analysis

- All changes must be traceable to the change request

- Change decisions must record the rationale

- Minor changes can go through the Fast Path (rapid review)

## Change Control Process

### Process Composition

1. Entry Criteria — Submit a valid change request

2. Tasks — Evaluate, Decide, Implement, Verify

3. Verification Steps — Ensure change is completed correctly

4. Exit Criteria — Change completed or closed

### 1. Roles and Responsibilities

- CCB Chair - Chairs the CCB, assigns Evaluator / Modifier, final decision maker

- CCB (Change Control Board) - Reviews and approves/rejects changes

- Evaluator - Conducts Impact Analysis (cost, risk, technical feasibility)

- Modifier - Implements the change

- Originator - The person who initiates the change request

- Request Receiver - Receives new change requests

- Verifier - Confirms if the change was completed correctly

### 2. Change Request Status (State Machine)

- Submitted → Received → Evaluating → Approved / Rejected → Change Made → Closed

- Only change state when transition conditions are met

### 3. Major Tasks

#### 5.1 Evaluate Change (Evaluate)

- Analyze cost, feasibility, risk, and consistency with requirements

- Conduct Impact Analysis (see later section)

#### 5.2 Decision

- CCB judgment: Approve, Reject, Defer

- Schedule priority, iteration, version

- Update status and notify the team

#### 5.3 Implement

- Modifier updates all affected artifacts

- Update traceability links

#### 5.4 Verify

- Peer review to check modification completeness

- Testing or document inspection

- Version control and document storage

### 4. Exit Criteria

- Status is Rejected / Closed / Canceled

- All artifacts updated and stored correctly

- Stakeholders have been notified

## Change Control Reports

- Show number of change requests in each status

- Show average processing time

- Project Manager uses to track progress

## Recommended Change Request Attributes

- Source of change (marketing, management, customer, dev…)

- Change ID

- Type (Requirement Change / Function Improvement / Defect)

- Submission / Update Date

- Description

- Priority (originator, CCB)

- Modifier / Verifier

- Scheduled Version

- Status

- Other response records

---

# Change Control Board (CCB)

## Functions and Purpose

- Decide which changes are acceptable

- Decide priorities, version scheduling

- Effectively balance:

- Business value

- Cost

- Impact (schedule, quality, risk)

## Composition Suggestions

- Project / Product Management

- Business Analysis / Product Management

- Development

- Testing / QA

- Sales / Customer Representative

- Technical Support

- If hardware is involved, include System / Hardware Engineer

## CCB Charter should include:

- Purpose, Scope of Authority

- Members and Roles

- Decision-making method (voting, consensus, whether chair has veto power)

- Meeting Frequency

- When special meetings are required

- What kind of changes need to be escalated to a higher-level CCB

---

# Impact Analysis

## Why It Is Important

- Small changes can cause a huge ripple effect

- Ignoring impact analysis leads to incorrect estimates, delays, and rework

## Three Steps of Impact Analysis

1. Understand potential impacts of the change

- Does it affect other requirements, architecture, or quality attributes

2. Identify all artifacts that need modification

- Documents, requirement specs, design, code, test cases

3. Estimate required work items and effort cost

## Common Tools

- Traceability matrix

- Affected component list (Figure 28-6)

- Effort estimation table (Figure 28-7)

- Result report template (Figure 28-8)

## Process Suggestions

- Evaluated by a small team (not a single developer)

- Use checklist to avoid omissions

- Compare actual costs with estimates to continuously improve the estimation model

---

# Change Management in Agile Projects

## Core Concepts of Agile

- Welcome change

- Continuously dynamic sorting in the product backlog

- Pick the highest value items for every iteration

- Iteration content can be fixed or adjustable (depending on team decision)

## Backlog-Driven Process

- New requirements → Enter backlog → Re-prioritize with other items

- High-priority items enter the next iteration

- Small scale, short cycles reduce the impact of change

## Equivalent Roles of CCB in Agile

- Product Owner / Customer decides priorities

- Team collectively evaluates change costs

- If change affects overall cost or schedule → Escalate to Sponsor

## Key Principles

- Avoid excessive turbulence (too many changes to complete iteration)

- Also avoid excessive rigidity (rejecting all new requirements)

- Adjust iteration length to adapt to change frequency

---

# Next Steps

- Establish your project CCB (and charter)

- Define the state diagram for change requests

- Write the Change Control Process (operate manually first to confirm effectiveness)

- Select a suitable Issue Tracking tool and customize the process

- Compare: Old estimation methods vs Impact Analysis methods → Continuously optimize