Agile software development is a set of principles that portrays certain requirements for software development. It comprises of solutions that evolve better through self-organizing and cross functional teams. The principles are aimed at promoting adaptive planning, early delivery, and constant improvement, and it also encourages flexible and speedy response to change. Agile was first introduced in the 1980s when the idea of technology and technological advances took off in the Western world and has since then undergone a number of significant changes. It doesn’t consist out of any specific methods, but rather a range to choose from.
Before these methods are discussed, it is important to note that in 2001 the official Agile Manifesto had been drawn up which exemplifies the certain goals and requirements of agile software development. It consists out of the 12 principles of agile software development that keeps its developers on the right track. These also influence the different methods which will now be discussed in short.
The waterfall model is more of a philosophy than it is an actual method in which the mind-set is aimed at the project. It is usually in direct contrast of the iterative approach due to their complexities and differences when opposed to each other. The main differences between these two are the ways in which the software is built and tested. The waterfall method comprises of a separate building and testing phase, whereas in iterative methods the development testing is done concurrently as it usually is done in programming. Both these methods deliver desirable results. As soon as the developer has more knowledge about the software’s functions and values, they can make more informed choices. This is especially important when it comes to scrum as this kind of software development only has an iteration of 2 weeks.
Another method that can be used is the dynamic systems development method (DSDM) which acts as a project delivery framework. This forms part of an iterative approach and embraces user involvement. This type of development has the ability to fix costs, quality, and time at the outset. It categorizes the do’s and don’ts so carefully that it has become the number 1 method of agile software development. The DSDM method also underpins 8 important principles that developers should and can follow when they are busy with such a method in order to produce effective results.
This method is more focussed at the development team than it is on the actual product and process it is working on. It is very beneficial when it comes to agile software development, because it boosts team productivity. In this approach, team members are placed within a full view of the project and each person has an assigned task to complete. Participants work in a queue where delivery time is shortened and the product is completed more effectively. In terms of agile software development it is effective in working as a visual process-management system in the sense that it shows the team what to do.