Nobody likes the foundation

Published on December 20, 2024

You can build a lot of crazy things with the right foundation. You can also build a lot of crazy things without the right foundation, only then they won’t last long. But it’s so much easier.

This is true for constructions like buildings or bridges, friendships, processes, skills, money and so many more. With a solid foundation you have something to rely on, to fall back on. Something that holds the weight.

A solid foundation enables to achieve fantastic things. Without the foundation some of these achievements might be possible as well, but there is risk attached to it. Build a house on sandy grounds. It can work. Or it will bend at some point, and maybe even collapse.
You can do some interesting and risky money investments and earn millions and millions. Or you loose everything and go bankrupt. With a solid foundation you would invest only as much as you can spare to keep your standard of living.
You can build great software. But at some point it will be too big to be maintained, delivered, operated and extended by more than one or two people. With the right guidelines and processes in place, you have a solid foundation upon which to expand.

The foundation has to fit what’s coming on top. You can over-size the foundation for a certain additional cost. And you can under-size the foundation and adding a certain amount of risk for failure.

Real world example from about two decades ago. There was a car manufacturer who built a new van. They re-used components of the platform from their largest mini-van. e.g. motors and transmissions. They realized soon that the percentage of broken transmissions was higher than usual for their models. The root causes for this increase was, that the transmission was not suitable for total weights that exceeded the limit of the mini-van. The total weight of the van and transport capacity was just a certain amount higher than the one for the mini-van. Putting a larger vehicle on a too small platform was obviously not a good idea.

Back to our beloved IT. You may think that you don’t need a solid foundation from the beginning. But the same is true for all these different types of topics, no matter if real or “virtual” world. Once the thing you build is over a certain point in the starting phase, it will be extremely hard and expensive to add more to the foundation in hindsight. In IT I mostly think about a solid process foundation. I remember my ITIL v3 foundation training back in 2003 or 2004. Change Management, Bug Management, Release Management, Requirements Management, Configuration Management, and so on. Also the role of an architect, providing guidelines and rules for the solution. Of course you don’t need a service manager for each of these topics or a dedicated architect. But that doesn’t make these process needs go away. And I can guarantee you, that someone on your team will take over these roles, if they want or not. Someone will make a decision at some point on these. If they know about the difficulties of each topic or not.

Topics like ITIL are not taught anymore in the Agile age. The role of architects is discussed in different directions. And the same is true for so many other roles and processes. Projects are quickly at a point where you are beyond just hacking away on a prototype. You need some consistency in your project, a solid foundation that you can rely on.

Imagine your project is going on for 2 years, 5 years, 10 years. You realize that you need to change something fundamental. Even though we don’t talk about bricks and mortar on a concrete platform, moving some of these projects will become a real pain and requires a lot of effort.

There are not many people who step up and in to fill these roles, when there is no dedicated person assigned. Too many people I have met are not even aware of the explicit need for these roles. These tasks are not working with the shiny new shit that everybody celebrates. This is defining processes, rules, guidelines, that no one wants to follow. Change is hard, and people are allergic to change. Working on project foundations is a task that is not bringing you friends and fame. Freely translating a German saying: you can not win a flower pot with these.

Working on these foundations needs knowledge and experience, a crystal bowl, stamina, and a lot of patience and endurance. And I would say, a good solid foundation in systems thinking is extremely useful as well.

Take a moment and think about your project, your product or your company. How are you doing things like Release Management, Config Management, Change Management or Requirements Management? Is there some person or even a team? Are there processes in place? Are all people and teams following the same approach? Is the approach suitable for the situation you are in? Does it scale?

man in yellow safety vest climbing on ladder