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
FThis article describes a pattern we have observed and applied in multi-team-scope architecture modernization initiatives, the Architecture Modernization Enabling Team (AMET). An AMET is a type of architecture enabling team that coordinates and upskills all teams and stakeholders in the modernization initiative.
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.
Architecture modernization initiatives are strategic efforts involving many teams, usually for many months or years. An AMET is an architecture Enabling Team that helps to coordinate and upskill all teams and stakeholders involved in a modernization initiative. They need a more loosely coupled architecture and empowered teams.
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.
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.
I’ve just created a new kata which you and your team/friends can use to practice your architecture and domain-driven design skills. 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.
If I can capture key information earlier, that gives me a good understanding of key elements of the business’s architecture, we can get to valuable conversations sooner. I’m looking at this challenge from multiple angles, and one of them is figuring out the key information I need. The product taxonomy definitions by Ross Clanton et al.
Is there any way it’s possible to predict the future so that our architecture can easily absorb the changes we need to make of it? One thing I want you to notice is that good architecture is about more than just defining good boundaries. In DDD a bounded context is an independent, loosely-coupled architectural component.
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. Design review is basically a code review but for architecture.
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.
There are a few qualities that differentiate average from high performing software engineering organisations. I believe that attitude towards the design of code and architecture is one of them. In Accelerate , Nicole Forsgren shows a link between well-designed, loosely-coupled architecture and more frequent software delivery.
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.
Layers start to emerge and as a result, shipping new customer-facing features require changes that cut through multiple layers of the architecture. Being aware of the patterns inherent to layered sociotechnical architectures can save you a lot of pain and politics in the long-term. As a consequence, we also have subservient teams?—?teams
One of the challenges I see regularly is inertia following domain discovery workshops. Another hurdle to decision making is when technology leaders feel that the skills needed to deliver big changes don’t exist within the organization like the lack of DDD, architecture, or cloud skills.
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. frontend, backend, DBAs).
And of course, if you’re interested in getting some help in April or May for architecture review, DevSecCostOps (™) , or building a Lambda-backed proof-of-concept, then drop us a line. If you’re looking for training we have several tutorials and workshops on the calendar. See our complete speaking schedule here.
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.
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?”.
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.
Rethinking Domain, Software, and Team Boundaries As organizations grow, the structures and practices that helped them to be effective at one scale hinder them at another scale. Moving from a single to multiple products can be one of those situations where architecture starts to get in the way.
Loosely-coupled teams enabled by loosely-coupled softwarearchitecture is one of the strongest predictors of continuous delivery performance and organizational scaling. With loosely-coupled architectures we can invest more granularly where payback is greatest. Diligently-crafted boundaries give us strategic-flexibility.
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