The goals for modern software development are well understood: greater efficiency, the ability to hit budget targets and schedules, and most importantly, the creation of software that is a perfect fit for business requirements and which can be flexed to respond to changing business needs.
Of course, historically, many software projects have missed those goals by a mile. More often than not, bespoke development or major adjustments to packaged applications have been over budget, years in gestation and late, and when they have arrived (assuming they ever did) the software has either been far removed from what the business had originally conceived or has been overtaken by changes in business circumstances.
Addressing that head on, over the past three years, many of the
Despite early acceptance issues – from both IT and business stakeholders – scalability challenges, and what amounts to a change in internal IT culture, the results have been highly positive.
Agile rejects the classic, rigorous ‘waterfall’ or plan-driven approach, where the assumption is that any project takes a large-scale, upfront commitment from both the business side and IT.
In contrast, Agile principles demand a high degree of business involvement, with developers engaged in constant collaboration with the ultimate recipients of the code; they set out the scope of the project in terms of ‘user stories’, descriptions of how the resulting application will look and feel; they take an iterative approach to development, with working slices of the application delivered to end users at fixed periods of two to four weeks; and they assume the application specification will need to be adapted over the development period to changing business requirements.
In the three years since the initial projects got under way at BT, for example, Agile has become the underpinning principle in 60% to 70% of BT’s software development assignments, affecting the work of most of its 8,000 internal IT staff to some degree and becoming part of the agenda of thousands of contractors in the
BT is hardly alone in that enthusiasm. The Effective IT Survey of Information Age readers shows that 35.7% of the organisations questioned are now using Agile methods, a huge rise up from 22% a year ago, with a further 13.5% planning adoption in the next year.
The reasons for that take-up are transparent. Over 63.6% rated Agile as either “effective” or “very effective”.
Notwithstanding that, Agile is not without its own set of the challenges. “You need to improve the collaboration right across the [IT and business] team, so everyone thinks of themselves as the delivery team. And that is a huge cultural change for many,” says Roger Leaton, who has the title ‘Agile Advocate’ at BT.
Traditional software developers are not the only source of scepticism. Business people who have been used to specifying every feature of a desire system upfront struggle to get away from the notion that they only have a single chance to input all their requirements.
“Initially, you need to get them to understand that they no longer only get one go at this, that this is only the first of a series of 90-day slices,” says Leaton.
As that might suggest, Agile development comes with a bill. “A huge change like this doesn’t immediately give you benefits.” As a result of the steep learning curve, the chance of working practices and uncertainty in the work environment, there is a drop-off in performance initially,” reports Leaton.
But when that is weighed against the alternative of developing code that is a mismatch to requirements, late and over budget, Agile seems a sound investment.
Standard Life certainly thinks so. Between 2003 and 2006, the company halved its IT project development budget, and that has been maintained since, even as the business has grown. Chief architect of the group’s IT, Ian Muir, puts that saving – above £20 million – down to two factors: “Over the past few years, perhaps the two most important directions we have established within IT are our service-oriented architecture and, more latterly, the adoption of Agile development techniques.”