There is a long list of things I love about visual discovery and modelling techniques like Event Storming and Example Mapping. But there is one benefit of visual techniques which I find so valuable and yet doesn’t get the recognition it deserves: pattern reading.

What I mean by pattern reading is looking at the visual artefacts and making inferences about what the layout may be telling us. In every workshop, I always ask everyone “Imagine there is no text here. What is this arrangement of colours and shapes telling you?”.

I’ve invented the term pattern reading but I’m happy to…

In business, technology and general, the word “domain” appears frequently and with many different meanings in various contexts. This gets tricky at times when collaborating with different companies or communities that use different definitions.

The problem in general is that when we use generic and fuzzy words like domain we make assumptions that put the emphasis on the listener to correctly determine the context and choose the right meaning.

Because domain is such a common word in our world, I think there are a couple of reasons why it’s highly beneficial to have a deeper understanding of the word and…

Modernizing an architecture usually take years. Even a decade or more is nothing out of the ordinary for large organizations who have accumulated legacy and heritage systems over long periods of time.

This presents technology leaders with one of the most difficult modernization challenges: where to start and in which order to modernize?

There are usually a number of factors which greatly complicate the situation. The need to keep delivering product enhancements and new innovations while modernization is in process is one big factor, and dependencies between modernization work items is another.

Often there is a tension. Starting with a…

Mapping out your business’s domain landscape has many benefits: knowledge sharing, generating product ideas, providing the foundation for software architecture, aligning on requirements, but a common challenge is… “where do we start?”

There’s a pretty endless list of techniques to choose from and an unlimited combination of ways in which they can be applied. Discovery feels more of an art than a science. However, I find myself gravitating towards an outside-in approach most of the time.

An outside-in approach starts with the business model, the user needs, and step-by-step zooms into the inner-workings of domains. I like this approach because…

The microservices era has been good for software architecture. I remember when the idea of multiple databases was punishable by death. But, the over-focus on micro has detracted from the true benefits of microservices which are about improving the quality and speed of development.

Over the past couple of years, I’ve seen organizations referring to microservices as Domain Services. I’ve seen such benefits from this small reframing that I now recommend not using the word microservice and using Domain Service instead.

There have been many criticisms of microservices and many horror stories. But I don’t wish to bad-mouth microservices in…

There are a few qualities that differentiate average from high performing software engineering organisations. I believe that attitude towards the design of code and architecture is one of them.

In my experience, the culture is better and the results are better in orgs where engineers and architects obsess over the design of code and architecture. In orgs where it’s all about delivering tickets as quickly as possible or obsessing over technology, the culture and results are poorer.

There’s huge variety between those two extremes, and there’s also a point where too much focus on design and not enough on delivery…

In February 2012 I began working for a new company. On my first day, I deployed to production. I was lost for words. It felt like magic. Every day was the same: pick the highest priority item, implement it, and then deploy to production immediately. After 6 months, I was still pinching myself.

The experience for me as a developer, the Developer Experience (DX), was energising and motivating. Instead of fighting against processes to get my job done and get my code into production, I felt like the red carpet was being rolled out for me.

As a result of…

Sometimes we need to stop fighting the symptoms and recognise that there is a more fundamental problem. Commonly, the fundamental problems is a mismatches in incentives between the different individuals and groups involved in achieving an outcome.

The more I observe organizations, the more I see this pattern of people fighting the symptoms and getting frustrated that things aren’t improving or changing. And the more I see that things are always going to be a struggle because incentives are widely misaligned.

When there is an incentives mismatch, a lot of energy can be expended. Lots of back and forth, lots…

As a system grows, higher-order abstractions are needed for ease of understanding, communication, and management. In Geography, continents are a higher order abstraction that allow us to collectively describe a large number of countries in a single word. As businesses grow, higher order abstractions are needed to organize groups of teams working on related challenges, like products or domains.

When I worked with Salesforce, the top-level organizational abstractions were clouds. The Salesforce Marketing Cloud was a substantial business in it’s own right, employing thousands of people and generating close to a billion dollars in revenue per-year.

Part 2 of this…

The systems we build are composed of many pieces. From mobile apps, to domains, to user journeys. How should we slice up the system and divide responsibilities among teams in our organisation?

In Part 1 of this series, a shared language was proposed to accurately describe different elements of a business’s architecture. We can now start to slice and group those architectural pieces into team-sized chunks and analyse the trade-offs of each pattern, and explore contexts in which they might be applicable.

The third part in this series will look at multi-team ownership patterns, exploring how to distribute cohesive parts…

Nick Tune

Technical Leader | Socio-Technical Architect | Continuous Delivery

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store