Introduction
There are two methodologies that are usually adopted in the management and implementation of software development projects, namely the waterfall and agile methodologies. In the waterfall method, the project development is conducted in a linear or sequential manner where each development phase has a distinct goal (“Waterfall Model,” n.d.). This means that the project development moves to the next phase once the current phase is completed and that it is not possible to go back to a previous phase.
On the other hand, the agile methodology addresses unpredictability and complexity through iterative and incremental cadences termed as sprints (“Agile Methodology,” n.d.). This means that the project starts with a simple project design and then the project team members work on small modules. These modules are completed in monthly or weekly sprints (“Agile & Waterfall Methodologies,” n.d.). At the end of each sprint, tests are run and the priorities of the project are evaluated, in turn allowing for errors to be discovered and fixed and for customer feedback to be incorporated into the project before the start of the next sprint (“Agile & Waterfall Methodologies,” n.d.).
Waterfall vs. Agile
In the outline for the mobile application development project using the waterfall method, it can be seen that the project phases are sequential. For example, the requirements gathering phase must first be completed before the design specifications document can be drafted. Coding of the application must also be completed before testing can begin. When the application is,
more, or less, running and complete, then the documentation can begin. When all of the phases are finished, then the application can be released.
In contrast, only the requirements gathering phase is the prerequisite task to all the other tasks in the project when implementing the agile methodology. The entire project development is divided into sprints where each sprint involves the development of certain features of the mobile application. In each sprint, the drafting of the design specifications document, the coding of the application, its testing, and its documentation are performed at the same time. This allows the different project team members to immediately provide feedback to each other, which can bring about changes in their tasks. For example, while a tester is testing, they may find a bug, which the developer can easily fix, or the developer may find a design glitch that the business analyst can easily change. This ensures that all errors are fixed before the entire sprint is completed and the next one begins. Once all the sprints are completed, then the application can be released.
References
Agile & waterfall methodologies – a side-by-side comparison. (n.d.). Retrieved from
http://www.base36.com/2012/12/agile-waterfall-methodologies-a-side-by-side-
comparison/
Agile methodology. (n.d.). Retrieved from http://agilemethodology.org/.
Waterfall model. (n.d.). Retrieved from
http://searchsoftwarequality.techtarget.com/definition/waterfall-model.