In IT management, governance, and leadership, it is perhaps more important than anywhere else that responsibilities are clearly defined for each role.
Relying on a person's seniority alone does not reveal how they will behave in situations with unclear responsibility. They will simply either not take responsibility or take it.
Most engineers cannot take a firm stance in situations of uncertainty. That's why they're engineers. In a situation of unclear responsibility, they take action that aligns with their overall psychology.
However, in IT, both choices statistically lead to an increase in your applications' technical debt.
Only an small fraction of people make the right choice in this situation.
Before I explain what that choice is, I need to talk about why decisions regarding responsibility lead to technical debt. And before you ask: Yes, even taking responsibility in unclear situations increases technical debt as well!
Lots of small things
Information technology is difficult across all domains. It is a demanding field where engineers and specialists must focus on a multitude of small yet critical details, from software development to security and cloud infrastructure.
Every day, the average IT engineer has to make hundreds of small choices, most of them interconnected across multiple layers. It is a mentally demanding job that requires a very high level of concentration... and we still produce bugs.
Our whole field is strange like that. Doing things well requires an immense amount of focus, yet if we look away for even a second, the entire industry collapses like a house of cards in a hurricane.
If engineers find themselves in a situation where it is unclear whether something is their responsibility, they will, in 99% of cases, choose to either take or not take responsibility—and you never know which it will be.
They are already making a high number of decisions during a normal workday; it is simply part of their job.
If you mix in uncertainty around responsibility, they will make decisions even if you, as a manager, don't want them to. This happens because the topic might actually be highly important business-wise, or it might be something that was overlooked by decision-makers. And often, it is.
Instead, the engineer ends up making the decision for you. The question then becomes whether that decision aligned with the goals of the company or the product they are building. Statistically speaking, 50% of those random decisions will not be aligned, thereby increasing technical debt.
The right action
In a situation of uncertain responsibility, the right thing to do is to bring the issue immediately to the decision-makers. Most engineers, however, will not do that, meaning that for the average company, technical debt is inevitable.
Make sure to discuss clear responsibilities with your engineers: what you expect from them, what they are currently doing, and what they should or shouldn't be doing. This is particularly relevant to:
- SDLC
- Delivery strategy
- Dev / DevOps / InfraOps boundaries
Top comments (0)