Cultural Warning Signs You Are Not Ready For Microservices

Paul Seymour • March 12, 2019

The original plan for this post was an overview into the technologies and patterns used in microservices, in particular I wanted to look at the bits we often see missing or poorly implemented. A colleague of mine, Dan Dekel, recently gave a talk at a local meetup on a similar topic, and it generated more debate than he had expected. He covered the importance of CICD, running multiple instances of each microservice, consistency across the environments, patterns such as circuit breaker, general transient fault handling, correlation and analytics on logging, API versioning and consumer driven contract testing. It seems that opinions (and emotions) on microservices still run deep, and what ensued was a debate on synchronous vs asynchronous architectures.


When I speak with developers that have had a poor technical experience with microservices, there seems to be a common denominator. The team was often well aware of the problems, and they had ideas on how to fix it, but they were essentially stuck with a blueprint handed down from above.


So in this post I’m instead going to look at some of the cultural warning signs you might want to consider before making a decision to go with microservices.


Moving to microservices will fix our scalability issues


There is no question that well designed microservices can scale in ways that are difficult for a monolith. But seldom do I see a monolith that has gotten anywhere near the limits to which it could scale. Monoliths can and do operate at global scale loads. If your monolith is having trouble supporting a few hundred users, then it’s probably not because it’s a monolith, or because it was written to use some (now) less fashionable framework. Scale issues will exist regardless of the architecture and if you can’t fix these problems in your existing application, microservices aren’t necessarily going to improve the situation.


Microservices will improve the throughput of our development teams


This is an interesting one, because the ability to decouple teams and have them work on separate groups of microservices is a significant productivity gain.


One observation is that a monolith can create contention at the source code level. As the number of developers increases, you can easily trip over each other as changes are merged. At a certain size and level of complexity a few key individuals become the only people that have the knowledge necessary to make significant changes to the monolith, and it becomes difficult to scale around these people. In contrast, microservices will generally be divided into much smaller self-contained repositories and this makes it easier and safer to make changes. However, this isn’t an intrinsic benefit of microservices, it is really just an argument for good code structure and separation of concerns - you could achieve something similar in a monolith by organising the code differently.


The most significant productivity improvements are realised inside an organisational culture that understands and grants autonomy to the teams. And that remains true independent of whether you are building monoliths or microservices. Further, if you don’t already have that sort of culture, then a pivot to microservices is likely to create a really big mess.



Here are a few warning signs that your culture might not be ready to support microservices:

 

  1. You prefer to make technology decisions at the middle or senior management level
  2. You believe your teams lack the maturity to make good design and technology choices
  3. Your teams are focused on technology and not on business value
  4. You don’t have (or want) clear specialisation and domain boundaries between teams
  5. You are trying to implement a scaled Agile process and hope microservices will help
  6. You have backlogs shared between teams
  7. You have decision making layers between the Product Owner / Development team and the end user
  8. You think your current problems are the result of an incorrect technology choice
  9. You have a CAB

 

In one way or another, all of these items shift control away from the development team. Why is this particularly problematic with microservices? The productivity gains of microservices come from the fact that they are decoupled from each other (and by extension, other teams). This empowers teams to operate with a minimum of external dependencies and each to operate at close to their sustainable capacity.


Anything that gets in way of this autonomy has the potential to render the productivity gains of microservices irrelevant, and you’ll likely be running significantly slower than you were with a monolith or an older tech stack. If you are considering microservices, or have already started using them, I’d highly recommend reading Accelerate. It provides a comprehensive overview of research into the capabilities of high performing teams and how they can be measured. Don’t head down the microservices path without a culture that can support autonomous teams.

Share This Post

Get In Touch

Recent Posts

Copies of the book DesignedUp are stacked on top of each other on a pink background
By Lennah kuskoff May 5, 2025
At PZ, we’re always exploring how design and technology can better complement each other. We recently hosted a Lunch & Learn featuring Emma Carter, Experience Design Leader and author of DesignedUp, whose talk was a candid, experience-rich exploration of what it takes to create great products, and even better collaboration between disciplines.
By Joe Cooney May 5, 2025
A friend and former colleague reached out to me recently to ask if I could help him fix a couple of bugs in a small project he’d been working on. He was not a developer, but had worked in and around developers for his whole 20+ year career as a business analyst, product owner and program manager. With the advent of tools like Cursor and Lovable his lack of coding ability was (maybe) no longer a barrier to getting some ideas he’d been incubating in his mind for a while, out into the world. With credit card in hand, he dived headfirst into the world of “vibe” coding. We met for coffee, and he showed me the prototype he’d built. I was quite impressed with what he showed me (running on his laptop…deploying it anywhere was a bridge he had not crossed yet) – a capable working prototype that demonstrated the ideas he was trying to prove out. I asked him about the “development experience” and he said it had been great at first, and he’d been able to make a lot of progress quickly, but at some point he hit a bit of a wall where each change he tried to make introduced more issues, and he felt like it was pointless to continue. He’d switched between a few different AI coding tools in an effort to see if the problems he encountered were specific to the tool he’d started with, but without success. The vibes had run out.
By Joe Cooney April 3, 2025
Making cybersecurity fun and engaging with capture-the-flag (CTF) events—boost team collaboration, enhance security skills, and turn dry security practices into an exciting challenge!
January 16, 2025
We are excited to share that our Co-CEO, Demelza Green , was recently a guest on 'This Working Life' , a podcast by the Australian Broadcasting Corporation (ABC) hosted by Lisa Leong . During the episode, Demelza discussed the evolving landscape of hybrid work and how virtual reality (VR) is shaping the future of workplace collaboration. "Recording the podcast was a unique experience," Demelza shared. "I was sitting on a park bench next to the river in Mooloolaba. Despite my mum insisting I've never sounded more Australian, I wonder if listeners can spot my strong Kiwi accent, as I thought it was as strong as ever. It's funny how recording outside can change the sound of your voice." Demelza also responded to Lisa's request for pictures of teams working in VR: "Our team got dressed up and coordinated a round of thumbs-up just for Lisa!"  Listen to the full episode here: Managing Hybrid Work - This Working Life
More Posts