Long-lived solutions have ‘long tails’.
“What does sturdy mean to you?” I asked our designer. She immediately thought of an elephant. I may not have given her enough context for that question, but here I’ll be discussing what sturdy means in the context of our technical manifesto:
“Customer driven, long-lived solutions that are sturdy and maintainable.”
In a previous post I talked about why long-lived solutions were a fact of core business systems. But what I didn’t touch on was that long-lived solutions also have ‘long tails’. Which is why I included sturdy in the manifesto.
‘Long tails’ is the term we give to the idea: given long enough most things will happen. And given that we’re expecting our solutions to last a very long time, we need to plan for anything to happen.
And when anything happens, it means pulling resource into supporting the solution. As time goes on, the support cost will most certainly rise above the actual cost of the build. Which boils down to one simple point: support is expensive and risky.
Support time is better spent on improving a system.
Sturdy solutions require little ongoing support. You can leave them running in the background and almost forget about them. This is ideal because you’re free from the cost of maintaining the solution and can focus on the future.
And that’s why sturdy is such an important part of our technical manifesto. A sturdy solution is one that needs few ongoing fixes, little hand-holding and does exactly what it ‘says on the tin’.
These points are important because as time wears on solutions will have different people working and supporting them, failures in underlying systems and unexpected use cases.
A perfectly sturdy system is one that will run without human intervention.
So sturdy is really about maximising the return on investment for our customers. If we can minimise support then we can spend more time on improving the solution.
Solutions that are long-lived will eventually need support. The sturdy part of our technical manifesto makes the point that we should be trying to minimise the need for this support as it’s better spent elsewhere.