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 other […]
In a recent article I wrote about preferring Effective Software Development (ESD). I prefer being effective over being labeled as “agile” (whatever that might mean to you personally). This preference raises many questions for me. How do I define effectiveness? How do I know if I’m being effective or not? How can I become more […]
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 […]
I’ve seen recent discussions in various forums about the meaning of XP values and principles. Here are my current working definitions.
Values. A description of preference between alternatives. Often the alternatives represent candidate courses of action and the value guides the selection among the alternatives. Sometimes values are basically axioms. They can be irrational in the […]
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 […]