Organisations can minimise the impact of business change by increasing collaboration between the business and IT functions. The IT department can then deliver prioritised functionality faster and more frequently, thus reducing budget overruns.
Many problems arise on large IT projects because software development teams do not adapt the project to reflect continually changing customer requirements. Business priorities evolve during the project lifecycle, making it virtually impossible for the customer to predict all their requirements at the start of a project that could last months or years.
Clearly, a more flexible approach to software development is needed, which has led to the emergence of the agile approach to development.
Implementing agile IT within an organisation such as BT is challenging. BT's IT function employs more than 14,000 people, 6,000 of them offshore, and 80,000 people in the business need to collaborate with IT for various reasons.
To transform an organisation this size to a radically different approach is a long-term undertaking. In the three years since BT started its agile initiative, agile software development has been rolled out to about 30% of our IT projects. It is very much a work in progress.
The important thing to remember is that agile is not just a technical solution but a business-wide activity that requires input from the business as well as IT. Agile can enable businesses of all sizes to maintain flexibility and manage change, but only if they allow and support these changes. Two of the key success factors for agile are senior management support and the involvement of a business decision-maker in the development teams.
Agile transformation should be approached in small steps, with functionality delivered in smaller, more frequent increments all the way through a project. Each step should then be evaluated before deciding on the next activity. The business constantly sets the priorities and the IT function responds.
Because each delivery phase is short, the incremental costs are modest. And because each phase delivers standalone business value, it can generate profit quickly. Capital expenditure is limited and, even if a project is cancelled before completion, there is business value in what has already been delivered.
The key is to deliver what the business needs at project completion, not what was required when it signed off the project. That is the main difference between agile and traditional software development. It is important to do the delivery right, but it is more important to deliver the right thing.
Like agile software development itself, the transformation of the organisation to the agile approach should be gradual and focused. Businesses must recognise that they can - indeed, must - mix old and new approaches to development and provide the right support systems to manage the interface between agile and traditional teams.
Agile need not stop with the IT department. Within BT we are now considering applying the same agile principles to other business functions. Agile is not an overnight solution. But the benefits far outweigh the time, effort and risk involved. Agile can, and does, transform any organisation.
Roger Leaton is agile advocate at BT
This was first published in April 2008