JUnitFactory: First Impressions

JUnitFactory is an automated unit test generation service from Agitar Software Labs. This article describes my initial experiences and impressions from using the tool to generate unit tests.

Installation

You can use JUnitFactory through a web interface or as an Eclipse plugin. I have only used the Eclipse plugin . It was very easy to install using the JUnitFactory Eclipse update site (more info). You can also download a file if you prefer manual installation. The JUnitFactory plugin is currently only available for Eclipse, but may be available for other IDEs in the future.

Continue Reading »

Pragmatic Agility

There was an interesting discussion during the Agile Toolkit Podcast interview with Dave of the Pragmatic Programmers. I’ve transcribed a few of the comments about agile methodologies below.

Dave Thomas: I think agile methodologies have adopted their own venom. And to that extent, I’m pulling back, away from, the individual agile methodologies. I believe very, very strongly in agility. I’m an author of the agile manifesto and I think the underlying values of agility fit far better with my world view of how software should be built. I think some of the implementations of agile methodologies are, frankly, scarey in their kind of…

Bob Payne: dogmatic?

Dave Thomas: dogmatic, yeah that’s a good word, that’s a mild word for some it. It’s kind of like “my way or you’re not doing it properly”, a lot of blackmail, a lot of absolutes. And to me that’s not what agility is all about. So I pull back from that. I don’t want to be associated with that.

Bob Payne: In the past I’ve felt a number of pulls in different directions and I’ve started to realize that it is not necessarily the particular practice but what the resulting outcome is, the rhythm that it sets up.

This perspective sounds very similar to what I’ve been calling “agile without a name” or “effective software development” or what Tim Beck calls “pliant software development“.

P.S. I highly recommend the Agile Toolkit Podcast. It’s a great resource to hear candid discussions about agile topics.

Do You Write Green Software?

QCon 2007 was a great opportunity to hear the architects of some of the largest Internet sites discuss the challenges they’ve had. One particularly interesting challenge was discussed by Dan Pritchett, Technical Fellow at eBay, Inc. He spoke about the challenges of providing enough power and air conditioning to eBay’s data centers. I’m not sure how accurate this statistic was, but he mentioned a 3 million watt power requirement for their northern California data center. The problem is that the local electricity provider is reaching the limits of their ability to provide that much power. This, in turn, limits ebay’s ability to scale at this physical location.

Continue Reading »

APM Tooling Survey and XPlanner

Trail Ridge Consulting has released the results of an agile project management tooling survey performed in late 2006. Apparently, APM tools are being widely used by both small and large organizations although the primary reasons differ with the size of the organization. It was interesting to me to see that card-based approaches are use less often than dedicated APM tools or MS Office tools like Excel.

It was also interesting to see that XP has been adopted in about half as many organizations as Scrum. Of course, I’d guess that many of the Scrum shops are using at least some XP software development practices.

XPlanner XPlanner was the fourth most widely used APM tool and the only open source product in the top 10 most used tools. (There is a factual error in the survey results that says ScrumWorks is also open source. The ScrumWorks Basic product is free but not open source). XPlanner is also the most used tool focusing specifically on XP. It surprised me a little to see that XPlanner is adopted somewhat more by large organizations than small organizations. It’s possible that this is an indication that the licensing fees for the commercial tools are high enough to cause some pain for large organizations. I know at least one large organization that chose XPlanner over VersionOne for this reason.

As the founder[1] of the XPlanner project, I’m very happy to see it so widely used even with no marketing or sales resources.


1. Jacques Morel is now the XPlanner project management and doing a great job.

Pair Programming Benefits and Costs

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 hand, there is a significant 84 percent increase in effort to perform the tasks correctly.”

Pair Chair
In specific contexts, like junior programmers pairing on complex tasks, pair programming results in significant increases in quality. However, in other contexts the increase in quality, if any, comes at a high cost. The study doesn’t appear to support the conclusions described in earlier XP research. Specifically, that a team could expect “a 15% increase in development cost for a 15% improvement in quality”. This earlier study used students rather than professional programmers and the strength of some of the researchers’ techniques and conclusions have been questioned.

My own personal experience is that I enjoy pair programming for some activities and in some contexts, but not in all contexts. Continue Reading »