Architecture & DDD Kata: Online Car Dealership

--

I’ve just created a new kata which you and your team/friends can use to practice your architecture and domain-driven design skills. It’s completely free to use and there is no marketing involved, just copy the contents from this Miro board into a Miro board of your own. You’re free to remix, reuse, and modify any of the content however you wish and you don’t need my permission for anything.

Last year I published a similar kata using the Takeaway Food industry. You can find out more about that here: https://medium.com/nick-tune-tech-strategy-blog/strategic-domain-driven-design-kata-delivericious-b114ca77163

This kata is based on content from my workshops. I’ve used it a few times now and it seems to have worked well so I thought it would be good to share.

This kata is split into four sections that address different aspects of architecting software systems. The first part is creating a business model for the fictitious company called Dreamland Dealership, a fully online car dealership (this is not based on any real company). All architecture decisions are ultimately driven by a company’s business model, so I think this is a sensible starting point.

The second part of the workshop explores the company’s domain landscape (business processes, user journeys, products, systems, etc) using an event storm. First with a domain quiz, and then by slicing up the provided event storm into domains.

The third part of the worskhop focuses on strategy — how different domains connect to the business strategy. Is each domain core, supporting, or generic? A list of sample domains are provided which participants can place accordingly on a core domain chart.

There’s no correct answer for this activity. Like most of the exercises, the intention is to create a space to discuss, heuristics, principles, patterns, trade-offs etc.

The final part of the kata provides a space for trying out message flow modelling. This is a technique for stitching domains together using commands, events, and queries to determine if the proposed domain boundaries are good candidates for software architecture boundaries.

Questions and Feedback

The Miro board for this kata contains instructions, timings, and some advice for facilitators next to each activity. However, if you do have any questions, feel free to contact me on Twitter or LinkedIn.

I’m always keen to hear from people who have ideas for improving these katas, too.

You don’t need my permission to re-use and modify the content, but if you do create something good I’m always keen to learn from other people’s good ideas so feel free to contact me.

--

--

Nick Tune
Strategy, Architecture, Continuous Delivery, and DDD

Principal Consultant @ Empathy Software and author of Architecture Modernization (Manning)