Agile methodology applied to software development is an amalgam of different methods that work together to create an agile and competitive delivery model. Essentially the Agile process breaks tasks into small increments and short time frames. Each iteration involves a collaborative team working through a full software development cycle that includes planning, requirements analysis, design, coding, unit testing, and acceptance testing prior to delivery.
The Agile process is well-proved and is now being advocated as the default methodology for software development. Indeed, outsourcing providers have been quick to advertise it as a competitive differentiator.
The stated aim of Agile is to enhance overall project agility, optimise return on investment, improve quality and ensure alignment with customer needs. But while no one would argue these benefits, how are they actually being delivered, how are results being measured and what are the challenges? Furthermore, while there is strong advocacy among the IT community, how is Agile being taken up by business itself?
Adopting Agile for Business
The fact is that Agile methodology has yet to be optimised across all business processes, either by corporate customers or their suppliers.
This is mostly a question of education. Corporate management is unlikely to have been adequately trained regarding the Agile process and so is generally unaware of how it can best be utilised, not just as a framework for IT project management but as a tool to measure a project’s performance and its ability to support overall corporate goals. As with anything, awareness and appreciation are the keys to driving adoption.
The first principle in driving adoption is identifying Agile’s superior business case and value-for-money as compared with other, traditional project development methodologies. This presents certain difficulties. Due to the fact that businesses usually negotiate with their IT service providers on the basis of project delivery and scope, they have a tendency to bundle as many requirements as possible into the same set of specifications. The resulting complexity can cause lengthy and difficult delivery cycles and by the time delivery does take place, these requirements have often changed. All of this makes tracking the price / performance benefits of using any particular delivery methodology extremely challenging. In addition, there is currently little understanding about how to go about benchmarking the Agile process anyway, whether by the IT department or any other part of the business.
Comparing Apples with Apples
Agile methodology is effective at tracking a project’s performance, efficiency and delivery targets using tools like the burndown chart and the velocity chart. The limitation of these tools, however, is that they only have meaning within the parameters of a specific project. To obtain an objective analysis of cost-performance efficiency, a project needs to be compared in relation to others of a similar size, complexity and cost in order to get a balanced view. Agile methodology needs to be harnessed to take this ‘apples with apples’ approach into account.
Why is this ‘apples with apples’ approach so important? If corporate decision-makers cannot see how much better or worse their IT providers are performing compared to the competition, or how their IT spend stacks up against peers with similar IT environments, then they have no fact-based reference from which to negotiate supplier contracts or improve in-house efficiencies. This also applies to measuring the value of using the Agile method. Ascertaining the true value-for-money it delivers, can only be really be achieved by comparing its results with those delivered using other IT development methodologies on a similar type of project.