Reading Time 2 minutes
I grew up in an educated middle class family and was taught to #Save rather accrue #Debt. I don’t remember my family applying for a loan to buy an expensive house hold appliance or to go for a luxury vacation abroad. I guess most parents teach their kids to manage their spending and live within means.
I saw my parents live debt free. That encouraged me to think what was really important to buy.
It forced me make sound choices.
The need to live without debt taught me to say No.
No to unwanted stuff. No to things that were not urgent. No to things that were appealing on the surface but didn’t fit in to the bigger scheme of my world.
If you’ve read Robert Kiyosaki, you may be familiar of his advise of using Other People’s Money (OPM) and one of the traditional way is to get a loan. Many got sucked in to the trend. Now they can buy everything they may need and get it on loan.
I would like to call is a systemic dysfunction.
Systemic dysfunction is created not by one person or one institution. It also doesn’t develop just because of one or few instances.
Systemic dysfunction may manifest in the system in various forms and we start to see symptoms.
Sure we all remember the 2007 financial crash and its ripple effect on most of the economies of the world.
I observe similar and growing trend in the world of software product development.
Everywhere there is pressure to deliver more. More than the available time at hand. More than the people (at the front) can practically deliver.
In the pursuit of Growth, the Sales teams are assigned sales quota that’s beyond challenging.
Marketing and Product Development usually find themselves dragged into the game to deliver more.
The product delivery teams and IT teams are usually at the receiving end of this rat race.
To secure their job, they end up saying Yes, more often than is realistic.
The Product Team creates a pipeline of requests to add more features. More new features in the product.
The product developers end up delivering new features.
There is less time to think of quality and developing these features right.
The code is just good enough to work. There is a mountain of unfinished and poor code that the products are built on.
The developers are accruing more Technical Debt.
It’s a systemic dysfunction.
Not created by one developer or one team. Not created during the implementing of one feature or one product.
TechDebt is in every code poorly developed and is being accrued with each new request that needs to be delivered in rush.
Without empowerment, Developers feel that giving in to the demands of delivering more is the only option. The Product Owners in most organizations feel the same as they feel the pressure from the top brass.
Until someone chooses to stand up and says No to cutting quality.
Until someone says No to poor coding practices.
Until someone says No to skipping refactoring.
Until someone says No to delivering buggy product to customers.
Here’s are 3 steps you can take to immediately curb the TechDebt from growing further:
Step 1: Acknowledge and make transparent the current level of TechDebt. If it’s visible and everyone keeps looking at the TechDebt level, it’ll be easy to persuade everyone to address it. I bet, most teams don’t even visualize their existing level of TechDebt. Do that.
Step 2: Block some time on calendars to identify, list and address the TechDebt. If no one is spending the time to address TechDebt, it’ll only keep growing.
Step 3: Identify a limit of TechDebt that your code can have at any moment of time. Once the TechDebt level increases the identified limits, fixing it will become the highest priority – more than developing new features.
Now think for a minute:
What if your product owners and teams collectively agreed and pledged to live #Techdebt free!!