Think, Do, Check
Every day, for as long as we work on a software system, we learn interesting things about the software. Every new thing we learn might force the architecture to evolve to reconcile the new information. For us to keep tabs on this ever changing landscape, we need a design approach with a tight feedback loop that gives us the opportunity to change our mindsets often.
There are three steps in our approach: think, do, and check. Each iteration of the think-do-check cycle focuses on a particular design mindset.
Iterate to Learn
An iteration can be as brief as a few minutes or as long as a few days. We prefer shorter cycles over longer ...