This post examines the struggles of our developers (Luke, Han and Chewbacca) and the Product Owner (Leia) as they try to escape the clutches of the “Technical Debt Trap”! As we join them they have just released their new system “A New Hope” and are struggling to add features while simultaneously fixing bugs...
LUKE: There isn't any other way out.
HAN: I can't hold them off forever! Now what?
LEIA: This is some rescue. When you came in here, didn't you have a plan for getting out?
HAN: (pointing to Luke) He's the brains, sweetheart. (Luke manages a sheepish grin and shrugs his shoulders.)
LUKE: Well, I didn't... (Leia grabs a whiteboard marker, and blasts a hole in the requirements to allow them to get the system working again. There might be unpleasant side effects - but right now the priority is a working system...)
HAN: What are you doing?
LEIA: Somebody has to save our skins. Into the garbage chute, wise guy. (She jumps through the narrow opening as Han and Chewbacca look on in amazement. - total disregard for process. Chewbacca sniffs the garbage chute and says something about mounting technical debt....)
HAN: Get in there you big furry oaf! I don't care what you smell! Get in there and don't worry about it. (Han gives him a kick and the Wookiee disappears into the tiny opening. Luke and Han continue coding furiously as they work their way toward the opening.)
HAN: Wonderful girl! Either I'm going to kill her or I'm beginning to like her. Get in there! (Luke comments out some tests as he jumps into the darkness. Han quickly adds some TODO's to the code base to remind them of the problem they discovered, then slides into the chute himself and is gone.)
We all know the story from here - they go from a bad situation to worse, until miraculously R2D2 and C3PO manage to help them out of a slimy mess.
I have worked with many development teams who were somewhere between the escape from the detention block to trapped in the trash compactor. Having enough presence of mind to step back from the fray to understand the symptoms that your team faces will help a leader to figure out if they are in the technical debt trap. Your team might be trapped if they have
No time to integrate work
Minimal Test infrastructure
Minimal product validation
Minimal design artifacts (Requirements / User Stories / Architecture / Design etc...)
Manual environments (Test / Development / Deploy)
Bug fixing is slow and requires one of the “gurus”
Data migration is slow because it requires a high degree of manual customization.
If you see at least three or four of these symptoms, then you are either in the trash-compactor or on your way there. It is time to call C3PO and get some help!.
Why does Technical Debt happen?
Technical debt is generally not a consequence of a poorly performing development team, but rather the side-effect of a successful development team. I say this because creating a successful product (one that is used and adopted by the end-users), means that decisions will be made that will increase the technical debt. The technical debt trap will occur if the debt is not retired - here is how it works.
Technical Debt is high (because success drives technical debt)
As Technical Debt increases, developer productivity decreases
Unfortunately, productivity demands remain high, causing compromises that lock the team into a Technical Debt Trap.
The key is to recognize when the debt is getting high and to take steps to address it, so that you can increase development team productivity.
Ways to Escape
Once the team recognizes that they have fallen into the trap there are three options that the team can take to escape.
Use a team of experienced developers to attack the symptoms in parallel to the current development effort.
Grow the team internally - A slow path out of the trap as critical resources are tapped to hire and train new talent in the midst of the maelstrom. This path increases spending while decreasing developer productivity.
Do nothing - just keep trying to brace the walls of the trash compactor with metal bars - let’s see how this will work out!
My recommendation is that Escape Plan 1 is the best, if you have the developers close at hand. Reaching out to a firm like InfoFUSION who has seasoned developers and the ability to implement solutions by working hand-in-glove with your existing team will create the relief that the project team needs to get out of the trap in the most cost-effective way. Remember, you have a comm-link. Don’t forget that R2D2 at the other end can help, all you need do is call!