Transferring Maintenance to a New Team: Run a Bounded Change Exercise Before Declaring Readiness

After the receiver can reproduce the baseline, ask them to complete one agreed, low-risk maintenance change through impact analysis, implementation, testing and review. A clean build proves that a recipe can run. It does not show that a new team can locate the right code, understand its dependencies or judge whether a change is adequately verified.

This article proposes a bounded handover exercise, not an assessment of any real person’s employment suitability or a guarantee of future support. No code was changed or tested. Use an isolated development branch and designated test resources; production deployment is outside the exercise.

1. Choose a change that exposes the maintenance path

Select a small behavior change with a clear requirement, limited affected code and observable results. Avoid security-policy changes, irreversible data migrations, hazardous output control or an urgent production defect as the first exercise.

The task should require more than editing a visible string, yet remain narrow enough to review completely. Agree its scope, excluded systems, allowed resources and expected evidence before starting.

NASA’s transition guidance, section 5.5.1.2, addresses personnel and enabling readiness. The original exercise below turns one part of that readiness into a directly observable maintenance workflow.

A reproduced baseline leads to receiver-owned analysis, implementation, distinguishing tests and review, producing a limited maintenance-readiness conclusion.
Original maintenance-change exercise. It goes beyond rebuilding an unchanged release, but no change or test was actually performed.

2. Establish the baseline as a prerequisite

Identify the source revision, toolchain/environment, configuration, build outputs and current tests. The receiver should know how to create a clean baseline and distinguish expected output from a broken development environment.

Do not count this baseline reproduction as completion of the change exercise. Its purpose is to make later differences attributable and to reveal missing inputs before implementation begins.

Retain the baseline artifact and test results when the exercise is actually run. A proposed procedure or empty test report is not evidence that the receiver successfully reproduced anything.

3. Ask for an impact note before the patch

Question Expected receiver output
Where is the behavior implemented? Relevant module and data/control path
What else depends on it? Interfaces, configuration, documentation and tests
What must remain unchanged? Explicit regression boundary
How will success and failure be observed? Positive and negative test expectations
What knowledge is missing? Questions and blockers before implementation

This note need not be long. Its value is showing that the receiver can reason about the change rather than applying an unexplained patch supplied by the original author.

4. Require evidence that distinguishes the new behavior

Choose a test that would fail for the relevant reason on the unchanged baseline and pass only when the requested behavior is implemented correctly. Add a negative or boundary case that prevents a trivial always-success implementation from satisfying the test.

Also run the agreed regression scope. The exercise is incomplete if the new feature works while an affected existing behavior breaks without being noticed.

NASA’s change-control guidance, section 6.5.1.2.3, couples evaluated changes with implementation verification. Here, the receiver should explain why each retained observation supports the requested change and where it does not.

5. Use a fictional diagnostic-page exercise

A fictional product already maintains a noncritical event counter internally. The exercise asks the receiver to display that counter on a diagnostic page with the approved label and an explicit unavailable state. It does not add an actuator command or change the counter’s meaning.

The receiver traces the existing value to the display path, proposes a bounded patch and updates the relevant documentation. Planned fixtures cover a known artificial counter value, an unavailable source and refresh after the value changes.

The unchanged baseline should not satisfy the new display requirement. A hard-coded value should fail the changed-value case. A default zero should fail the unavailable-state case. These are proposed tests, not executed results or a claim about a real user interface.

6. Record hidden help as a handover finding

Allow safety interventions and legitimate clarification. Record every undocumented command, local file, private setup detail or design explanation the original author supplies to unblock the receiver.

The goal is to improve the handover, not to make someone fail by withholding necessary information. Classify a blocker by its source: missing documentation, unavailable access, incomplete environment, unclear requirement or unresolved architecture knowledge.

After the package is corrected, repeat the affected step using the updated instructions. Do not claim independent completion if the original author effectively performed the difficult part off-record.

7. Review the change as maintainers would

Review area Evidence to inspect
Requirement understanding Impact note and explicit acceptance observations
Implementation scope Small reviewed diff and dependency explanation
Verification Baseline contrast, negative case and regression receipts
Documentation Updated behavior and known limits
Independent operation Recorded interventions and resolved blockers

Keep the exercise artifact separate from a release candidate unless a later authorized process adopts it. A training branch should not accidentally become a shipped update.

8. State the readiness conclusion narrowly

Report the change class completed, environment used, evidence retained and gaps that remain. One successful diagnostic-page change does not demonstrate readiness for bootloader changes, safety functions or complex concurrency defects.

Use the result to decide which maintenance paths are supported by the handover and which need additional documentation, access or training. The useful outcome is a demonstrated, bounded change workflow that the receiving team can repeat, without hidden dependence on the original developer or an unsupported promise of universal maintenance capability.

Similar Posts