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

XPlanner: A Selfish Application

Back in 1997, Brian Foote and Joseph Yoder wrote about The Selfish Class. Their paper was focused on software artifacts, mostly at the class or class library level but I believe the patterns also describe how application usage spreads. According to Foote and Yoder…​ THE SELFISH CLASS pattern examines how the sociobiological notion that evolving artifacts … Read more

Agile Trust: Essense or Side-effect?

Trust only movement. Life happens at the level of events, not of words. Trust movement. — Alfred Adler David J. Anderson has recently stated the opinion that trust is the essence of agile development methods. He says that trust is more of what agile is all about than short feedback loops and a focus on people as … Read more