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
Development Type
There are two ways to develop a feature:
- via a branch
- via a flag (for a trunk based developement)
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
- uservoice.com: Feature request dashboard example: Ezoic