On 3rd-4th October I had the opportunity to attend the Global Software Architecture Summit, this year’s edition was dedicated to metrics.
This is an event that focuses on the subject of software architecture in the broadest sense. Software architecture metrics are hard to define and even harder to evaluate objectively. Good metrics can reduce the cost of fixing bugs before they reach products.
Day 1: exploring the city before the conference
Sebastian Dąbkowski and I flew out of Warsaw in the morning and left behind the typical Polish autumn and weather – wind, rain, and barely 10 degrees. After landing in Barcelona, the weather took us by total surprise – 27 degrees! Another plus is that the conference didn’t start until the next day so we had almost a full day to explore the city.
Day 2: architecture testing, metrics, and effective technical leadership
A wake-up call, a quick breakfast, and here we go. Day one of the conference started with a talk by Mark Richards on architecture testing. If you can measure it, then you can define it. Mark shared his thoughts on the importance of testing the architecture, the importance of defining the quality attributes for the software – as this has implications on how to measure it. Mark introduced us to the topic of Architecture Fitness Functions, through which an architect can test operational characteristics and structural integrity.
The topic of metrics ran through the presentations, while more and more questions popped into my head – why do so few companies use them? Alex Zitzewiz of Hello2Morrow showed a calculation that „Poor software quality cost $2.08 trn in 2020”.
Sonya Natanzon and Vladik Khononov shared their presentation about a Pragmatic Approach to Architecture Metrics. What gets measured gets managed — even when it’s pointless to measure and manage it, and even if it harms the purpose of the organization to do so. Not everything that matters can be measured. Not everything that we can measure matters. They showed how one can measure change frequency (change lead time, deployment frequency) or change effectiveness, change failure rate, mean time to recovery) and that the pragmatic way to measure is to define. They also pointed out Goodhart’s Law – When a measure becomes a target, it ceases to be a good measure.
The speakers kept on coming
Sven Peters shared his thoughts on how to be an effective architect and work smarter, not harder. And it was so aligned with my personal feeling about it – technical leadership makes teams effective. He showed with some examples from his experience that he often wrote code himself that was unnecessarily complex. But how do you measure whether your code is simple enough? Show the code to a less experienced team member and see how they understand it. We often forget that other people will be reading the code. He also talked about a cool idea they have in the company – The dev team spends one week every six months which is dedicated to innovation – they do not deliver features then.
The day closed with a 4-hour workshop led by Michael Keeling and George Fairbanks – Become a software design company. They described activities, formats, cultural changes, and outrageous obstacles. The workshop was a great mixture of lectures, group exercises storytelling, and awesome discussions. They shared the IMEO framework (Idea, Medium, Entry point, Obstacles) which is an actionable plan to introduce important design to the organization.
Day 3: modularity, maturity index, and mastering visual communication in architecture
The next day of the conference was due to start with a presentation by Neal Ford, unfortunately, he was unable to make it for health reasons and the situation was rescued by Mark Richards, who presented on the differences between software modularity and granularity.
Another great presentation was by Dr Carola Lilienthal – Improve your architecture with the Modularity Maturity Index (MMI). How important is high cohesion and low coupling. When do you know that you can separate a module? If you can’t find a name for it then it is not a good module.
The day was topped off with Mastering Visual Communication by Jacqui Read. She demonstrated how to document architecture in the C4 (Contextual, Container, Component, Code) and SABSA (Contextual, Conceptual, Logical, Physical, Component) models and showed some super interesting anti-patterns in diagramming.
My favorite (which I have used myself) is Explosion of Unicorns aka too many colors – sometimes we use colors to group diagram elements by function or by type but don’t pay attention to the fact that this negatively affects the readability of the diagram. What if color is the key? How would such a diagram be read by a color-blind person or if we print the diagram? It is worth using a pattern. Another thing I have never paid attention to myself but is something I have remembered and will use is the tip to create diagrams from left to right and to think about first impressions.
My final thoughts
Substantively the conference was fantastic. All in all, it was what I expected and hoped for at the same time. What surprised me positively?
Firstly, the atmosphere was conducive to conversations and the exchange of experiences but charged us with energy and the will to act. All the presentations and talks during the breaks were mega-inspiring.
It sounds like a truism but that’s the truth.
Secondly, organization. Everything was buttoned up to the last button, to the highest standard.
Did I have any regrets?
If only I had taken the Mark Richards books I have on my bookshelf I would certainly have stood in line to get an autograph. Well, that and FC Barcelona happened to play away but that’s another tale.
To finish up on
Not every project is unique, many teams have similar problems and the opportunity to share this knowledge is something worth attending such events for. Looking at the topic of measuring software, measuring the success of a team, a product, or the process of making it was one of the best experiences of its kind for me. See you next year, right?
PS. An added benefit was that, in addition to new knowledge, energy, and contacts, we brought with us beautiful weather and sunshine. Coincidence? I don’t think so 🙂
Participation in this event was possible thanks to Go to Brand project. Read more about it here.