Agile development methods enable firms to update software more frequently, respond to user feedback, and complete projects more quickly. Despite their widespread success, agile software development methodologies are not yet fully implemented by most firms or government agencies. Completely realizing the original vision for agile development will yield even greater benefits in the future.
The Original Vision
The agile software development process addresses a number of issues associated with traditional heavyweight methodologies like waterfall. In particular, the heavyweight methods require an excessive amount of initial planning and documentation. Even worse, they have difficulty coping with changes and produce too many costly failures. Lightweight software development models arrived as the Internet drove mass acceptance of computer technology in the late 1990s. In 2001, the Agile Manifesto emerged from the lightweight software development movement. The Agile Manifesto called for placing individuals and interactions before tools and processes, and it emphasized working software over documentation. Agile software development also prioritizes working with customers to make changes above following plans. Updates are now an integral part of the process rather than merely patches for flaws and unexpected errors.
The Spread of Agile
Although the Agile Manifesto dates from 2001, the most dramatic growth took place in the last decade. According to HP, the number of organizations reporting some agile development went up 500% between 2009 and 2014. There was also a dramatic increase in academic research on agile development methods between 2009 and 2014. A 2018 Stack Overflow survey found that 85.9% of developers now use agile methodologies. Agile principles have even spread to other fields, such as project management and business analysis.
Government agencies were slower to adopt agile methods, but the results are impressive. Even agencies restricted to heavyweight waterfall approaches by existing rules can still realize some of the benefits of agile. One popular approach is to create agile simulations of end-user interfaces while developing underlying databases using waterfall methods. Testing the interface can prevent last-minute usability issues that often lead to rollout problems for large waterfall projects. Deloitte recently did an extensive survey of the effects of agile development on US federal government IT projects. Average government IT project duration fell from over nine years to less than two years between 2004 and 2015. Agile development played a significant role in that reduction. Deloitte found that 80% of US federal IT projects described themselves as "iterative" or "agile" in 2017. That is a substantial increase from 2011, when less than 10% of projects were agile or iterative.
Room for Improvement
Agile software development is now widespread, but it still does not have deep roots. Only 12% of organizations surveyed by CollabNet in 2017 considered themselves to be highly competent in agile development. On the other hand, 59% said that their usage was still maturing. This should not be surprising because only 30% of the organizations reported using agile for more than five years.
However, agile development methods are already helping firms to improve performance. CollabNet found that 71% of organizations using agile reported improved ability to deal with changing priorities. Additionally, 62% of firms experienced reduced delivery time for projects.
By its nature, agile software development is an ongoing process. Now, more than ever, software must be able to change and grow with your organization. Partnership is essential for agile software development, and building long-term partnerships is the core of our business at Relational.