I first learned about Extreme Programming back in late 2000 while working on a large federal government system called the Global Case Management System (GCMS). We were starting to build the framework for an "army of Java developers" to use, but were stopped dead in our tracks after a few weeks when management was told they had to evaluate COTS products for the system, or they wouldn't receive additional funding.

Essentially, the decision had already been made by the time we performed our first demo of the framework. There was talk of using the framework to handle other applications that "didn't fit in" and such. Management had seen the shiny, flashy demos, and actually believed the promises that 85% of their functionality would come right out of the box. We warned them that those promises were BS, but I suppose we were seen as having a self-interest in the system being built in-house.

The main thing was, we told them that it would be a disaster. In the ensuing 5 years, we have also watched it be a disaster although with other elephants such as the Firearms Registry dancing around, this project wasn't noticed. Well, today one of my colleagues from that project sent me a link - the project has been noticed!

I'm sure there are people over there who are... well, I can't say that in a family forum, but suffice to say that they're not happy. They have been hiding this fiasco for a good 3-4 years, and now they're going to be called out on the carpet for it. What's even worse is the fact that the project was Citizenship and Immigration's 3rd attempt to replace its legacy applications, each previous attempt ending in failure. I suppose at least this time they put something in production. However, the new system that is in production only replaces a fraction of the functionality in the 2 main legacy applications.

At any rate, I feel a certain sense of vindication since we warned the top manager of the GCMS project in February 2001 that a COTS solution wouldn't solve their problem. Along with that sense of vindication, though, is anger at the waste of money and the stress that the people on that project have been under. The people who made the high-level strategic decisions, i.e. those who should be accountable, are long gone and someone else will have to clean up the mess.