header.jpg

Every once in a while you encounter a challenging modelling problem in your domain. The kind of problem that needs a few iterations to become something simple and elegant.

Many times I asked for feedback on the problem from people in the community. That feedback has always been invaluable to me to find a solution.

What would be the result if a large group of unrelated people worked on these problems? Recently I had the chance to try this at Domain Driven Design Europe. I prepared 6 cases with challenges I’ve dealt with in the past. Each case had a clear business requirement and a hidden “modelling problem”. Some of those problems were related to time, others to implicit concepts or data models.

I asked everyone to pick the problem that appealed them the most and to go to one of the modelling spaces that we’re available. 4 out of 6 cases were chosen so we had 2 x 2 teams working on the same problem.

workshop.jpg

Every 20 minutes or so I stopped everyone to see how it was going and to check if everyone had fun. Sometimes I jumped in to answer questions on the domain or to add a constraint to the problem to uncover a part of the problem.

At the end of the workshop we discussed the hidden problem and the teams explained their solutions. As promised, I shared how we solved the problem at the time.

Why Micro Models?

Domain Driven Design can be intimidating. More often than not new questions arise when a new topic or technique is explored. Many of these questions are answered with “it depends”, but the path to the correct answer is long and almost always out of reach for a short workshop.

By keeping the scope of the cases challenging, but small enough at the same time, there’s time to explore new modelling techniques while exercising. Try a role-play, work with physical props to visualize the process, can you replace a part of the system by something off the shelf?

All the cases are universal enough to translate to your domain so you go home with new ideas and inspiration for other domain problems!

Special thanks to Bernd, Wim, Kristof, Peter and Jef for the input during the try-out!

Interested in running this workshop at your company or conference? Contact me