Table of Contents

About

An application is composed logically from one or more features.

Ignorance is a feature of the human mind, not a bug

State

Features can be in one of 4 states:

  • Internal
  • Incubating
  • Public
  • Deprecated

1)

Development Type

There are two ways to develop a feature:

Branch

The version control system allows creating branch called feature branches where a feature can be tested even before it is completed and ready for release.

Flag

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

A feature flag is also known as:

  • feature toggle 2)
  • feature switch,
  • feature flipper,
  • conditional feature,
  • etc.

Platform: launchdarkly.com (used by postman)

Planning

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

Third party