We all like to think what we do helps move our business and products forward.
But………
Sometimes subtle, embedded habits and tendencies we have actually increase the rate at which a business accumulates technical dead. Which of these does your business have?
Short Sighted Executive Decisions
You have been in those meetings.
You know the meeting, where the executive in charge slams their hand on the table to get everyone’s attention after an extended debate.
And then, with red face of anger and the decibel level of a 747 on takeoff, bellows “this product will ship on time“.
This display is usually accompanied by promises of some sort of employee retribution if the fantasy date is not met. It is at that point the meeting is really over and no one will dare raise any additional points no matter how real and urgent they are.
Using emotional outbursts to attempt to motivate a team doesn’t create technical debt per se. However, it is the short-sighted executive decision making that results in this environment will create technical debt.
There may be valid reasons why the product can ship on time. However, there may be serious issues, just under the surface, that could cause the company big problems if the ship date is met.
Astute executives ask penetrating questions, validate assumptions and create productive dialog. Click To TweetAstute executives ask penetrating questions, validate assumptions and force the analysis and discussion that create productive dialog. It is only in an environment where subordinates and colleagues feel safe in disagreeing or bringing bad news that all issues can be on the table and then dealt with appropriately. Otherwise, things that could be real issues get covered up, hidden, or ignored. And when issues and technical debt builds, are you can rest assured they will pop up later at the most inconvenient time.
Management Short Cuts
Typically managers take short cuts that build in technical debt for two reasons: 1)because they are incompetent or 2)because they are trying to make points with the boss by finishing earlier, cheaper etc.
Incompetent managers yield all kinds of pernicious evil in software or IT implementations. They can hire the wrong employees, force inadequate or inappropriate implementations, misunderstand technical requirements, force the use of the wrong tools or rewarding the wrong behaviors. The results of these managers will always cost more, take longer, disappoint, and need large corrective actions.
The brownie points gang are those managers that always want to have the right answer.
“Yes we are on schedule”
“The project is coming in under budget”
“Yes we can add those all those new features”
“No, that change won’t affect our delivery capability”
Looking good is more important than reality and truth. These types of managers are skilled at making themselves look good and figuring out some other person, group or division to take the fall when things hit the fan.
Adroit managers work to always increase their competence through training, assignments, asking questions, checking assumptions and working closely with their teams. They understand that by continual growth and disciplined execution they will impress their bosses and it will be real.
Developer Laziness
I was recently working on some software and came across a whole section of code that had been copied identically and only a couple of lines changed to accommodate the different situation. This is a perfect example of developer laziness. Instead of taking the extra mental effort and time to create a method to do the work so that it was encapsulated in one place,
This is a perfect example of developer laziness.
Instead of taking the extra mental effort and time to create a method to do the work so that it was encapsulated in one place, technical debt was created by copying a bunch of code unnecessarily. It may have allowed the developer to quickly get work committed but built in a headache for someone else to deal with later.
Skilled developers understand when small refactoring can save huge time later. Click To TweetSkilled developers understand when small refactoring can save huge time later. They know when it is worth it to make additional small investments to avoid bigger problems later. Invest in resources to train developers on your systems, standard coding best practices, and effective coding refactoring processes.
Team capability
What’s your team training plan look like?
Do you cross train?
Are you encouraging them to learn better methods of coding or testing or implementation?
Are you giving them tools to improve code, deployments, or testing?
Is continual learning part of your culture?
If you don’t have answers for these questions for your team or yourself then you could be inadvertently building technical debt in future implementation.
The technology software and IT is advancing at an ever increasing pace. Your organization has to adopt an adaptive, learning mindset to stay up with advancements. And incorporate them to give your business advantage.
Improving teams create and execute training plans for the tech they are involved with. They set expectations for learning, growing and utilizing what they learn to improve products, productivity, and performance.