ddd-crew / bounded-context-canvas

A structured approach to designing and documenting each of your bounded contexts
Creative Commons Attribution Share Alike 4.0 International
1.83k stars 170 forks source link

Add user persona / role as Collaborator Type #16

Closed mploed closed 4 years ago

mploed commented 4 years ago

The current canvas in v4 contains the following collaborator types:

This may imply that the frontend is not part of a bounded context. This is the case when there is a separate frontend (system and/or team) and I think it is a correct collaborator type.

However, when you model bounded contexts with the idead behind Self-contained Systems (see https://scs-architecture.org/ ) in mind this may not be the way to model these aspects because a SCS provides its own frontend or frontend widgets. In this context I see the frontend as part of the implementation of a bounded context and I would rather see a user persona or role as a collaborator.

What is your take on that?

Max-Git commented 4 years ago

I think that collaborator types is not a closed list. We maybe should mention that everyone can use their own notation if they have one. This is something I do when I'm running EventStorming, I always ask if people at the company are already used to a custom notation to represent things and ask them to use it so that it makes things more clearer for everyone. As you said, a Bounded Context could have its own FrontEnd and an External System could also be a web application with its own FrontEnd as well.

NTCoding commented 4 years ago

@Max-Git @mploed yes, you are right. It's not a closed list and I think it's good to have a "Direct user interaction" icon.

I was discussing other possibilities with @nagelfar a while ago where his client were using micro-frontends and wanted to visualise a bounded context exposing HTML fragments. I don't know if they have yet added it to their Bounded Context Canvas tool Contexture https://github.com/Softwarepark/Contexture

mploed commented 4 years ago

@Max-Git @NTCoding Don't get me wrong: of course it is not a closed list and I don't use it like that. Nevertheless I thought it may be a good idea to add the user as an option to the collaborator types because it is pretty prominent.

@NTCoding I'm currently dealing with a micro-frontends situation as well and that is exactly where this issue comes from ;-)

NTCoding commented 4 years ago

@mploed I agree, I think it's useful to add the direct user interaction to the standard list. I'll try to find some time for that (unfortunately quite busy at the moment).