If you are in the Agile community, you probably know what technical debt is: the accumulation of work to do when you choose to patch/band-aid/short-cut your design and coding to save time and effort now. Technical debt accumulates with interest, every time you choose to take a short-cut you make it a little harder to read, understand, maintain, and modify your code. Eventually, if untreated, technical debt can bring the progress of a team to a standstill. What is the solution? Do the right thing, slow down to speed up, leave code a little better than you found it – always, and refactor mercilessly. Otherwise, pay the consequences.
So, what is interpersonal debt? It is the price we pay in our relationships when we don’t address issues right away. We tell ourselves that we don’t want to hurt the other person, or right now is not the right time because he’s in the middle of something and this will affect his performance, or I don’t want to deal with the headache now – I’ve got more important things to do, and so on and so forth.
So is this really a bad habit? It is when this affects the nature of your relationship, if after a while you don’t trust, rely, and/or respect each other, and in my experience unresolved issues always lead to these problems. This is undermines the effectiveness of all collaboration and hence the effectiveness of your software development effort.
So, does this mean we should bring up and make an issue of every single little thing? Well, yes and no. Yes we should resolve our issues quickly and not let them grow and fester. And no, we probably shouldn’t be talking to our peers and colleagues about every single little thing they are doing wrong because it is not helpful and will create the exact problem we are trying to address. So is this catch-22? Is there no solution?
Obviously there is since there are teams and organizations out there who are extremely effective and having a blast doing their work. What we have found at Gemba is the following:
Self: start with yourself. How did you cause this problem to happen? How are you responsible for the issue that is bothering you?
Clarity: when we come across an issue a problem, we are usually very clear about what we do not want. Are we clear on what you want? If not, get there first.
Ask: Have you asked the person you have an issue with for what you now have clarity on? I know that many times if I was not clear myself, then I have not communicated what I want to others.
Agree: Asking does not mean agreeing. The next step is to get on the same page with the person. Tell him what you want, and find an agreement that you can both buy into.
Confront: If you have done all of the above, then, and only then, can you take them to account if they fail to honor the agreement. And even then, how you call someone on an issue is important.
For me personally, I’ve been learning every day about applying this to my personal and business lives. The problem with not calling it is that it builds up resentment and detracts from our effectiveness. I’m in the middle of doing a big interpersonal refactoring because I’ve done all the points above except the last and let issues build up because it was never the right time to call someone on an issue.