The Simplest Thing That Could Possibly Work
Software can be complex, and it’s easy for teams to feel overwhelmed. To calm things down, and help deal with overwhelming complexity, one of XPs mantras is to do the simplest thing that could possibly work.
For programmers, that might mean starting with a simple unit test, and only adding additional complexity once that one is working.
For design that could means starting with something ridiculously simple, and adding more complexity just-in-time, if the next story warrants it.
The value of simplicity is to keep things as simple as possible, and take away anything non-essential that doesn’t add value.
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.
C. A. R. Hoare
