Yagni
YAGNI (You Ain’t Gonna Need It)
Maybe not as involved at SOLID. Here is a small overview.
YAGNI, You Ain’t Gonna Need It, or You Aren’t Going to Need It is a principle from Extreme Programming (and somehow related with Lean Thinking) that states that a programmer should not add functionality until it is completely necessary:
- Cost of building — All the effort spent on analyzing, programming, and testing a feature.
- Cost of delay — The lost opportunity to build and release another feature now.
8Cost of carry — The complexity added by the feature to the code, making the software harder to modify and debug.
- Cost of repair — The effort spent on modifying a feature because it is not exactly what you need now.