Why not add an option for that?

Evan Martin:

If you've ever developed software you've surely had users ask you to add an option. "Rather than forcing everyone into behavior A," they'll reason, "why not add an option so users can choose between behaviors A and B?"

This post is an attempt at producing a canonical consolidated answer to why the answer to this is often "no".

Such a good and clear list of reasons why “just adding it as an option” is (probably), a bad idea.

In summary:

Options are features, and features are expensive

  • Adding an option introduces a bunch of questions
    • Where does the option live?
    • How does it get toggled?
    • How do we tell users about the option?

Implementing an option isn’t a one time thing - you have to keep maintaining it

  • As options are features, you have to maintain them like featyres
  • Every option you add can introduce multiplying effects on the difficulty of testing and debugging your product