Lesson 4 of 5
Iterations: sandbox to production
18 min
Listen to this lesson
An upgrade is rehearsed before it is performed. Each system in the path is an iteration with its own test focus, and each one should leave the next one better prepared: a shorter runbook, known adjustments, known runtimes, fewer surprises. Teams that treat development and quality updates as mere stepping stones learn the same lessons three times; teams that plan iterations learn them once.
Iterations and their focus
| Iteration | System | Test focus | Output for the next iteration |
|---|---|---|---|
| Sandbox | Temporary copy of production | Technical feasibility, runtimes, first adjustment list, first functional smoke | Issues list, runtime estimates, early fixes |
| Development | CMD | Modification and custom code adjustment, unit tests, developer checks | Adjustment transports, fixed custom code |
| Quality | CMQ, then CMR | All test streams at full depth, performance, data validation, UAT | Signed-off evidence, final runbook, go/no-go input |
| Production | CMP | Smoke tests, validation, hypercare monitoring | Closure and lessons learned |
Why a sandbox first? The first technical run discovers issues and measures runtimes without disrupting the delivery landscape. Development and quality systems carry projects and support work; a failed first attempt there blocks everyone. A sandbox copied from production also has production-like data, which makes runtime and data-related findings realistic. Under RISE, request it early, because creating it is a service with lead time.
Development: the locked system
The upgrade guide warns that at a certain point during the update, the development system is locked and repository objects cannot be changed. If production still needs emergency fixes during that time, the guide recommends a temporary copy of the development system to supply them, with dual maintenance: fixes made in both the temporary and the original systems. For a longer project, a temporary quality system can be added too. That affects testing: the support team needs a way to test emergency fixes for the old release while the project tests the new one.
Carry lessons forward
- Adjustment transports: SPDD and SPAU work done in development is offered to later systems, so quality and production updates do not repeat it.
- Runtimes: each run's uptime and downtime phases are measured; the quality run should be close to the production plan.
- Runbook: Luis keeps one runbook with every manual step, owner and duration, updated after each iteration.
- Issue list: every issue found has a fix and a test that proves the fix in the next iteration.
- Test set: smoke tests from the sandbox become the first checks in quality and production.
- Week 1–2Sandbox updateTechnical run by SAP ECS; smoke tests; first runtimes and adjustment list.
- Week 3Development updateDevelopment locked; modifications adjusted; custom code fixes; unit tests.
- Week 4–7Quality update and testingUpdate with adjustment transports; all streams; DTV; UAT; performance.
- Week 8Go/no-goEvidence reviewed; decision recorded; production downtime confirmed.
- Week 8 weekendProduction updateRamp-down, update, follow-up, smoke tests, validation, release to users.
Working with SAP ECS
Under RISE, SAP ECS runs the Software Update Manager through service requests. The upgrade guide describes ECS triggering SUM 24 hours before the requested execution start so that uptime activities complete before downtime begins, and break-points where ECS expects the customer's input or action, such as SPDD, the development lock and SI-Check results. Before downtime, the customer performs ramp-down: stopping application background jobs, locking business users, clearing stuck queues and update errors. Those steps belong in the runbook and in the test plan, because each has a check afterwards.
- Service requestContoso requests the update for a system with the planned schedule.
- UptimeECS starts SUM ahead of downtime; break-points need Contoso input.
- Ramp-downContoso stops jobs, locks users, clears queues and update errors.
- DowntimeECS completes the technical update.
- Follow-up and testContoso performs follow-up activities, then runs the iteration's tests.
What would you do?
The sandbox update shows a downtime of 14 hours, but Contoso's agreed production window is 10 hours, Saturday 20:00 to Sunday 06:00. What should the team do?
- Plan iterations: sandbox, development, quality, production, each with its own test focus.
- A sandbox copy of production finds technical issues and runtimes without disrupting projects.
- Development is locked during the update; use a temporary development copy and dual maintenance for emergency fixes.
- Carry adjustment transports, runtimes, runbook, issues and smoke tests forward.
- Under RISE, ECS runs SUM; the customer handles break-points, ramp-down, follow-up and testing.
Check your understanding · not graded
Lesson check
1. Why run the first upgrade test in a sandbox copy?
2. What does the upgrade guide recommend so production can still get emergency fixes while development is locked?
3. Which activity is the customer's job during ramp-down before downtime?