Overview#Emergent Design is a Design where solution will emerge little by little as we build up the code in small increments, typically using test-driven development with very short Red Green Refactor cycles.
Emergent Design starts with a rough idea about the Business value you want to deliver, and defer the decisions until you know more.
When it goes well, we avoid a number of problems.
- won’t create a comprehensive design and write a lot of code that only leads us down a rabbit hole that’s hard to climb back out of.
- won’t get carried away with our natural creativity and over-engineer the thing way beyond what our customers want to pay for.
- won’t end up with a suboptimal architecture because we invested too much too soon in our initial design ideas.