methodatlas
RunsheetOperations

Change Analysis

ComplexityMedium
Time45-120 min
Participants2-6
FormatWorkshop + async
MaturityEstablished
01

Prerequisite

What needs to be finished first

Complete firstReference statenot in catalog

A baseline or target state is known and reproducible (for example a successful build, a comparable process, or a comparable day).

Without: Without a baseline, there is nothing to compare, and Change Analysis has no method substance.

A chronological record of the failing process is available so changes can be placed in time.

Without: Without a timeline, changes are assigned to the wrong time window and the hypotheses are wrong.
02

Preparation

What needs to be ready before start

Materials

Whiteboard or table with three columns (should, is, difference); access to version control, config states, deploy logs, staff shift plans; template for the difference list.

People / roles

One lead investigator; 2-5 people who know the change areas (engineering, ops, data, supplier); one scribe; in safety-critical systems, one independent reviewer.

Pre-read

What worked last time, what no longer works now; time window of the deviation; list of known changes since baseline (deploys, configs, people, external systems); logs and diffs.

Time needed

60-180 min, depending on complexity

Setup

Create a table with should, is, and difference columns. Use categories as rows: code, configuration, data, infrastructure, people, supplier, environment, process. Instruction: make should and is as concrete as possible per row, and note difference with source and timestamp.

03

Core question

The one question this method answers

Which differences between should and is explain the observed deviation, and which of those differences are causal, contributing, or random?

04

Flow

Marker: Phase

StepDurationActionHint
1Phase 1: Capture baseline and actual state
20-30 minDescribe the baseline state (when it last worked) and the current state concretely per category. Version IDs, configuration hashes, staffing, environmental conditions.If the baseline cannot be reconstructed concretely, Change Analysis will not work. Better spend time rebuilding the baseline than relying on surface-level guesses.
2Phase 2: List differences
30-60 minList all differences between should and is per category. Capture even seemingly irrelevant changes (library update, new person on the team, changed supplier service).Common mistake: only capture the obvious changes. Differences such as 'new security patch in the OS' or 'changed NTP server' often appear only with a systematic list.
3Phase 3: Evaluate differences
30-45 minFor each difference: causally plausible, contributing, or random. Provide a reason for each rating. If several causes are plausible, set the order of verification.Avoid confirmation bias: the most obvious difference is not automatically the cause. For each difference, check when it would take effect and whether that fits the timeline.
4Phase 4: Test the hypothesis
30-90 minCheck the suspicious difference in isolation: rollback in staging, A/B comparison, targeted test. Document the result.Test instead of guessing. If testing is not possible, at least check plausibility using timeline and logs. A hypothesis without a test remains a candidate, not a result.
5Phase 5: Measures and lessons
30-45 minDefine a corrective action for the causal difference. Structural lesson: why was this change possible without attention. Improve change management.Often the change turns out to be unplanned or not communicated. Structural means not 'more reviews', but better detection of relevant differences, for example a change calendar or diff notifications.
05

Artifact

What comes out at the end

Form

Difference table with should, is, difference, rating (causal, contributing, random), test result, and measure per relevant difference. Lessons learned about change visibility as an additional section.

Versioning / ownership

Date, incident ID, investigator, and reviewer in the header. Later findings as an update section at the end. For follow-up incidents with a similar pattern, link back to the previous Change Analysis.

Tool alternatives
  • Confluence page with a table and links to logs
  • Notion database with filters by category
  • Markdown in the repo under docs/investigations/<date>-<topic>.md
  • Google Sheet with columns per phase, shared with reviewers

change-analysis-working-template.md

Compact working template for Change Analysis with context, input, output artifacts, and next step.

Change Analysis Working Matrix

ElementDescriptionRatingEvidenceOwnerNext step
1
2
3

Output artifacts

  • Change Matrix:
  • Cause Hypotheses:
  • Validation Questions:
  • Action List:

Decision or recommendation

What consequence follows from the matrix?

06

Example output

Concrete filled scenario, fictional example

change-analysis-beispiel.md

Concrete filled scenario, fictional example

Change Analysis - Build pipeline failing since 12.05., 14.05.2026

Should: Build succeeds, 4.2 min runtime, last successful run on 11.05.2026 17:23 UTC. Is: Build has been failing since 12.05.2026 09:14 UTC with error 'TLS handshake timeout' during artifact upload.

Difference table (excerpt)

CategoryShouldIsRating
CodeCommit SHA a3f9Commit SHA b7c2Random (docs only)
CI imagegolang:1.22.2golang:1.22.3Contributing (patch includes new CA certificates)
Artifact registryregistry.alpha.ioregistry.alpha.ioShould = is
Network egressDirectThrough new proxy since 12.05. 08:00Causal plausible
PeopleDevOps lead TobiasTobias on vacation since 12.05.Contributing (no escalation path)

Test

Proxy configuration in the build container disabled: build succeeds (12.05. 11:40). Hypothesis confirmed.

Measures

  • Extend the proxy configuration with the correct CA bundle. Owner @anna, by 14.05. 18:00.
  • Share a change calendar for network changes with the CI team, mandatory notification 48 h in advance. Owner @sabine, by 21.05.
  • Name a second person as backup in the DevOps team, documented in the RACI. Owner @sabine, by 24.05.

Lessons

Network changes were introduced by a separate team without notifying the build-pipeline owners. Structural gap: cross-team change visibility.

07

Pitfalls

Recognize symptoms and steer against them

Trap

Baseline not concrete

Symptom

The should state is 'it worked before' without version, configuration, or timestamp.

What to do

Reconstruct the baseline with versioning, logs, and configuration snapshots. If that is not possible, pause the method until the baseline is clear.

Trap

Only obvious differences

Symptom

The team lists three deploys, but other differences (OS patch, supplier service, personnel change) are missing.

What to do

Walk through a systematic category list (code, config, data, infrastructure, people, supplier, environment, process). Search actively per category instead of waiting to be told.

Trap

Immediate commitment to the main suspect

Symptom

The team settles on the first plausible hypothesis and does not test alternatives.

What to do

Make at least two alternative hypotheses explicit. A devil's advocate checks the apparently confirmed hypothesis for gaps. Test in isolation, not in production.

Trap

Test in production

Symptom

The hypothesis is checked in the production system, so correction and test mix together and the insight blurs.

What to do

Test in staging or pre-prod. If that is not possible, use a controlled test with a rollback plan, a clear observation window, and an explicit hypothesis.

Trap

Lessons stay at the operational level

Symptom

Measures fix symptoms, but the structural change-management gap is not addressed.

What to do

For each incident, define at least one structural lesson action: visibility, communication, reviews. Otherwise the pattern repeats.

08

Stop criteria

Done signals checkable in under a minute

The baseline cannot be reconstructed, so there is no should state to compare against.
No logs, version states, or audit trails are available, so differences are speculation.
Changes are so numerous (for example after a major migration) that the difference list is unmanageable; the method is overloaded and another RCA is needed.
The incident is not reproducible, so the hypothesis cannot be tested in isolation.
No people with change context are available, so the evaluation becomes arbitrary.
The symptom has no change as a cause (for example broken from the start), so Change Analysis is the wrong tool; use another RCA approach.

Finished the runsheet?

Go to the profile for purpose, similar methods, and sources or continue to the next method in the catalog.