This week, Co-op launched its biggest campaign in years to show how we do things differently here. It is in our DNA from the creation of the first co-operative in Rochdale in 1863. I was inspired by the big mural near our HQ in Manchester and its “owned by you, right by you” narrative and want to reveal how we do things under the hood in technology. Here is a story of how we approach diagramming in our team. Since I joined the platform team at Co-op last November, I have felt that I don’t fully understand the complexity of our domain (it’s massive!) and the relationships with all our stakeholders on a technical level. Of course, I had conversations with engineers, architects, stakeholders, but the picture was a bit blurry. That’s how I started looking for ways to shed light on this. The obvious idea was to use visualisation techniques, as it’s the easiest way to start conversations about everything: process, product, value stream, architecture. That’s how I discovered the C4 model for visualising software architecture (thank you, Simon Brown!) using four levels of granularity - from the context (bird's-eye view, or “world map” using maps analogy) to the container, components, and code (detailed view or “street map” view). One of the benefits of working in a big organisation like ours is that you always have people or teams around trying or adopting various techniques, frameworks, whatever. That’s how I networked with Panagiotis (Panos) Ververis, who guided our team on how to use this model and adapt it to our needs. Thank you again for that, Panos. I appreciate your support and passion to share your experience. Since that session, we have used C4 diagrams to: - Show the integration with third parties and how it impacts our product: the types of data we consume; why we use some approaches like caching and internal CDN; what kind of data is used by our stakeholders (other internal teams). - Facilitate discussions between the tech lead and a recently joined engineer. - Show changes in components (or impacted parts of a system) with the new initiative to level up the team’s knowledge and increase confidence in making changes. - Present the internal product and services (APIs in our case) at a high level to a senior leader. The next step is to move our diagrams to repositories using a diagrams-as-code approach, but that will be another story :) #diagramming #platforms #architecture
You’re very welcome! I’m really glad that you’re finding C4 useful, and thanks very much for sharing your story.
Senior Software Engineer
1yYou are all smashing it in Coop, well done! 💯 Really proud to have contributed