Our clients don't know what they need. This happens because no one can foresee the future. Requirements will evolve and change rapidly over the lifecycle of the project. That's why we need to constantly refine systems. We can keep building and discarding prototypes, but it's extremely costly. Often we can't afford to rewrite everything from scratch only because some new domain insights were discovered. This eventually leads to a mismatched model. Is there another way? We can focus on domain only and refine our model through examples, until we find the right conceptual contours (http://ddd.fed.wiki.org/view/welcome-visitors/view/conceptual-contours). Each such iteration of the model is a kind of experiment challenging the upfront decisions. During this presentation I'm going to show how you can use example mapping combined with business-oriented TDD to be able to run rapid experiments directly on the domain model, without a need to rewrite the system again.

See the Forest for the Trees – Trond Hjorteland
When developing your software products, be it coding, testing, user experience, product management, or all the other elements required to solve a customer need, do you understand what the rest of the people do to make that happen? What about the other people in your...