Automation
Pipeline Automation
Summary
Repeatable delivery pipeline work is automated by default, and feasible manual steps represent incomplete automation.
Reasoning
Manual execution of repeatable delivery work consumes engineering time and permits avoidable variation. Automation provides repeatable execution and prevents recurring manual steps from becoming accepted practice.
Implemented By These Standards
- Schema Design & Evolution
- Configuration Management
- Database Migration Tooling
- Linting & Style Enforcement
- Static Code Analysis
- Build & Artifact Management
- Continuous Delivery & Deployment
- Continuous Integration
- Environment Strategy
- Infrastructure as Code
- Accessibility Testing
- Application Security Testing
- Integration Testing
- Unit Testing
- Vulnerability & Dependency Management
Engineering and Operations Automation
Summary
Automation applies to repeatable engineering and operational work beyond delivery pipelines.
Reasoning
Repeatable work outside delivery pipelines has the same consistency and efficiency concerns as delivery activity. Matching the automation approach to the task's complexity avoids introducing unnecessary operational burden.
Implemented By These Standards
- Code Style & Formatting
- Cost & Impact Visibility
- Backup & Disaster Recovery
- Metrics, Monitoring & Alerting
- Runbooks
- Container Orchestration
- Infrastructure as Code
- Managed Services
- Performance & Load Testing
- Test Data Management
- Vulnerability & Dependency Management
Automation as Code
Summary
Automation logic is version-controlled and maintained as an engineering artifact.
Reasoning
Version control makes automation definitions reviewable and traceable. Ongoing maintenance prevents automation from drifting from the processes it enforces.
Risk-proportionate testing and validation provide evidence that automation remains current and behaves as intended.
Implemented By These Standards
- Schema Design & Evolution
- Code Review
- Database Migration Tooling
- Linting & Style Enforcement
- Static Code Analysis
- Continuous Delivery & Deployment
- Continuous Integration
- Container Orchestration
- Infrastructure as Code
Automation and Human Judgement
Summary
Automation performs repeatable mechanical checks, while decisions that require context or novel tradeoffs remain subject to human judgement and review.
Reasoning
Novel design tradeoffs and unanticipated exceptions require context and judgement that a repeatable automated process cannot supply. Automation frees engineering capacity for these decisions by taking on repetitive execution.
Automated delivery pipeline gates apply rule-based checks consistently and stop known failures from progressing. Passing gates do not replace human code review and approval, which remains focused on the judgement calls that automated checks cannot make.
Implemented By These Standards
- AI-Assisted Development
- AI Usage & Verification in Code Review
- Branching Strategy
- Code Review
- Database Migration Tooling
- Linting & Style Enforcement
- Static Code Analysis
- Version Control
- Continuous Delivery & Deployment
- Continuous Integration
- Application Security Testing
- Integration Testing
- Performance & Load Testing
- Unit Testing