Random Thoughts: Measuring Technical Debt

This is a rambling-about-random-thoughts post. It goes a little out there. Have fun! This post was triggered by the Lean Code talk at #xp2017, by Desmond Rawls (@okokillgo) Using Lean Startup principles to improve code quality. Nick was using the normal code quality metrics for this. That is good, but: not all that actionable, and … Continue reading Random Thoughts: Measuring Technical Debt

The Blindfolded Ninja Model of Software Development

The ancient and respected team of Science Ninja is amazing. For centuries (or so it seems) they’ve protected the temple of Llabdum. The temple is old, with many places showing signs of previous attacks, or simply crumbling rock and weapons still in the skeletal hands of fallen enemies. Or maybe, you know, just lego bricks … Continue reading The Blindfolded Ninja Model of Software Development

Top Gear: A New Refactoring Kata

For the last five or six years, I've been using coding exercises during job interviews. After talking a little with a candidate I open my laptop, call up an editor, and we sit together to do some coding. My favourite exercise for this is a refactoring kata that I came up with. I've always found … Continue reading Top Gear: A New Refactoring Kata

Everybody need somebody

On occasion, I like to listen to podcasts. Some of the most interesting can be those that are from outside of the software industry. This week I was listening to Robb Wolf's podcast, where he hosted guest David Werner. Robb talks mostly about diet, metabolism and exercise, and this episode was focused on that last … Continue reading Everybody need somebody

Agile On The Beach Talk

Ciarán and I had a wonderful time at the Agile on the Beach conference this last week. We did the first full version of our talk: "The 'Just Do It' approach to change management".  I did an earlier version of the talk at the DARE conference in Antwerp earlier this year, but this longer version … Continue reading Agile On The Beach Talk

Conway’s Organizational Structure Heuristic

organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations. -- Melvin Conway We often run into examples of Conway's Law in organizations where silo-ed departments prompt architectural choices that are not supportive of good software design. The multi-functional nature of Agile teams is one way to … Continue reading Conway’s Organizational Structure Heuristic

Spikes, they’re sharp

One of the concepts that came from XP is the Spike. Especially in teams new to agile, there can be confusion on what a Spike is, and how to deal with them. The best definition of a Spike I've found is this one: "Spike" is an Extreme Programming term meaning "experiment". We use the word … Continue reading Spikes, they’re sharp

On Discipline: Fooling yourself is an important skill!

Discipline is an interesting subject. One that I find myself regularly talking about. Or discussing about. In the last year I lost about 20kg of body weight through a combination of diet change and exercise. This apparently give some people the impression that I am very disciplined. I'm not. I do know, however, how to … Continue reading On Discipline: Fooling yourself is an important skill!

Estimates and Commitments – The Hard Truth

My esteemed colleague, Ciarán ÓNéill just posted a nice and considered discussion on estimation, velocity and cycle time. I, however, do not plan on being so considered, or considerate. You see, too many people are bent under the crushing weight of living up to estimates. Even reckoning that they provided these estimates to begin with, the … Continue reading Estimates and Commitments – The Hard Truth

Success

I recently wrote here about the benefits of failure. One of my recent failures reminded me about the importance of success. I thought that to be nicely circular enough to warrant a new post! You see, while it's important to embrace failure - how else are you going to learn? - it is just as important … Continue reading Success