Table 1 – A graphical representation of an Agile Methodology (Nvisia)
Agile development is a software development model, first pushed by the “Agile Manifesto,” which focuses on the importance of people, finished products, customer satisfaction, and change management (Beedle, Bennekum and Cockburn). Specifically, it focuses on how people and teams work together instead of working in departments in the “waterfall” method of finishing a piece and sending it to the next group (C Prime). It also pursues a methodology of focusing on developing a working product instead of pushing for a lot of documentation. This process sometimes wastes most of the team’s working time. Thirdly, customer satisfaction takes precedence over contracts – showing that the focus shifts from following the letter of a deal instead of chasing the spirit of the agreement. Finally, instead of set plans which may get executed only to lack, Agile development emphasizes a change mindset – always looking for ways to improve during the execution and counting on the project not being fixed. All the differences between traditional and Agile methods are listed in the table below:
Table 2 – Contrasting differences between Traditional and Agile Approaches (Conboy, Coyle and Wang)
The agile design approach started in 2001. Most of the research comes from 2008 to 2012, when used more commonly in companies. It has transformed the experience of being in a team (as team sizes shrunk and individual responsibilities grew) and even of being a customer of a software company (as the client expects to be an active participant in the creation of software) (Cao, Mohan, and Xu). However, Agile Design is not easy to implement, and many companies struggle with the successful integration of the Agile approach. Conboy et al. (People Over Process: Key People Challenges in Agile Development) examined 17 companies and identified critical issues with adopting Agile, such as “needing developers to be master of all trades,” “reliance on social skills,” “lack of business knowledge among developers,” and others. Agile requires specifically trained people of the right mindset. If executed well, Agile can save time and create a superior product made traditionally. However, suppose the team doesn’t fit individuals who work well together in a team evaluated by Agile methods and a customer engaged in the production process. In that case, Agile can be impossible to pull off. It might demotivate the team with the constant pressure and crunch. There are several kinds of Agile Development, such as Scrum, Extreme Programming, and others. Each fits only to some types of software development and teams, so carefully select.
Beedle, Mike, et al. Manifesto for Agile Software Development . 2001. 28 July 2021. <http://agilemanifesto.org/>.
C Prime. What is Agile? What is Scrum? 2021. 28 July 2021. <https://www.cprime.com/resources/what-is-agile-what-is-scrum/>.
Cao, Lan, et al. «A framework for adapting agile development methodologies.» European Journal of Information Systems 18.4 (2009): 332-343.
Conboy, Kieran, et al. «People Over Process: Key People Challenges in Agile Development.» IEEE Software 74.1 (2010): 1-16.
Nvisia. The Agile Process 101: Understanding the Benefits of Using Agile Methodology. 2020. 28 July 2021. <https://www.nvisia.com/insights/agile-methodology>.