Deployment Safety

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.

Sign up for free
and get unlimited access to our guidelines catalog