Saturday, April 21, 2007

Parallel Development - First steps to agile?

Recently the team have adopted a branched approach to managing our code base. In the past we had worked with a single code base. As a result multiple projects would be implementing in the same code base. The impact of this was added complexity. Teams would often fall over each other's work. The problems:
  • Delayed Delivery: because projects are so closely tied together if one project is late then they all are. In our working environment the requirements for a project often change at the last moment often making a project late.
  • Failed Delivery: If for what ever reason a project is stopped the work completed so far will be committed to that release.
The benefits of Streaming as we call it are
  • The team's project managers were really challenged to shape projects into independently deliverable units of work. Granted, this was always possible however putting physical restraints in place forced the management team to a adopt a more organised approach.
  • Delivery teams are able to work independently and deliver code while managing and communicating possible issue to other parallel projects.
  • Test teams can test logic independently.
This all seems good. But there is a cost. In order to release a deliverable code base the various streams have to be merged. This is not a cost free task.

Sunday, April 1, 2007

intro

I work for a large insurance company in the UK. It is not the largest and definitely not globally known, but it has seized it's opportunities when it can to produce great e-commerce solutions. I started with the company about eighteen months ago now. I have ten years software development experience which has taken me from working for a large airline through the dot com bubble (and out the other side) into local government to a brief stint in an on line auction house (not Ebay). Throughout this time I have seen software done well and done very badly.
We inherited a way of working and code base from a group of external consultants. They had little structure in what they did and the project was prone to issues.
I intend this to be a record of our adventures in agile development and a record of the challenges and changes facing the group of people I work with as we try and innovate and deliver great software.