Recorded at Domain-Driven Design 2016, January 26-29, Brussels
Developer with passion since 1999 in startups, software vendors and banks, Cyrille is co-founder of Arolla, a French company specializing in software development techniques. Still addicted to development, he dedicates a large part of his energy for clients, hands-on in the code, yet also deeply involved in the business analysis in finance. Passionate about design in every aspect (TDD, BDD, DDD), he also founded the Paris Software Craftsmanship community and he's currently writing a book on Living Documentation.
Deep conversations with domain experts and careful attention to the language are central in DDD. However it takes many years and many failures to get better at this game.
Still, over time it is possible to extract a growing set of techniques and heuristics that can boost the effectiveness of the interviews with domain experts, to learn faster and converge quickly to better models.
There are techniques and heuristics for asking better questions, listening carefully to words and other signals, and for managing credibility as a developer facing business experts. Beyond that, there are also some recently found modeling patterns which can also help recognise and clarify Bounded Contexts much earlier.
If you think all the above is important, then you are likely doing a good job at Domain-Driven Design, and paying attention to interviewing techniques will improve your skills, step up the quality of your collaboration with your domain experts, and will provide many benefits for your domain models. And if you find all that boring, then perhaps you could focus your career on Java EE instead.
From one entry in the Blue Book, Bounded Contexts have since evolved into a bestiary of mythical creatures like Bubble Context, Interchange Context or even "Uber-Context", each with different rationales that somehow challenge their initial definition. We now have recurring relationships between them like in the Collaborative Construction pattern. We now know that Bounded Contexts are a solution thing, not a problem thing, but some confusion remains, and we can make the matter even more confusing with crazy questions like ”Can Bounded Contexts be nested?”, ”Are Aggregates mini Bounded Contexts?’ or ”Is it useful to say that legacy UI and DB layers are their own Bounded Contexts?”.
During this semi-structured Open-Space session, every attendee can contribute examples or feedbacks, ask questions and share their ideas and opinions on this topic. Contributions in any form (slides, pictures, code…) are also welcome prior to the session and will be be credited.