A lot of application development teams, and to a lesser extent operational IT teams, have either no or limited process. They depend on a combination of individual expertise, informal conventions and team habits (some good and some bad); and being prepared to put with all the problems of poor quality and unpredictability. It does not have to be like that and here I present some 'low hanging fruit' you can pick to make your teams more productive – the approach is simple and practical.

This document is written for smaller teams (5-15 people) who spend their time doing a combination of maintenance and new feature requests on an existing application. This actually covers the majority of software teams because, much as we all want to work on green-field projects and deliver Rel 1.0, most of our work is done on existing systems.

The process improvement approach is based around the implementation of a ticket system. This addresses two key needs:

  *  Support the consistent use of a process on a daily basis
  *  Provide historical information for future process improvement initiatives

The introduction of a ticket system is only the part of the journey (albeit the most visible outside the team). Teams should be looking to exploit multiple tools and techniques, in particular

  *  Automated unit tests
  *  Frequent integration builds
  *  Configuration Management

The specific workflow that a team will adopt depends on a variety of factors:

  *  Skills
  *  What is acceptable in the organisation
  *  Type of project
  *  Inclination

However the focus should be on techniques and tools that deliver value to the team and organisation.