Code Shipping - Feature Development / Planning

> Code - (Programming|Computer) Language > Code Shipping - Change and Deployment Pipeline - Development Lifecycle / Workflow

2 - Large codebase

Ostensibly, rapid deployment is at odds with feature development that requires large changes to the codebase. The solution is to break down such changes into a sequence of smaller and safer ones, hidden behind an abstraction.

For example, data migration from an existing store to a new one can be broken down. See data migration example


3 - Request

Feature request dashboard example: Ezoic

4 - Lifecyle

Features can be in one of 4 states:

  • Internal
  • Incubating
  • Public
  • Deprecated

See Gradle example

4.1 - toggle (flag)


A feature toggle (also feature switch, feature flag, feature flipper, conditional feature, etc.) is a switch that can enable or disable a feature at run time (generally for a subset of the users via a web interface).

It's a an alternative to feature branches where a feature can be tested even before it is completed and ready for release.