Friday 30 January 2009

Burn-up Charts and MuSCoW

Every one knows about burn-down charts in Agile software development: They are a great metric for tracking progess on a project. Less well known, or perhaps I should say less well understood, is another type of highly useful metric: the burn-up chart.

Burn up charts are great for overall project planning and quickly assessing the impact of additional or changing requirements.

Once the release backlog has been estimated into story points, and you have a velocity (or estimated velocity) of how many story points you can get through per iteration, the next step is to make sure the backlog is ordered on the MuSCoW principle: ie. Must-have, Should-have, Could-have, Will-Not have (Yes it is a bit convoluted).
  • Must Have– if these features aren’t in, the product cannot be released
  • Should Have– important but success does not rely on it
  • Could Have – nice to have in, but can be left out if necessary
  • Will-Not Have – not this time
You then can map these out with the y-axis representing the story points int eh backlog (i.e. scope) and the x-axis is the number of iterations (i.e. time/schedule).

Its then pretty easy to plan how many iterations should be needed to complete all the “Must-haves”, the “Should haves” and “could haves”. The sponsor can then decide how much of the non-vital functionality they are prepared to pay for (in terms of time). Similarly, if you add story points by adding or changing requirements, the graph line shifts up, and the point where it meets the x-axis moves out: The number of iterations required to complete the new functionality increases.

Example below:

Friday 9 January 2009

The IJTC: where was everyone?

I've just returned from 2 highly informative and enjoyable days spent in Dublin at the Irish Java Technology Conference (IJTC). Hosted in the extremely cool new Science Gallery at Trinity College, speakers included various movers and shakers in the Java world. Now in it's second year, the IJTC offers the opportunity to hear directly from the horses' mouths information on the more significant events currently causing the seismic ripples in the Javasphere, a somewhat rare opportunity for those of us living and working on the Irish Island.

Charles Nutter provided 2 sessions: One giving an overview of the front-runners in the non-java languages that run on the JVM (JRuby, Groovy, Jython, Scala and Rhino) that if we are not already using, we will be soon. His second session concentrated on his specialist subject, JRuby, and showed how the productivity gains offered by Ruby on Rails can now be combined with the power and scale of the Java programming language.

On a similar theme, the ever entertaining and enthusiastic Guillaume Laforge covered Groovy and Grails. Sam Brannon from Spring Source outlined how to develop web applications in an OSGi environment using SpringSource's new DM server. Jasper Potts from Sun gave us a look at JavaFX 1.0 and the potential it offers for rapid development of genuinely cross-platform rich internet apps.

This year's conference was sponsored by JBoss, so had a strong Red Hatted flavour, with speakers covering Jboss Cache, Drools and Messaging.

Besides all this there were also sessions on developing software for international markets, Data Grids, agile software development, SOA, cloudware and just about any other the other current buzzwords you can think of.

All in all a great conference and at €229.00 for both days, incredible value, which leads on to something that genuinely puzzled me.

As far as I could judge, the total number of those attending the conference couldn't have been much more than 40 people. Given the price, the quality of the speakers and the topics being covered, it seems astonishing to me that among the thousands of people who work in software development in Ireland not even 100 of them could see it as useful or possibly of benefit to avail of this great opportunity right on their own doorstep. IT is a fast changing world and conferences offer the best way to stay on the crest of the wave. Personally I usually try to attend at least one conference a year, and what I learn at those usually ends up informing what I work on for the next 12 months.

As the economy continues to nose-dive the onus to work ever more smarter, to take advantage of advances in technology to give us competitive edge and to do more with less, grows ever greater. You would think that Ireland's IT folk would be keener to grab anything that can help competitiveness, or are we just too complacent, or perhaps even arrogant?