The arguments for an ‘agile’ approach to IT, particularly agile software development, are well established. 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.
To date, agile has been seen almost exclusively as a solution for smaller businesses. There are countless examples of organisations that have benefited from agile, but these are nearly all relatively small, with slender IT departments and simple business models. More often than not these organisations are co-located, geographically and metaphorically close to their customers and have a reasonably short and simple supply chain.
An understandable myth amongst the business and IT world is that large organisations cannot possibly be agile. They are simply too big, complex and geographically dispersed to successfully deploy an agile approach to IT and business.
However, the potential benefits of agile for large corporations are tremendous - far more so than for smaller businesses. With success rates for software development below 30 per cent (The Standish Report, Standish Group (2004)), clearly the current approach to software development amongst large organisations is not working.
Reports of poorly planned and badly managed large-scale IT projects continue to dominate the news and IT agenda, as these projects appear to consistently run over budget, are delivered late and fail to meet business and end-user needs.
Stretching big business to be agile
Many of the problems facing large IT projects arise because software development teams are unable or unwilling to adapt the project to reflect continually changing customer requirements. According to Forrester research, 30 per cent of software development projects currently fail due to unattainable requirements. (Forrester Research (2004))
Business priorities within the customer change and 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.
Agile supports the belief that with most software 80% of the benefits are delivered by 20% of the functionality, which is a major factor in explaining why 67 per cent of functionality delivered to businesses are never or rarely used, and therefore deliver little or no business benefit. (The Standish Report, Standish Group (2004) )
According to a recent report in The Economist, software development failures cost the global economy $119bn each year (The Economist (2006) ).
Clearly, a new more flexible approach to software development is needed which streamlines development processes and provides development teams with the freedom and flexibility they need in order to be successful. This has led to the emergence of the agile approach to development.
Certainly, implementing an agile approach to IT within a large, multi-national organisation such as BT is challenging. BT has an IT function that employs over 14,000 people, 6,000 of whom work offshore, not to mention the other 80,000 people in the business who need to collaborate with IT to a variety of degrees.
To transform an organisation this size over to a radically different approach is a difficult, long-term undertaking. In the three years since BT started its agile initiative, agile software development has been rolled out to around 30 per cent of our IT projects. It is very much a work in progress.
However, despite all of the challenges that BT has faced within the Agile Transformation Programme, we are already reaping the rewards of doing so. Large-scale agile enablement, when done properly, really does work and transforms IT project delivery and business performance.
Agile practices do deliver business value for large blue chip companies, enhancing the ability of the IT department to manage changing priorities, increase productivity and team morale, reduce project risk and accelerate time-to-market.
Getting agile right across the organisation
The important thing to remember at all times when considering agile is that it is not just a technical solution; it is a business-wide activity that requires input from the business, as well as the IT function.
Agile can enable businesses of all sizes to maintain flexibility and manage change, but only if the business allows and supports these changes. Two of the key success factors for agile are senior management support – at CIO and CEO level – and the involvement of a business decision maker within the development teams.
Agile transformation should be approached in small steps, where functionality is delivered in smaller, more frequent increments all the way through a project. IT teams should constantly be looking for the smallest thing that they can do which will deliver business value.
Each completed step should then be evaluated before deciding on the next activity. The business constantly sets the priorities and the IT function responds.
As each agile delivery phase is short, the incremental costs are modest. Furthermore, as each phase delivers stand-alone business value, it can generate profit quickly.
Capital expenditure is limited and, even if a project is cancelled before final completion, there is business value in the portion of it that has been delivered.
The key is to deliver what the business needs at the time of project completion, not what the business required when it signed off the project. That is the main difference between agile and traditional software development. It’s important to do the delivery right, but it’s more important to deliver the right thing.
Therefore, it’s imperative to work with a technology partner that understands agile and can offer the flexibility required to make it work. Borland has assisted BT on scaling agile, providing the communications and collaboration solutions that allow our distributed teams to work effectively together.
The partnership is invaluable because Borland is willing to work with us, absorb our business and adapt to our changing needs. On top of that, it has the solutions, platforms and services to support our agile as well as traditional projects.
From our experience of implementing agile within a large organisation, there has to be a very close relationship between development teams and the businesses they serve for it to work effectively.
Agile is far more difficult in large organisations because it is a communication intensive process and communication is that much harder when there are thousands of people, dispersed all over the world.
One of the tricks to getting it right is to create internal agile coaches, specialists in the implementation of agile methods who move from project to project, spreading their expertise along the way. In an IT function of 14,000 (of which almost half are in India), split down into hundreds of small development teams, these coaches are essential to ensure the successful rollout of agile practices.
Another vital ingredient for agile is the provision of the communications and collaboration tools that allow these distributed teams to work together, wherever they are, based on a ‘single version of the truth’ resource. In other words, organisations must avoid wasting resources on multiple (and perhaps conflicting) solutions to the same issue.
Having an overall picture of what every team is up to and allowing teams to have sight of this, is crucial.
One step at a time towards the agile business
Like agile software development itself, the transformation of the organisation to the agile approach should be gradual and focused. It simply isn’t possible to rush through such a radical overhaul of IT functions, particularly in a large business.
Businesses need to recognise that they can, and will have to, mix old and new approaches to development and provide the right support systems to manage the interface between agile and traditional teams.
Whatever their size, organisations constantly need to innovate to gain and maintain competitive advantage. In IT that means short cycle times and rapid, targeted delivery.
Agile principles focus on minimising waste, delivering quickly and remaining focused on the business goals. Such outcomes will no doubt benefit any organisation, whatever its industry, size or location.
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, it can be risky without the right planning and processes in place, and it is a challenge in a large organisation, especially without a trusted technology partner.
However, the benefits far outweigh the time, effort and risk involved. Agile can transform any organisation, whatever its size, making it more efficient, flexible and therefore more productive.