What is Technical Debt?
In the tech world, we are familiar with the concept of technical debt.
Technical debt represents areas in the code that makes changing something more time-consuming and hinder the stability of the system.
Introducing the Social Debt
I would like to introduce you to something I experienced in my online ventures called Social Debt.
In the lean startup movement, people encourage you to interact with your users / customers as soon as possible to get feedback as early as possible to make sure you build what they want and need.
You need to know that by being in contact with users, customers or even partners, you start to build up Social Debt.
Now people are using your product, customers have paid for a specific service, partners have spent time and money to grow with you.
You can’t change your application as easily as before anymore. People entered data they don’t want to lose, some customers have bought your application just for the exact feature you are trying to remove, And partners are betting on your success and investing time and effort and you have to discuss any change with them otherwise their businesses are at risk.
This is Social Debt. Social commitments you make throughout the development of your product that make future changes harder.
Like technical debt, each social debt increment should be a conscious decision.
Real life example
I am working on the platform TaskArmy.com, a freelance marketplace that aims to be fair for clients and freelancers and try to simplify the whole outsourcing process.
When I started inviting freelancers to the application so that they can add their services, social debt started building up.
For example, at the early launch of TaskArmy, the commission the site was set to 15%. Later on, it was harder to change the commission percentage taken from the freelancers because some had signed in for 15% not 20% or 30%. Social Debt.
When I allowed people to start using TaskArmy for their own niche market, (taskrr), I built more social debt. Today, if I want to drastically change the design of the landing page, I need to add some exceptions in my code to only apply them on my version of the website. Social Debt.
Some changes have to be made and some users will not be happy. You can’t avoid that and you shouldn’t try to avoid that at all cost.
But like taking in more technical debt, social debt must be a conscious decision otherwise you will gradually lose your leanness.
Don’t build up social debt too early to allow you to iterate or pivot quickly and without damage.
How do you manage Social Debt in your application?