XP teams prefer simple solutions where possible. Here are four criteria used to evaluate the simplicity of a design:
- Appropriate for the intended audience.It doesn’t matter how brilliant and elegant a piece of design is; if the people who need to work with it don’t understand it, it isn’t simple for them.
- Communicative. Every idea that needs to be communicated is represented in the system. Like words in a vocabulary, the elements of the system communicate to future readers.
- Factored. Duplication of logic or structure makes code hard to understand and modify.
- Minimal. Within the above three constraints, the system should have the fewest elements possible. Fewer elements means less to test, document, and communicate.
Originally published at tinyletter.com.