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

XPlanner and Distributed XP Teams

XPlanner was originally developed to support a distributed XP team. This team had been using note cards successfully for over a year but a key stakeholder had been required to travel extensively and they wanted to monitor the development progress. Later, we used XPlanner as part of a larger tool suite to support distributed developer … Read more

Code it twice?

Laurent Bossavit asks if developers have seen the following effects when rewriting code from scratch…​ Rewriting the code takes much less time than the first time around Rewriting the code is a lot easier than the first time around The rewritten code is better factored, more readable than that lost I’ve seen all three of these … Read more

What is Agility?

I’m asking the question specifically in the context of software development although it’s useful to consider the meaning of the word in common usage. The dictionary definition of agile is “characterized by quickness, lightness, and ease of movement; nimble” and doesn’t include an important aspect: quality. A quality result achieves the goal of the action producing the … Read more

Reducing Defect Cost

The conventional wisdom is that defects cost much more, some say exponentially more, the later in the development lifecycle they are found. This is a obvious generalization rather than a universal fact. There are many many variables such as the type of defect, the type of application, the development techniques being used and organizational structure. … Read more