Giter Club home page Giter Club logo

ddd-starter-modelling-process's People

Contributors

adymitruk avatar arnolanglade avatar barvoj avatar biwkf avatar cakper avatar cremich avatar doggy8088 avatar emgsilva avatar fdamico-codurance avatar guchman avatar holysi avatar javujavichi avatar max-git avatar mploed avatar neolytian avatar ntcoding avatar oroumand avatar sandeepatsteerwise avatar skleanthous avatar trondhjort avatar yellowbrickc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ddd-starter-modelling-process's Issues

Switch the order of Strategize and Connect to have Strategize first

Hey all.

I would like to suggest switching the order of Strategize and Connect to have Strategize first.

I'm recommending this because I've often found that how we connect our system, and even the patterns and technical aspects we use when connecting, need to support how we view the subdomains of systems in question. For example, if we have a core domain with some connections to other non-core systems, selecting a specific pattern of integration over another may allow the core domain to evolve freely.

For an example from my current domain, assume we have a core service A that is responsible for retail order management from a logistics point of view. We (as a system) need to price the draft shipment and also see whether a carrier can ship the shipment. The pricing is a supportive subdomain and the responsibility of service B. Ignoring other subdomains, let's compare these two ways of designing the communications:

  1. A processes the draft shipments and calls B to get prices
  2. A processes the draft shipments and pushes processing to B which subsequently processes and stores the pricing info (for example A publishes an event that B subscribes to)

Choosing option 1 means that A is now free to evolve its behaviour (not just communication contract) with the minimal possibility to require changes to B for the system to work.

Option 2 however is the opposite. Our core domain may need to evolve in such a way that our supportive one can't support requiring potentially big changes.

To not leave this in theoretical space, one example of change in behaviour is introducing two-leg movements (using two carriers to deliver a package: one collects and takes to a depot and another from the depot to the recipient). Option 1 only needs internal changes (or introducing another sub-domain), and service B can still quote normally without knowing what depots are. With option 2 however, now suddenly we need coordinated changes across our system.

Inconsistencies in Align & understand

There is some ambiguity and inconsistency in Align & understand from the picture toward the whirhpool and the text. I can start fixing it, but need access to the O.G. picture. Where was that again?

DDD iterative way

Hi Crew
I was thinking about iteratively using model processing.
I think is better to add when to do it also if we are in an agile context.
what do you think?
PS: I can help if you're open to it.

Adding some case studies

Hello everyone, I'm Javiera Laso and I was one of the speakers at the ddd eu 2022. Talking with @yellowbrickc she ask us to contribute in some way to this repository, but I'm not sure how to do it yet. Here are my slides: How to start with ddd when you have a monolith, I haven't written any post related to this talk (because I just finished the presentation about a month before the conference), but there are some interesting things that can be explained in detail.
So my question is, how can I help?

Add reference to the other repos in ddd-crew

Hi everyone,
This repo is the starting point for all the other "detailed descriptions" in the other repos but we don't reference them yet.
What do you think, should we add a link to every chapter referencing the corresponding repo (if exists)?

Add Italian translation

Hi there, if it can be helpful I can translate the image into my native language (Italian) at this location --> ddd-starter-modelling-process/tree/master/translations

If so, just let me know where I can find the original drawing or which tool you guys used.

Cheers

How to model the inside of a bounded context (how to go from Define to Code) ?

Disclaimer: I am a junior (1.5 y.o.e) software engineer, and I apologize if my questions seem silly.

The starter modelling process is very nice as it provides a clear path to go from nothing to a well-defined system. That being said, I struggle with the last (and crucial) step of going from the bounded context definition to actual code.

The Aggregate Design Canvas helps in defining the aggregates, but it doesn't help me in first finding what the appropriate aggregates are in the first place.

I understand that Design-Level EventStorming and Event Modeling are techniques that can be used to bridge that gap. However, as a first-timer, going from the theory to the practice is rather daunting, and I think that having concrete examples of the processes involved (Bounded context definition --> Event Modeling / other steps --> Aggregates definition) could be very helpful.

By any chance, do you know of existing resources / workshop recordings that showcase the actual implementation of these processes ? I'm really not looking for resources that explain DDD concepts, but rather resources that showcase the application of the DDD concepts all the way down to being able to write code.

Thanks in advance !

Where did the "organize" step go in the overview graphics?

I love the new two refreshed diagrams

One thing I wonder about is where the "organize" part went? There is a step "categorize" no.
Organize is still part of the written description in https://github.com/ddd-crew/ddd-starter-modelling-process/blob/master/README.md, though.

I personally love the organize part because it focusses on bounded context relationships and looks at resulting team relationships.

Suggestions for adding the user perspective

Hi,

Sendt this as a comment to #1, but after it was merged. Try here instead.

Great stuff this, even though I'm a bit worried that people with copy it whole-cloth and end up over-designing. Let's hope not.

I have a couple of comments:

  • Step 1: You mention user need in the process illustration, but can't see it mentioned in the description. I think User Story Mapping would fit perfectly there, done in collaboration with biz and UX. Add a couple of sentences on it and link to https://www.jpattonassociates.com/user-story-mapping/

  • Step 2: I think the user perspective is also often missed here, and find that user story mapping is also beneficial here to make all agree on what we would like to support when (slices in the story map).

  • Step 4: Simon Brown has some extension to his C4 model which I have used and like, Dynamic Diagram (https://c4model.com/#SupplementaryDiagrams)

If you haven't seen it, also like Andrew Hamel-Law's post on starting with DDD: https://www.thoughtworks.com/insights/blog/domain-driven-design-neednt-be-hard-heres-how-start

That's it. Thank you for including Business Capability Modelling.

UI & UX

Do you have any best practices / ressources to integrate UI and UX aspects in the DDD modelling process.

Missing bounded context distillation

I was going through the process again, and when we get to connect we start talking about subdomains, and then doing domain message flow modelling we use Bounded Context but never about distilling/decomposing bounded contexts. Only decompose subdomains.

Then at Organise we introduce context mapping and teams. But no explicit steps in distilling bounded context right?

Should we add that during decompose? Make it more clear? Alberto in his book talks about decompose/distill into emerging bounded context. What do you think?

Inside-out DDD process

The current DDD starter process describes going from the outside-in. From strategic to tactical. A lot of people are not in the position to do so or don't have the resources/capabilities to do so.

I want to start to describe that process of how you would do that from the inside-out perspective.
What do you think?

Importing the github into virtualDDD

Hello Everyone!

I am working on the new website for virtualDDD and want to use an imported to make it into nice github readme post to include it as resource on the website to share.

However there are a few "standardizing" problems in the text.

For it to import the resources folder should be renamed to _resources and all the image should use a like:
DDD Starter Modelling Process

instead of:
![DDD Starter Modelling Process](resources/ddd-starter-modelling-process-colored.png

Would you be okey with me adjusting that :)?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.