• This includes distributed monolits
• DDD helps you identify Bounded Contexts: domain (think business departments) boundaries and model them in code, encapsulating complexity
• Event Storming builds on top of that and further helps identify contexts and discover business processes
• Context mapping will help you model the integration between BC's
• The above are the only really safe way to do microservices. You may succeed outside of DDD / Event Storming, but you're taking a bet
HELPS: by keeping amount of time needed to introduce changes small by encapsulating changes
HELPS: Helps guarantee the information is there when you need it
HELPS: Maintening the solution and adding features to domain is FAR easier
HELPS: Changes do not cascade
HELPS: Adding features keeps taking the same amount of time as time goes by1
HELPS: decrease deployment lead time
• OBVIOUSLY: you need rock-solid CI / CD
HELPS: Reduced lead times because one team does not have to wait for another team
• Event driven architectures help reduce development time dependencies due to NO behavioural coupling
HELPS: Time taken in rework or waste, is time which isn't used in delivering value
All of above help with both waste and rework.