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.

No comments: