Agile Software Development Methods:
...
Agile Development
...
Test-Driven Development
...
Agile is a common approach to developing software. The term agile was initially adopted in 2001 during a meeting of 17 supporters of a lightweight development process in Snowbird, Utah (Krstić et al., 2018), as a contrast to traditional plan-driven development (Abdalhamid & Mishra, 2017). The meeting resulted in the introduction of the Agile Manifesto, which includes 12 core values that guide the principles of agile software development (Stoica et al., 2016). The fundamental tenets of the Agile Manifesto ideology are that (a) individuals and interactions are valued over processes and tools, (b) working software is valued over comprehensive documentation, (c) collaboration with customers is more important than contract negotiation, and (d) responding to change rather than a defined a project plan (Coleman, 2016; Drury-Grogan, Conboy, & Acton, 2017). The agile approach to software development consists of self-organized teams with a focus on collaboration and communication (Vallon, José, Prikladnicki, & Grechenig, 2018).
Agile provides flexibility not found in typical waterfall methodologies. Agile traditionally incorporates extensive user involvement in the development process and a light touch by management (Taylor, 2016), as well as short development cycles, continuous releases, and rapidly evolving requirements (Drury-Grogan et al., 2017). Agile software development is characteristically iterative, with incremental development cycles and close communication with customers and end users (Anooja & Rajawat, 2017). The agile process has gained full acceptance among development teams in the management and construction of software.