Saturday, 14 February 2009

Playing with Jazz

Last night I downloaded a copy of Rational Team Concert, having just heard about the Jazz project.

Having started it up I started to work through the tutorials and was, quite frankly, blown away by what it could do. I'm a big fan of Mylyn on eclipse and the way it can focus you on a single task at a time. Jazz (or Concert, not sure where the boundaries lie right now) seems to take the task oriented development and expand it well beyond the bounds of the coding. It integrates your task/bug tracking with your coding and testing, your commits are associated with the results of your automated tests all in a structured workflow. It also allows for planning your releases, iterations and working hours.

It can also be used to enforce your processes, though I have yet to see how to set it up, but a couple of examples are that a new developer's code will not be committed until it has been reviewed by a more experienced developer (and will create a task for the experienced developer with the code attached), or that code containing warnings cannot be committed.

To do all this, it provides it's own bug/task tracking system, project planning tools and a source control system. The tracking system and the project planning are quite straight forward, but the source control system is a little different to what I'm used to and I have yet to get my head around it. It is made up a streams, I think, and these streams can belong to individuals or teams. You work in your own stream, then when your are done, you integrate it into the team stream, on larger projects you then integrate that into another stream, and so on up.