Agile software development
Agile software development is a collection of methodologies designed to enhance flexibility, collaboration, and efficiency in software creation, with a strong focus on delivering functional products to users in short timeframes. Emerging in response to frustrations with traditional corporate practices in the early 1990s, Agile seeks to prioritize people and product over rigid plans and hierarchies. This approach culminated in the Agile Manifesto of 2001, which emphasizes values that promote open communication, mutual respect, and self-management within teams. Agile methodologies, including scrum and extreme programming, advocate for rapid, iterative releases of software, incorporating customer feedback at every stage to inform development and improve user satisfaction.
Agile's principles encourage organizations to tackle obstacles directly and foster a culture of innovation through the free exchange of ideas. While Agile is widely adopted across various sectors, including finance and healthcare, it has faced criticism due to notable project failures, leading some to question its effectiveness in delivering on promises of efficiency and cost savings. Advocates argue that successful implementation hinges on proper adherence to Agile principles, suggesting that failures often stem from misapplication rather than the methodology itself. As Agile continues to evolve, it remains a significant force in shaping modern software development practices.
On this Page
Subject Terms
Agile software development
Agile software development refers to a set of computer programming methodologies that emphasize flexibility, collaboration, efficiency, simplicity, and most of all, delivering working product to end users within short timeframes. Developers created agile as an alternative to conventional business practices that they saw as impeding innovation and devaluing both employees and customers. Since its formal inception in 2001, it has been widely adopted across business sectors as diverse as finance, medicine, and education.
![This poster provides a good visual of the standard Agile Software Development methodology. VersionOne, Inc. [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons 90558239-100635.jpg](https://imageserver.ebscohost.com/img/embimages/ers/sp/embedded/90558239-100635.jpg?ephost1=dGJyMNHX8kSepq84xNvgOLCmsE2epq5Srqa4SK6WxWXS)
Overview
In the early 1990s, software developers began voicing frustration with traditional corporate ethos and practices, and several alternative methodologies emerged in response. Among them were scrum, extreme programming (XP), dynamic systems development method (DSDM), feature-driven development (FDD), and crystal methods. Similar in tone and objective, these methodologies began to be described under the single heading of “light.”
The Agile Manifesto, created in February 2001 at an informal two-day conference in Utah, was the result of a collaboration between various thought leaders in “light” software development. In their view, conventional business practices prioritized strict plans, procedures, tools, documentation, contracts, and hierarchies over people and product. Attendees sought to reverse these priorities, a sentiment expressed in the Agile Manifesto; the accompanying twelve principles of agile software development outlined the ways adherents attempt to do that.
In general, agile teams, as compared to traditional corporate groups, have a flat business structure, meaning that leadership is based on ability and motivation. Teams strive to foster productivity and open communication through honesty, transparency of information, mutual respect and trust, self-management, commitment to shared goals, and face-to-face interaction. Organizations are encouraged to identify and tackle obstacles head-on and to enable the free exchange of ideas, even when they conflict, to promote innovation.
Customer involvement is key to agile software development. Agile products are rolled out in several small releases, and customer feedback is used on an ongoing basis to improve the software. Often, a designated customer proxy, or “product owner,” within the company gathers and organizes feedback as software requirements for the developers at regular intervals. The proxy also may provide customer acceptance testing and generate ideas for new features throughout development. Thus, response to change is included in the product planning, and resources are allocated to address concerns in order of priority and value to the customer (and therefore the company’s bottom line).
Rapid turnaround of working software is the cornerstone of agile philosophy. “Working” means that each software release must be fully functional for the end users, and the time from inception to release must be short, ideally no longer than two weeks to two months.
Agile methodologies have guided information technology improvements in sectors such as aerospace technology, finance, communications, education, health care, law, manufacturing, pharmaceuticals, and transit.
Despite its widespread adoption, agile remained controversial, especially in light of such high-profile failures as the Federal Bureau of Investigation’s Path Forward case management system in the United States and the Department for Work and Pensions’ Universal Credit welfare reform program in the United Kingdom, both of which took place in the 2010s. Critics claim that agile cannot deliver on its promises of cost savings and on-schedule delivery. Furthermore, as agile development expanded into all facets of industry in the 2020s, some critics argued that the practice prevented companies from investing in the time and planning needed to successfully create new products, instead focusing on shorter sprints that fail to include adequate preparation. Meanwhile, proponents assert that failures are simply the result of improper implementation or misinterpretation of the founding principles and practices.
Bibliography
“The Agile Manifesto.” Agile Alliance. Agile Alliance, 2013. Web. 4 Oct. 2013.
Ballard, Mark. “Why Agile Development Failed for Universal Credit.” ComputerWeekly.com. TechTarget, 4 July 2013. Web. 4 Oct. 2013.
Bryar, Colin and Bill Carr. "Have We Taken Agile Too Far?" Harvard Business Review, 9 Apr. 2021, hbr.org/2021/04/have-we-taken-agile-too-far. Accessed 5 Sept. 2024.
Denning, Steve. “The Case against Agile: Ten Perennial Management Objections.” Forbes. Forbes.com, 17 Apr. 2012. Web. 4 Oct. 2013.
Highsmith, James A. Agile Software Development Ecosystems. Addison-Wesley, 2002.
Martin, Robert C. Agile Software Development: Principles, Patterns, and Practices. Prentice-Hall, 2002.
Prewett, Edward. “100 Most Agile Companies Honored.” CIO. IDG Enterprise, 15 Aug. 2004. Web. 4 Oct. 2013.
Ramel, David. “Report Cites FBI’s ‘Weaknesses’ on Agile Development.” GCN. Media, 11 Jan. 2011. Web. 4 Oct. 2013.
Schuh, Peter. Integrating Agile Development in the Real World. Charles River Media, 2005.
Sutherland, Jeff. “Agile Principles and Values.” Microsoft Developer Network. Microsoft, 2013. Web. 4 Oct. 2013.