5.4.2. Build and Release Concepts
💡 First Principle: This cluster of terms — specification, prototype, release, test, and the three "continuous" practices — names how software and product components move from idea to production, and the most-tested point is that continuous integration, delivery, and deployment are three escalating, distinct things.
Key build/release terms: a product specification is a documented description of a product's requirements and characteristics; a product prototype is an early, working sample built to test and refine ideas; a release is a version of a product or service (or set of changes) made available for use; a test is an activity that verifies something meets its requirements.
The three "continuous" practices, escalating:
| Practice | What it automates | Where it stops |
|---|---|---|
| Continuous integration (CI) | Frequently merging and testing code changes | At verified, integrated code |
| Continuous delivery | Keeping code in a always-releasable state | At the door of production (release is a decision) |
| Continuous deployment | Automatically releasing every passing change | All the way to production, no manual gate |
⚠️ Exam Trap: The CI/CD trio is a guaranteed confusable. Anchor: integration = merge and test; delivery = ready to release on demand; deployment = automatically released to production. Continuous delivery keeps a human decision before production; continuous deployment removes it.
Reflection Question: What single difference separates continuous delivery from continuous deployment?