Skip to content

Commit 847e730

Browse files
committed
Updates feature-flags/feature-flagging-guidelines.md
Auto commit by GitBook Editor
1 parent e8d222f commit 847e730

File tree

3 files changed

+31
-0
lines changed

3 files changed

+31
-0
lines changed

SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* [Introduction](README.md)
44
* [Feature Flags](feature-flags.md)
55
* [Feature Flagging Guidelines](feature-flags/feature-flagging-guidelines.md)
6+
* [When To Use Feature Flags](feature-flags/when-to-use-feature-flags.md)
67
* [Why We Use Feature Flags](feature-flags/why-we-use-feature-flags.md)
78
* [References](feature-flags/references.md)
89

feature-flags/feature-flagging-guidelines.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Feature Flagging Guidelines
22

3+
Below is the list of guidelines that we encourage all engineers to follow as they implement features in to our codebases.
4+
35

46

57
1. **No change is too small to be feature flagged**. Start with the mind set that a change will be feature flagged. If you choose not to, there should be considered reasoning behind why that’s the case
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# When To Use Feature Flags
2+
3+
## tl;dr;
4+
5+
**Always**.
6+
7+
8+
9+
However, things are never that black and white. But the point is that we should be approaching everything with the intention to feature flag it, and only after considered thought and reasoning should we decide not to feature flag something.
10+
11+
12+
13+
> Approach everything with the intention of wrapping it in a feature flag. Only after considered thought and reasoning should we decide otherwise.
14+
15+
16+
No feature is to small to be wrapped in a feature flag. The size of the change is not what matters. It’s about being able to control the rollout of the change that is important. It’s about communication of the change with people such as those in the Growth and Support teams who need to be aware of what is released and when. By feature flagging changes, we give Growth and Support the responsibility to decide when to release the features and to whom.
17+
18+
19+
20+
## What about bug fixes?
21+
22+
Bug fixes are often an exception to the rule above. This is because a bug is a defect in our code. A bug fix is correcting something that we should have done correctly the first time round. We, therefore, almost always want to roll out the fix to everyone, as soon as we can. There is no point holding back a fix for a bug from people and so, a feature flag usually is not appropriate.
23+
24+
25+
This, however, does not mean that, because there is no feature flag for Growth and Support to enable, that we should skip the communication with them about the fix going out. In fact, it’s even more important that we do so.
26+
27+
It’s likely support are the ones that have requested the fix so it’s imperative that we continue to communicate with Growth and Support as we would any other feature. Just let them know that the fix will be available as soon as it’s deployed.
28+

0 commit comments

Comments
 (0)