🐿️ Shattered Software - The Insanely Profitable Tech Newsletter
Originally published 11th March 2024
The Ottoman Empire was so bad at administering its dominions south of the Danube that historians named a phenomenon after the peninsula: the term “balkanisation” means breaking a country or region into tiny states that are constantly competing and bickering. These divisions prevent changes for the common good and tend to spread strife to neighbours; you might remember from your history lessons that nationalist tensions in this area helped trigger a rather large conflict. I’ve noticed a worrying tendency among my clients to split up their technology products in a similarly unsuccessful way–but just as in geopolitics, divide and conquer isn’t the formula for harmony and prosperity.
For instance, one company I’m working with provides a system that helps gigantic corporations serve certain customers better, and they keep trying to split their tech teams into “consumer” and “admin” units, over my strenuous objections. I can see their logic: these two user groups have very different needs, with consumers zipping through transactions on their phones and administrators at their desks studying graphs and reallocating staff. But the different skills needed to build for a variety of users doesn’t change the fact that my client is building a single product with a unified set of concepts, data, and behaviours; allowing these to diverge by fracturing the teams is a recipe for confusion and inconsistency.
To detect your own balkanisation, ask yourself what would happen if one of your tech teams went off-piste and began operating with very different business assumptions from the others. Could this group here use cash accounting when everyone else adopts accrual? Could that team there deploy on-premise when others put their systems in the cloud? Sometimes the answer is yes, which means you really do have separate products; this is often the case just after an acquisition, for example. But if you try to detach, say, data pipelines from user visualisations, or the general ledger from the payments system, or worst of all, the “front end” from the “back end”, expect complex handoffs and incompatibility and bugs galore.
This first appeared in my weekly Insanely Profitable Tech Newsletter which is received as part of the Squirrel Squadron every Monday, and was originally posted on 11th March 2024. To get my provocative thoughts and tips direct to your inbox first, sign up here: https://squirrelsquadron.com