Because Good Software Is Good Business

Eight years ago I organized the Workshop on Technical Debt at Calvin College, and I’ve stayed involved in the discussion since.
The concept, to me, seems simple, intuitive, and obvious: Technical short-cuts lead to a slight increase in value today at the expense of speed tomorrow.
Then Ron Jeffries, a co-author of the Agile Manifesto, got up to speak, along with his partner, Chet Hendrickson. Ron and Chet had served as part of the team that invented Extreme Programming in 1999.
What they had to say turned the workshop upside down.

What draws me to Anaheim, Calif., in October is not the walking Disney characters (though there are plenty of those), but instead the STARWest, the West Coast’s largest conference on software testing analysis and review.
After a day listening to James Bach teach critical thinking for testers, I wake up extra early on Tuesday to attend the opening keynote — Michael D. Kelly and Jeanette Thebeau discussing “What Executives Value in Testing.”
I know Michael well; he is a former president of the Association for Software Testing who worked as a test manager at Liberty Mutual, a Fortune 500 company, then went on to start his own company that is going well. His partner, Jeanette, is a bit of wild card; her background is in working with executives to shape the business message.
With this pair, I’m not quite sure what to expect.

When I arrived at Agile 2013, I looked at the program and picked out sessions — mostly about improving the front-end of development. In order to do this, I had to pass the lounge area, which had tables, chairs, couches, easels … and lots and lots of white boards. This area was the “open jam”, a collaboration space where anyone could propose anything.
Well, I suppose, nothing vulgar — but there were sessions on “Mob Programming,” “No Estimates,” and even one on “PowerPoint Karaoke.” (More about that later.)

At a time when other conferences are splitting into smaller and smaller regional and micro-tech events, the Agile Conference, with its 1,700 attendees, stands alone.
Alone and overwhelming. The event had sixteen different tracks spanning everything from DevOps to coaching and mentoring, leadership, and lean startup to classic elements like development, testing, and quality assurance.
Not to mention the vendor booths, the Stalwarts Stage (where experts “just” answered questions for 75 minutes), the four-day boot camp for beginners, and the academic track. The 215 sessions brought one word to mind: overwhelming.
Instead of focusing on one track or concept, I spent my time at the conference looking for themes and patterns. What surprised me was where I found those ideas — to the left, in product design, and to the right, in DevOps, not in the middle, in classic software.

It’s been over 20 years since Ward Cunningham introduced the debt metaphor with an experience report at OOPSLA, the conference for Object Oriented Programming. At the time, Cunningham was arguing that debt was a good idea — you could get the software out faster by taking shortcuts, collect additional revenue, and come back later to pay it off.
The risk with this kind of strategy, of course, is that debt carries interest, and if you don’t pay it off, eventually all your payments go to service interest. For technical debt, the interest slows down forward progress. He argued that one should stop avoiding debt and instead get good at paying it back. He mentioned the process we now call refactoring. Refactoring would be paying back some principle — at least, that’s the metaphor.