What do you do when a customer requests a change or a new feature in your product that only applies to that one customer? Broadly speaking, you have two options: a feature branch or a feature toggle, and for most situations feature toggles win hands down. But feature toggles can get complex - does the feature toggle apply only at startup, or can it be changed at runtime? Does it apply to everyone or only certain users? What if you have more than one feature toggle (and you know you will): could there be groups of features you want to turn on and off? What if your feature is part of a web application? Will it apply system-wide or only to certain URLs? And how do you go about designing something like this? Here's a clue: as with much if not most development, if your first impulse is to open the data dictionary you're doing it wrong.