Technical Debt: The Threshold of Acceptable Pain

Why do some teams allow technical debt to accumulate and others are better at recognizing the debt and actively reducing it? One possibility is a skill difference. This skill difference could be the result of differing experience or differences in intelligence. In any case, the theory is that a more experienced, skilled team will generally … Read more

We’ll Be Agile Later

James Shore wrote an interesting blog article called “Voluntary Technical Debt“. He and Dave Woldrich are developing a commercial service called to support distributed agile teams. Shore describes how he and Dave cut corners with their initial implementation, intended to be a “spike“, because of time pressure to demonstrate the software at the Agile 2006 conference. … Read more

Agility and Effective Communication

Agile coach and trainer Mishkin Berteig recently wrote a blog article called “The Seven Core Practices of Agile Work” where he highlighted the importance of effective (“powerful”) communication. I agree. In my experience, effective communication is often the most important factor in project success. However, my views about the nature of effective communication are different. … Read more

Are Agile Methods Incompatible with Human Psychology?

Kevin Brady claims they are in his recent blog article “AGILE /SCRUM Fails to get to grips with Human Psychology“. After reading his article, it seems it should have been named something like “Agile Methods Do Not Cure Dysfunctional Organizations”. I believe the latter is true. I think agilists understand this at some level and … Read more

12 Reasons to Work On Open Source Software

People sometimes ask me why I write open source software in my spare time without being paid for it. It’s an interesting question that I sometimes also ask myself. There are quite a few reasons and I thought I’d describe some that probably also apply to many other open source developers. The following is a … Read more

Agile Planning Tools and the Spreadsheet Strawman

Have you ever worked with someone who is proud of how well they fix problems or bugs…​ that they created in the first place! I’ve seen people who are quite successful with this strategy although it never ceases to amaze me. Unfortunately, I see agile practitioners do the same thing in the domain of planning support tools … Read more

Debugging: Software and Agile Wetware

Although Agile testing techniques have helped us to create higher quality software, many software developers still spend significant amounts of time debugging their own or other people’s software. Some of the most difficult software to debug is code that has “evolved” over time in a mostly arbitrary way. The software is not well structured or … Read more

Rigid Agility and Pliant Perspectives

Some my earlier comments have been described as a “backlash” against agile software development. It’s definitely not a backlash against agile software development techniques or goals, but more about the rigid attitudes I see in some branches of the agile community (mostly from a relatively small, but very vocal, group of XP evangelists). This rigidity … Read more

Perspectives on Agility

There seems to have been a recent increase in discussion around the definition of “agility” in a software development context. For example Brad Appleton has offered a definition of business agility. Business agility and software development agility seem to me like two different, although related, concepts but the post and comments are interesting. Brad also blogged … Read more

Colocated Teams: 7 Problems With Face-to-Face Communication


XP emphasizes radically collocated teams sitting together in a shared workspace. Some of the XP thought leaders claim that anything less than that will cause significant reductions in productivity. In some situations that may be true but it hasn’t always been my experience when I’ve worked on distributed teams. The productivity claim seems to be … Read more