Team Topologies tags
Here is an example with team topologies
package main
import (
"github.com/owulveryck/cue4puml4c4:c4"
"github.com/owulveryck/cue4puml4c4/tags/teamtopologies:tt"
)
ptf: c4.#System & {
id: "ptf"
label: "Platform team"
description: """
a grouping of other team types that provide a compelling internal product to accelerate delivery by Stream-aligned teams
"""
link: "https://teamtopologies.com/key-concepts"
tags: [tt.platformTeam]
}
streamAligned: c4.#System & {
id: "streamAligned"
label: "Stream-aligned team"
description: """
aligned to a flow of work from (usually) a segment of the business domain
"""
link: "https://teamtopologies.com/key-concepts"
tags: [tt.streamAlignedTeam]
}
complicatedSubSystem: c4.#System & {
id: "complicatedSubSystem"
label: "Complicated-subsystem team"
description: """
where significant mathematics/calculation/technical expertise is needed.
"""
link: "https://teamtopologies.com/key-concepts"
tags: [tt.complicatedSubsystemTeam]
}
enabling: c4.#System & {
id: "enabling"
label: "Enabling Team"
description: """
helps a Stream-aligned team to overcome obstacles. Also detects missing capabilities.
"""
link: "https://teamtopologies.com/key-concepts"
tags: [tt.enablingTeam]
}
C1: c4.#C1 & {
Systems: [ptf, complicatedSubSystem, streamAligned, enabling]
}
package main
import (
"tool/cli"
"text/template"
"github.com/owulveryck/cue4puml4c4:c4"
)
command: genpuml: {
c1: cli.Print & {
text: template.Execute(c4.plantumlTemplate, C1) // change C1 here with the name of your object
}
}
@startuml MyDiagram
@startuml MyDiagram
skinparam backgroundcolor transparent
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
!include https://raw.githubusercontent.com/owulveryck/PlantUML-icons-GCP/master/official/GCPCommon.puml
LAYOUT_TOP_DOWN()
HIDE_STEREOTYPE()
/'Relation Tags'/
/'Element Tags'/
AddElementTag("complicatedSubsystemTeam",$bgColor="#f4c399",$borderColor="#d39450",$shape="EightSidedShape()",$legendText="Complicated-subsystem team")
AddElementTag("enablingTeam",$bgColor="#ad98c2",$borderColor="#6b5294",$shape="RoundedBoxShape()",$legendText="Enabling team")
AddElementTag("platformTeam",$bgColor="#9bcbe5",$borderColor="#6b9bc1",$shape="RoundedBoxShape()",$legendText="Platform team")
AddElementTag("streamAlignedTeam",$bgColor="#fae1a4",$borderColor="#f2c24f",$shape="RoundedBoxShape()",$legendText="Stream-aligned team")
/' Systems '/
System(ptf,"Platform team","a grouping of other team types that provide a compelling internal product to accelerate delivery by Stream-aligned teams",$link="https://teamtopologies.com/key-concepts",$tags="platformTeam+ ")
System(complicatedSubSystem,"Complicated-subsystem team"," where significant mathematics/calculation/technical expertise is needed.",$link="https://teamtopologies.com/key-concepts",$tags="complicatedSubsystemTeam+ ")
System(streamAligned,"Stream-aligned team"," aligned to a flow of work from (usually) a segment of the business domain",$link="https://teamtopologies.com/key-concepts",$tags="streamAlignedTeam+ ")
System(enabling,"Enabling Team"," helps a Stream-aligned team to overcome obstacles. Also detects missing capabilities.",$link="https://teamtopologies.com/key-concepts",$tags="enablingTeam+ ")
SHOW_LEGEND()
@enduml
@startuml MyDiagram
skinparam backgroundcolor transparent
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
!include https://raw.githubusercontent.com/owulveryck/PlantUML-icons-GCP/master/official/GCPCommon.puml
LAYOUT_TOP_DOWN()
HIDE_STEREOTYPE()
/'Relation Tags'/
/'Element Tags'/
AddElementTag("complicatedSubsystemTeam",$bgColor="#f4c399",$borderColor="#d39450",$shape="EightSidedShape()",$legendText="Complicated-subsystem team")
AddElementTag("enablingTeam",$bgColor="#ad98c2",$borderColor="#6b5294",$shape="RoundedBoxShape()",$legendText="Enabling team")
AddElementTag("platformTeam",$bgColor="#9bcbe5",$borderColor="#6b9bc1",$shape="RoundedBoxShape()",$legendText="Platform team")
AddElementTag("streamAlignedTeam",$bgColor="#fae1a4",$borderColor="#f2c24f",$shape="RoundedBoxShape()",$legendText="Stream-aligned team")
/' Systems '/
System(ptf,"Platform team","a grouping of other team types that provide a compelling internal product to accelerate delivery by Stream-aligned teams",$link="https://teamtopologies.com/key-concepts",$tags="platformTeam+ ")
System(complicatedSubSystem,"Complicated-subsystem team"," where significant mathematics/calculation/technical expertise is needed.",$link="https://teamtopologies.com/key-concepts",$tags="complicatedSubsystemTeam+ ")
System(streamAligned,"Stream-aligned team"," aligned to a flow of work from (usually) a segment of the business domain",$link="https://teamtopologies.com/key-concepts",$tags="streamAlignedTeam+ ")
System(enabling,"Enabling Team"," helps a Stream-aligned team to overcome obstacles. Also detects missing capabilities.",$link="https://teamtopologies.com/key-concepts",$tags="enablingTeam+ ")
SHOW_LEGEND()
@enduml
Last modified June 19, 2024: feat: add version to the modules (8c3c726)