These activities include gathering, defining and documenting the requirements for the software, and then analyzing the requirements to deduce the perspective of the desired solution for the project. The next activity is designing the components, modules and interfaces of the software based on the solution analysis carried out. After the designing phase, the software implementation takes place, which includes the coding, testing and integration of the software (Olson, 2014). The end of each iteration states the completion of a certain percentage of the software development. A software is built on a series of iterations until the software is tried and tested and then deployed to the end user (Ambler,