This site uses cookies to improve your experience. To help us insure we adhere to various privacy regulations, please select your country/region of residence. If you do not select a country, we will assume you are from the United States. Select your Cookie Settings or view our Privacy Policy and Terms of Use.
Cookie Settings
Cookies and similar technologies are used on this website for proper function of the website, for tracking performance analytics and for marketing purposes. We and some of our third-party providers may use cookie data for various purposes. Please review the cookie settings below and choose your preference.
Used for the proper function of the website
Used for monitoring website traffic and interactions
Cookie Settings
Cookies and similar technologies are used on this website for proper function of the website, for tracking performance analytics and for marketing purposes. We and some of our third-party providers may use cookie data for various purposes. Please review the cookie settings below and choose your preference.
Strictly Necessary: Used for the proper function of the website
Performance/Analytics: Used for monitoring website traffic and interactions
This is the question I get asked the most, so I’ve put together this article describing a workshop recipe you can use. This workshop format is designed around both of these needs and uses two tools in order to find the most effective system design: EventStorming and the Bounded Context Design Canvas.
My participation at these conferences is a mixture of talks and workshops. I’ve used Miro exclusively for my in-person workshops and talks, and I plan to for all upcoming events. Miro for In-person Workshops? At NDC Porto 2022, I teamed up with Maxime Sanglan-Charlier to run our 2 hour softwarearchitecture-themed workshop.
Thoughtful and effective decision-making was a key trend at the O’Reilly SoftwareArchitecture Conference in Berlin 2019. The ability to make good decisions might be the most important aspect of a softwarearchitecture practitioner’s job. Every day.every week.every month, you make critical architectural decisions.
They are also a vital step toward defining the Kickstarter workshop. AMET designs and facilitates the Kickstarter Workshop. We recommend this to be a three-or-more-day workshop where the AMET gathers with relevant stakeholders (business, product, technology, etc.). This is fundamental to having a successful kickstart.
If you would like to learn or practice how to break up a large business into domains and use them as the foundation for your softwarearchitecture and team organization, I have created a strategic domain-driven design kata that you may find useful.
Mapping out your business’s domain landscape has many benefits: knowledge sharing, generating product ideas, providing the foundation for softwarearchitecture, aligning on requirements, but a common challenge is… “where do we start?” The following steps are my baseline format for a series of discovery workshops.
You can find out more about that here: [link] This kata is based on content from my workshops. This kata is split into four sections that address different aspects of architecting software systems. All architecture decisions are ultimately driven by a company’s business model, so I think this is a sensible starting point.
Here’s an example I use in talks and workshops: How to group these concepts into domains? The same concepts can belong to different domains When modelling systems we have to choose the most appropriate domain boundaries with which to align our software and organisational boundaries.
In every workshop, I always ask everyone “Imagine there is no text here. What do you read from the image below, and what might you propose to do next in the workshop? You can do this with almost any visual workshop technique. What is this arrangement of colours and shapes telling you?”.
Run Regular Design Katas and Internal Workshops Design katas are an excellent way to build up an appreciation for design, both at the code and architectural level. Katas and workshops are useful techniques for early adopters/influencers and enabling teams to employ.
We will be running a remote-optimised domain-driven design workshop on 15–16th June where we will use some of the techniques discussed in this post and many others, like the bounded context canvas. We can use these to capture outcomes from the workshop aka follow-up actions. In my in-person workshops, I’ve faced this hard limitation.
If you like the content in this article, and want to learn more about using Domain-Driven Design to create a loosely-coupled architecture and organisational structure, keep an eye out for my upcoming public workshops , or contact me for private consulting and training opportunities.
This organisational pattern can be mirrored in the softwarearchitecture, emphasising the sociotechnical nature of systems. While it is nice to go out of your way to please others, the resulting compromises to the softwarearchitecture can lead to dangerous sociotechnical side-effects.
the brief past, the bewildering present, and the beautiful future” here , with resources here ), and John was with our friends from O’Reilly at the latest NYC SoftwareArchitecture Conference giving a talk on “Mostly Serverless” and a tutorial covering “Continuous Delivery in an Ephemeral World”. I hope to see some of you there.
If we align our softwarearchitecture and teams with these enduring business capabilities, theoretically we’ll have stable, long-term boundaries within which to create sustainable software and minimal dependencies between the teams that run them.
One of the challenges I see regularly is inertia following domain discovery workshops. Techniques like big picture event storming are great for mapping out the business and visualising problems and opportunities, but that’s where progress can easily get stuck. How do you go from event storm to product and organizational improvements?
You can also experiment with various workshop formats. However, we recommend filling some parts of the canvas as early as possible to surface any major issues that need urgent attention, certainly before the team’s work ramps up. For example, the first people forming the AMET come together and start defining the mission and targets.
The value is in talking through the template, discussing each part, and identifying unknowns, conflicts, or other interesting factors that may benefit from additional discussions or potentially workshops. Feel free to leave a comment or message me directly if you’re interested in this topic and want to discuss anything.
I suggest regular domain discovery workshops to identify hidden domain coupling. At first they might build all the features that don’t require them to talk to other teams, hiding the problem. A bit further down the road, dependencies start to appear and changes often require both codebases to change at the same time.
Loosely-coupled teams enabled by loosely-coupled softwarearchitecture is one of the strongest predictors of continuous delivery performance and organizational scaling. Nicole Forsgren and Jez Humble report this finding in their recently-published book Accelerate , drawing on their extensive empirical research. “If
If you’d like to go through the whole process of modelling domains, shaping the softwarearchitecture, and finding aggregates, join my 2 day workshop at DDD EU in February 2020. Hope to see you there.
We organize all of the trending information in your field so you don't have to. Join 5,000+ users and stay up to date on the latest articles your peers are reading.
You know about us, now we want to get to know you!
Let's personalize your content
Let's get even more personalized
We recognize your account from another site in our network, please click 'Send Email' below to continue with verifying your account and setting a password.
Let's personalize your content