Software Development Triangle
Choose any two — Maintainable, Configurable, Speed.
When creating a new software, you could only have two out of the following:
- Maintainable
- Configurable
- Speed
If you choose to focus on maintainability and configurability, it’ll take a long time to develop and performance might be impacted.
If you choose to focus on maintainability and speed (of development and performance), you might not have a configurable system (i.e. with many features and options).
If you choose to focus on lots of configurations and speed, you might have to sacrifice maintainability of your software.