Pair Programming Benefits and Costs

pair programming

A new pair programming study (Arisholm et al. 2007) indicates that that the practice neither increases quality or reduces costs, in general. The results of this experiment do not support the hypotheses that pair programming in general reduces the time required to solve the tasks correctly or increases the proportion of correct solutions. On the … Read more

Agile Without a Name

There’s been much discussion and debate in various forums about the evolving use of the word “agile” to describe software development. Some people involved in the discussion have suggested creating a new term to replace “agile”. In most cases, I don’t support replacing terminology. However, the term “agile” seems to have suffered so much semantic diffusion that it’s practically meaningless. Speaking … Read more

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 cardmeeting.com 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

Mastodon