Session 5.3 - Integration Strategy & Planning
Chapter 9: Integration & System Testing | Duration: 1 hr
Learning Objectives
By the end of this session, you will be able to:
- Define an integration strategy that minimizes risk
- Order component integration by dependencies and risk
- Decide when to use drivers/stubs vs. building real neighbors
- Prepare integration environment and data
Introduction
Integration is where architectural mistakes surface. Chapter 9 emphasizes planning integration order, minimizing special drivers/stubs, and preparing an environment that mirrors real use.
Integration Strategy
Key Moves
- Integrate high-risk interfaces early.
- Use cycle scope to learn from early integration failures.
- Align with integration test plan produced during design.
Order & Dependencies
Sequence integration to reduce rework:
- Start with stable, low-dependency components.
- Integrate components that provide services before those that consume them.
- Consider data/control flow to avoid circular waits.
Drivers, Stubs, and Environment
| Aid | When to Use | Goal |
|---|---|---|
| Drivers | To call lower-level components before callers are ready. | Exercise services early; reduce blockages. |
| Stubs | To simulate not-yet-built services for a caller. | Let callers progress; keep interfaces stable. |
| Real neighbors | Preferred; plan build order to minimize test scaffolding. | Reduce waste and mismatch risk. |
Prepare realistic data sets and environment configurations before integration runs.
Summary
- Plan integration deliberately—order by dependencies and risk.
- Use drivers/stubs sparingly; prefer real neighbors where possible.
- Re-use the integration test plan created during design.
- Set up environment and data before integration starts.