Chapter 6: Deployment & Release
Management
1. Big Picture: Product Development Process
• Phases = User research → Journey maps → Feature prioritization → Prototyping →
UI/UX → Tech Development → Deployment.
• PM’s role = Generalist conductor, ensuring smooth handover across all phases.
2. Packaging
• Meaning: Bundle code + dependencies → create deployable unit.
• Includes: Libraries, frameworks, versioning.
• Docker = most common packaging tool.
• Example: Dockerfile to package [Link] app → runs same in dev, test, prod.
Think of packaging like zipping clothes + accessories in one bag so it’s ready for any
trip.
3. Environments
Different “rooms” for app testing before users see it:
• Dev → For coding.
• Testing/QA → For bug fixing.
• UAT → Business users validate.
• Pre-Prod → Replica of Prod for final check.
• Prod → Live for end users.
• Load Test Env → Stress test for high traffic.
Example: [Link] → [Link] → [Link].
4. Configuration Management
• Config = settings that control app behavior (API keys, DB URLs, feature flags).
• Managed separately from code for flexibility + security.
• Tools: Azure Key Vault, AWS Secrets Manager.
• Example: Payment bypass flag ON in testing but OFF in prod.
Analogy: Like keeping TV remote settings separate from the TV itself.
5. CI/CD Pipelines
• CI (Continuous Integration) → Code auto-built + tested after commit.
• CT (Continuous Testing) → Automated tests run.
• CD (Continuous Deployment) → Auto-deploy to environments if tests pass.
• Enables fast, safe releases (Netflix deploys daily).
Example: GitHub Actions workflow to install → test → deploy [Link] app.
6. Code Repositories & Commits
• Repo = Central code store (GitHub, Azure Repos).
• Workflow: Pull → Code → Commit → Push → Merge.
• Branching = parallel work (no conflict).
• Example Git commands:
• git checkout -b feature-branch
• git add .
• git commit -m "Added login feature"
• git push origin feature-branch
Exam tip: “Git = Google Docs for code” (version history + collaboration).
7. Infrastructure as Code (IaC)
• Define infra using scripts/code (Terraform, Ansible).
• Benefits: Repeatability, automation, speed.
• Example: Terraform script → spins up AWS EC2 server automatically.
Think of IaC like ordering food via Zomato → you just specify items, kitchen handles
setup.
8. DevOps & Observability
• DevOps = End-to-end cycle (Plan → Build → Test → Deploy → Monitor).
• Observability = Monitor app health (errors, performance).
• Tools: Prometheus + Grafana → metrics & dashboards.
• Supports rollbacks if something fails.
9. Automated Testing
• Ensures reliability across environments.
• Types: Functional, Load, Performance, Security.
• Tools: Selenium, JUnit, PyTest.
• Example: Selenium script verifies Google homepage title = “Google.”
Testers now need coding (to automate).
✅ Key Takeaways
• Packaging (Docker) ensures consistency.
• Environments reduce risk → Dev → QA → UAT → Prod.
• CI/CD is backbone of modern release mgmt.
• Config mgmt separates settings from code (feature flags).
• IaC automates infrastructure like code.
• DevOps + Observability ensures fast + safe deployments.
• Automated testing = essential for scaling releases.