Martin Fowler on Technical Debt

Martin Fowler on Technical Debt

Martin Fowler just posted an article on Technical Debt in which he discusses the Technical Debt Metaphor. Fowler argues that the metaphor should (and does) include messy code. He talks about deliberate and inadvertent debt as well as reckless and prudent debt. Prudent and Deliberate is the most desirable. While Reckless and Inadvertent is the least desirable. He published the following quadrant to help explain his concept.

Craftsmanship

I have the profound and intimidating honor of being the fifth person to make note in the Wandering Book. To be honest, I'd hoped to be later in line. I'd hoped I could read numerous entries and ponder all the wisdom before it came my turn to write. As the fifth, I have to admit there is already a great deal of wisdom in the book. The four before me are remarkable people. And those who will follow me are surely remarkable as well.

I'd rather be in last place

I joined the cross country team my freshman year of high school. I knew nothing about the team and little about the sport, but I figured running wasn't too difficult and was certainly less dangerous than football.

It turns out the team was one of the best in the state. They had a legacy of excellence for well over a decade. They consistently won their league, placed in districts and regionals and sent at least individuals, if not the entire team to state.

Messy Code is not Technical Debt

Technical Debt is a common topic these days. How is it incurred? How should we track it? When should we pay it down?

It is a metaphor commonly understood. Our customers get it. While they may not like it, they do understand. Technical Debt is incurred today and needs to be paid down; preferably sooner rather than later what with compound interest and all that.

Keep Retrospectives Fresh

Retrospectives are an important (and frequently poorly done) practice. They provide an opportunity for discussion, learning, and adaptation. Without retrospectives, a team is likely to fall into a soothing rhythm and fail to recognize early the need for change.

But retrospectives themselves can become common and numbing. The same moderator, the same three questions, in the same room, at the same time .... (yawn).

Here are a few tips on keeping your retrospectives fresh.

I disagree with Uncle Bob on this one

I am reading Bob Martin's "Clean Code - A handbook of Agile Software Craftsmanship" again. For the most part, I am really digging it. It reminds me a bit of Steve McConnell's Code Complete. I still have the original version of McConnell's book around here somewhere. But I digress (and show my age).

In Chapter 9, Martin covers unit tests. In listings 9-3 and 9-4, Martin shows the "simplification" of a unit test. Listing 9-3 makes two method calls followed by five assertions. Each assertion checks a specific state. Each state is clearly identified. I do not particularly like the five assertions. But this is not the point that Bob makes. This is not the correction he covers. Instead, he condenses all five assertions into a single assertion by introducing a string of seemingly arbitrary characters.

Code Retreat #2


Yesterday was the second Code Retreat. Thanks to LeanDog for the use of their facilities. We didn't quite hit 40 in attendance, but we came close. With participants like Chris Judd, James Shingler, Corey Haines and J.B. Rainsberger, we had some real ninjas present. I had the fortune to pair with Corey and J.B. as well as several others. All of the pairing experiences were fantastic. I learned something new with each iteration of the kata. I couldn't have asked for more.

Don't be like "Ted"

I have a friend; Let's call him "Ted".

Ted's place is a mess. Frankly, it's a disgusting, blatant, offensive, inexcusable mess. I visit Ted on occassion. He has a nice family. They're good people. Yet they live in near squalor and seem to be relatively unbothered by it. Ted complains regularly, but knows that sometimes there are circumstances beyond our personal control.

Allow me to share with you a few of Ted's household issues.