Deployment Safety
Ship changes gradually, safely, and reversibly
Enforceable guidelines from our catalog
Feature Flags Must Control New Functionality for Gradual Rollout
All new features must be protected by feature flags using Spring Boot @ConditionalOnProperty, LaunchDarkly, or ConfigCat that enable gradual rollout to user segments, allowing quick disabling of problematic features without code deployment using external configuration.
Database Schema Changes Must Be Backward Compatible
Database schema modifications using Flyway, Liquibase, or JPA DDL must maintain compatibility with the previous application version through additive changes, column defaults, and multi-phase migrations to enable zero-downtime deployments and safe rollbacks.
Dark Launches Must Enable Production Testing Without User Impact
New features must support dark launch capabilities using feature flags, parallel execution branches, or shadow traffic that exercise code paths in production with real data while hiding results from end users through conditional rendering or response filtering.
and get unlimited access to our guidelines catalog