Improve the function of a system by remove unnecessary features.
More Detail
So why do we often feel the pressure to add more features to a system than is desirable? Often times designers make their systems more complicated by allowing edges cases to complicate the core of a simple design.
Or we have committees that don’t understand the problems the are solving well enough.
This is a real problemSystem B is roughly 6 times as complicated as system A because of interactions between the features.
...
More Detail
Features interact with each other which exponentially increases complexity.
Every extra unnecessary option one uses in a solution has a multiplier impact in complexity. Sometimes I refer this as factorial complexity. Factorial numbers are like 5! which means 5 * 4 * 3 * 2 *1 = 120.
Some people find it easier to understand this with specific examples like comparing Apple versus Samsung or Tesla.
Or we can look at is in an abstract way. Think of a solution that needs to solve two problems - call them 1 and 2.
Our first designer A makes a solution which finds a way to only provide one option for problem 1 and one option for problem 2.
Our second designer B makes a solution finds a design which gives two options for each of the problems. Call it 1a and 1b and 2a and 2b.
On the face of it designer A’s system should only be half as complex as designer B’s system - right?
Well no.
The problem is that these features need to be integrated and made to work with one another. Here’s a simple visualization of this:
...