Ease the pain of project delivery

Many people I talk to still seem to regard delivering IT projects on time as something of a ‘black art’. No matter (or perhaps because of) how many Microsoft Project plans and Gant charts they have, they get stuck in the illusion of paper over reality where the project must being going well because the plan tells them so. Add to these unknown quantity of new (or new to the business) technologies and it seems only a matter of time before things go out of control.

Agile techniques are one response to this, but projects still need to be managed, hence the need for metrics – cold hard numbers that lets the big boss know that things are going ok. The Agile Blog has a good section on getting started with these metrics.

This topic also fits neatly with the news that the presentation slides for NoUnit at Fosdem are now live on the site.

NoUnit, an extension to JUnit the Java Unit testing tool, gives one of the key metrics that project managers need to see . These include

  • How many pieces of functionality have been delivered (as demonstrated by automated Unit test).
  • How many of the automated tests are working (should be 100%)
  • Are the important parts of your project being tested (this is where NoUnit steps in)
  • What is the quality of your project? (e.g. Sun Javadoc Quality Checker)

Easier Builds equals more work done

One of the ‘should be easy but takes up loads of time’ items is actually building your code , especially getting the first build working. Until now , the tool of choice has been Ant which means that as soon as one person on a team can get things up and running, everybody else can copy it and do the same (as opposed to having to set up each machine one by one).

Been getting more into Maven which is what the people from Ant did next. It can do everything Ant does , but is more project focussed and on getting results. For example , instead of making you worry about the technical details of the build (which it does very well) , Maven lets you think ‘I want to build the project’ and tries to do (trival!) things like download the necessary libraries for you …

The integration with Eclipse promises to be very good , even more natural than is currently possible with Ant. More details here.