Join my Continuous Delivery course to master the principles and practices of efficient and reliable software deployment through hands-on examples, automation pipelines, and testing strategies, elevating your software engineering skills.
# | Title | Sections | Video | Slides | Printable Slides |
Markdown Slides |
---|---|---|---|---|---|---|
1 | Course Outline | Created By, Main References, Auxiliary References, Table of Contents | ▶ | ⥱ | ⎙ | ⎙ |
Foundations | ||||||
2 | Introduction | Definition, Minimum Viable CD, Ingredients, Deployment Pipeline, Why?, Impacts (Software Delivery Performance, Culture), Relation with Other Movements, Scrumfall, Case Studies, CD Patterns Mindmap | ▶ | ⥱ | ⎙ | ⎙ |
3 | The Problem of Delivering Software | Release Antipatterns, Goals, Criterias, Benefits, Release Candidate, Principles | ▶ | ⥱ | ⎙ | ⎙ |
4 | Configuration Management | Version Control and Advices, Managing Dependencies, Managing Software Configuration, Managing Environments | ▶ | ⥱ | ⎙ | ⎙ |
5 | Continuous Integration | Implementation, Prerequisites, Practices, Challenges | ▶ | ⥱ | ⎙ | ⎙ |
6 | Testing Strategy | Types of Tests, Test Doubles, Test Coverage Criteria, TDD, Real-Life Situations and Strategies, Integration Testing, Process | ▶ | ⥱ | ⎙ | ⎙ |
Deplyment Pipeline | ||||||
7 | Anatomy of the Deployment Pipeline | A Basic Deployment Pipeline, Practices, The Commit Stage, Test Stages, Release and Deployment Stages, Implementation, Metrics | ▶ | ⥱ | ⎙ | ⎙ |
8 | Build and Deployment Scripting | Build Tools, Monorepo vs Polyrepo, Principles and Practices, Package Managers, Code Generation, Sample Project Structure, Deployment Scripting, Tips and Tricks, Infrastructure as Code | ▶ | ⥱ | ⎙ | ⎙ |
9 | The Commit Stage | Principles and Practices, The Results, Commit Test Suite Principles and Practices | ▶ | ⥱ | ⎙ | ⎙ |
10 | Automated Acceptance Testing | Why?, Process and Roles, Testing and Documentation, The Application Driver Layer, Implementation, The Acceptance Test Stage, Performance Practices | ▶ | ⥱ | ⎙ | ⎙ |
11 | Managing Nonfunctional Requirements | Managing Nonfunctional Requirements | ▶ | ⥱ | ⎙ | ⎙ |
12 | Deploying and Releasing Applications | Release Strategy, Deploying and Promoting Your Application, Semantic Versioning, Rolling Back Deployments and Zero-Downtime Releases, Emergency Fixes, Continuous Deployment, Semantic Release, Tips and Tricks | ▶ | ⥱ | ⎙ | ⎙ |
Delivery Ecosystem | ||||||
13 | Managing Infrastructure and Environments | Understanding Operation Team, Modeling and Managing Infrastructure, Managing Server Provisioning and Configuration, Managing the Configuration of Middleware, Managing Infrastructure Services, Virtualization, Cloud Computing, Monitoring Infrastructure and Applications | ▶ | ⥱ | ⎙ | ⎙ |
14 | Managing Data | Database Scripting, Incremental Change, Rolling Back Databases and Zero-Downtime Releases, Managing Test Data, Data Management and the Deployment Pipeline | ▶ | ⥱ | ⎙ | ⎙ |
15 | Managing Components and Dependencies | Keeping Application Releasable, Dependencies, Components, Managing Dependency Graph, Managing Binaries | ▶ | ⥱ | ⎙ | ⎙ |
16 | Advanced Version Control | Brief history, Branching and Merging, Distributed Version Control Systems (DVCS), Stream-Based Version Control Systems, Branching Patterns, Popular Branching Policies | ▶ | ⥱ | ⎙ | ⎙ |
17 | Managing Continuous Delivery | Maturity Models (Jez Humble Maturity Model, Qualitic Maturity Model, Google Test Certified Ladder), Project Lifecycle, Risk Management Process, Common Delivery Problem (Symptoms and Causes) | ▶ | ⥱ | ⎙ | ⎙ |
The presentation slides are created using the reveal.js library. You have access to all the features provided by this library. You can enter overview mode by pressing ESC or O, enable speaker view by pressing S, activate full-screen mode by pressing F, initiate a search by pressing Ctrl+Shift+F, zoom in by pressing Ctrl+MouseClick, and print as PDF by appending ?print-pdf to the end of the URL and using the browser's print dialog.