Closed joaoasrosa closed 3 years ago
Hi @joaoasrosa
Which output have you expected? The following one I created for the README:?
This is actually a manually created one... :) The Context Map generator does not support generating this yet. Is the graphic above what you expected or have I misunderstood the issue here?
Hi @stefan-ka ,
Indeed, that is my expectation. I wasn't aware that was generated manually, given the type
directive of the context map.
Does it make sense?
Hi @joaoasrosa,
sorry that I haven't answered to this one... Seems like I ignored the notification and forgot about it :( However, I do understand the requirement! We currently do not support it yet, but I will prioritize it in our planning.
Seems like there are other users who miss that feature :)
Best regards, Stefan
Hi @stefan-ka,
One more here 😄 . I was a bit confused too since the diagram was being shown on the main page. Anyways, the tool looks really promising, I am excited to see where this is going!
Would you mind sharing the teams example generated graphviz dot file? I could use it to make some tweaks and show an example to my company based around the org structure in my team.
Thanks
Hi @polmiro,
Thanks for the feedback! Seems like I should really implement this :) Unfortunately I have to work on something else right now, but it's on the list :)
Actually this one above (where I illustrate a mapping between teams and system Bounded Contexts) is not made with graphviz, sorry. Really made this by hand in Inkscape, before the Context Map generator even existed... (the svg is in the examples repository)
However, do you really need this kind of illustration to show the org structure around your team?
If you just understand your teams as the Bounded Contexts you could at least model something like the following:
ContextMap ExampleTeamMap {
contains CustomersFrontofficeTeam, CustomersBackofficeTeam, ContractsTeam, ClaimsTeam
/* relationships: */
CustomersBackofficeTeam [U,S]->[D,C] CustomersFrontofficeTeam : CustomerTeamsRelationship
CustomersBackofficeTeam [U]->[D] ContractsTeam
ContractsTeam [P]<->[P] ClaimsTeam
}
BoundedContext CustomersBackofficeTeam {
type = TEAM
domainVisionStatement = "This team is responsible for implementing the customers module in the back-office system."
}
BoundedContext CustomersFrontofficeTeam {
type = TEAM
domainVisionStatement = "This team is responsible for implementing the front-office application for the insurance customers."
}
BoundedContext ContractsTeam {
type = TEAM
domainVisionStatement = "This team is responsible for implementing the contract- and policy-management modules in the back-office system."
}
BoundedContext ClaimsTeam {
type = TEAM
domainVisionStatement = "This team is responsible for for implementing the claims module and providing customer risks information."
}
... with which you could generate a Context Map in @ContextMapper:
I know, not as fancy as the manually created above, but you could already illustrate the relationships and structure between your teams... :) Maybe this already helps; or maybe not :)
Thanks for getting in touch! The issue definitely got I higher priority on the list now...
Best regards, Stefan
Hi Stefan,
Thanks for the detailed suggestions :).
I really liked the idea of combining the relationships in the team map with the relationships of the bounded contexts. I believe it can surface the daily challenges we run into in regards to socio-technical architecture and systems design. Most teams are responsible for more than one bounded context. When we take into account the dependencies between the teams and the dependencies between the bounded contexts you can imagine the different challenges that start show up in our day to day: endless priority discussions, blocked developments, duplicated solutions to similar problems, etc.
Curious, what was your initial intent when you draw that diagram that combines the teams and bounded contexts?
Thank you,
Pol
Hi @polmiro,
Thanks for your explanation, I understand the requirement and fully agree with you.
That was actually exactly our idea, but we only realized it on the DSL-level yet :) With the Context Mapper DSL (CML) language you can already model that. Just an example:
ContextMap ExampleTeamMap {
contains ContractsTeam, CustomersTeam
contains Customers, Products, Contracts, Policies
/* relationships between teams: */
ContractsTeam -> CustomersTeam
/* relationships between Bounded Contexts: */
Customers -> Contracts
Products -> Contracts
Contracts -> Policies
}
BoundedContext CustomersTeam realizes Customers {
type TEAM
}
BoundedContext ContractsTeam realizes Products, Contracts, Policies {
type TEAM
}
BoundedContext Customers
BoundedContext Products
BoundedContext Contracts
BoundedContext Policies
With the realizes keyword you define on which Bounded Contexts a team works. And the Context Map can contain the relationships between Bounded Contexts and teams.
The thing is: the graphical representation above (from my readme) was originally created to illustrate this language abilities. I just wanted to show what you can do in CML in a graphical way. At that time the graphical Context Map generator didn't even exist... :)
So this is what is missing and what I still have to implement... And I understand the confusion now that we can generate graphics, people expect the corresponding output :)
Best regards, Stefan
Thanks for the clarifications 👍
Hey @joaoasrosa, @seb4stien, and @polmiro
We released Context Mapper v6.1.0 which can now generate the team maps you expected here...
https://contextmapper.org/news/2020/10/08/v6.1.0-released/
At least I hope that they somehow satisfy your requirements regarding this issue :)
You find an example CML model here. Using the Context Map generator produces something like this:
... or like this: (you can parameterize whether you want to have it clustered or not)
I close this issue for now. Let me know if you would like to have something differently. Feedback is always welcome!
Stefan
Awesome, I will see if I can try it out some time soon 👏
Hi @stefan-ka ,
After the creation of the CLI example, I was playing around with the examples. I notice the example Insurance-Example_Team-Map.cml doesn't generate the expected result (including the teams).
I'm wondering if it is an outdated version of the Context Mapper.