My solutions to speed, predictability & stability at scale, are based on theoretic research combined with many years of experience. The theory is about scalability and economies of scale and leads to 3 principles. The experience comes from many years of building e-commerce and SaaS companies with focus on 5 domains.
Use 3 simple principles
The larger software organisations become, the slower most of them get. That is for two reasons:
- Teams become larger
- These teams become more and more dependent on each other
Many companies have economies of scale: the larger they get, the cheaper they can produce. However software companies have dis-economies of scale: the larger they get, the slower they become. Small companies are fast, because they have few dependencies. Larger companies have multiple teams that need to align. The larger they get, the more they have to wait, the slower they become. From this come 3 principles where my approach is based on:
- Small over large
- Autonomous over dependent
- Parallel over sequential Although I sometimes see value the items on the right, I value the items on the left more.
Apply them in 5 domains
In my solution I apply the 3 principles to 5 domains. The actual practices depend on your company and are optimised for you. However the practices will always be in line with the principles.
The 5 domains are listed below and can be read as one sentence:
- autonomous software teams
- execute their own product roadmap predictively
- by building loosely-coupled software
- that they deploy and run independently
- on a self-service platform that scales
You do not have to start to make improvements in all of these five at the same time. You can start with one and later add another. However the five enforce each other: the whole is greater than the sum of its parts.
Choose your own practices
The specific way of working and the technology you choose, are dependent on your specific situation: Some love scrum as set of rules for working, but some prefer other practices as they get more mature One company buys off-the-shelf software while others prefer custom micro-services Some prefer running containers on dynamic infrastructure, while others run on VM’s
Whatever the choices you make, they need to be in line with the principles. The more you do that the faster, the more predictable and the more stable you will become.
In my future blog posts I will dive deeper into each of the principles ad the five domains.