Comparison of Agile Project Management with Traditional Waterfall Methodology Assessment 3 Answer
Assessment Task 3
Comparison of Agile Project Management Method with Traditional Waterfall Methodology
Project Management is as much an art and personal skill of the project manager it is as much the science of managing the projects. PMBOK Guide (PMI, 2017) lays down various standards and procedures which when applied increases the possibility of the project success. Similarly there are various methodologies when a project is to be carried out. The report reviews and compares the two project management methodologies namely Waterfall and Agile. Waterfall methodology is said to be the traditional method while Agile is based upon the Japanese Scrum and Kanban system (Andrei, B.A. et al., 2019).
After understanding the process followed in each of the two methodologies, they are compared to each other. The applicability of the two methodologies in different scenarios is understood. The advantages and disadvantages of each methodology is reviewed. The report ends with a conclusion that gives some information on how to select a project management mythology.
Important Terms used:
Scrum- it is the framework or principles and practices for highly complex project and is highly flexible. The framework aims at targeting the highest priority tasks which should be completed using the 7 steps (Andrei, B.A. et al., 2019).
Kanban- This system gains popularity from its scheduling techniques for assemble lines ta Toyota factories. It improves the workflow and helps in maintaining high level of production (Andrei, B.A. et al., 2019).
The waterfall and agile methodologies are majorly applied and understood in reference to the software/IT projects.
The waterfall methodology is also known as Software Development Life Cycle (SDLC) as it derives its base from the same. The waterfall model was developed by Royce in 1970 as was given the name because the methodology follows the cascading steps looking like a waterfall (Rahman., N.A., et al., 2018). The methodology aims at managing the project following the sequential steps of: Planning – Analysis – Design – Implementation – Support& maintenance
The typical process of water fall can be understood from eth following diagram:
Source: (altexsoft.com, 2016)
In waterfall methodology a phase should be completed and approved before the next phase can start and has a linear approach. The project progresses only after completing every step and hence the waterfall name (Reddy, KSM & Kumar, V.V., 2019). The waterfall method requires intense team work at every phase of the project life cycle. It is preferred by team members because they know the deliverables and requirements of each phase. The methodology is time consuming because very phase needs to be very clearly defined, designed and executed before the new phase can begin. This the reason that the methodology needs detailed documentation of the requirements, design and outcomes so as to ensure that the requirements are complied with. The documentation needs can be summarized in the following chart:
Source: (Rahman., N.A., et al., 2018).
The project/product in this methodology is completed only when all the phases are completed. The waterfall methodology is said to be heavy weight process because it has a long completion time ad there are intermediary products (Kulkarni, R.H., Padnabham, PP. & Baseer, KK., 2015 ).
The agile methodology of software development is considered to be a more flexible and modern technique. The history of Agile goes back to 1957, when the software developers used the incremental developmental techniques for developing software for IBM and Motorola, though the new approach in the name of agile is introduced in 2001 (altexsoft.com, 2016). The methodology uses the iterative approach in developing the software. There are various small cycles of software development and each outcome is a miniature of the whole project or a prototype. The agile development cycle can be presented with the help of the following diagram:
Source: (altexsoft.com, 2016)
After every iteration the product is used by the users and new additions are made to the product based upon the feedback of the users. Thus the product/software grows with each iteration. The Agile technology follows the Dynamic Software Development method (DSDM). The main features of this method are:
- Involvement of user throughout the development cycle of the project
- The development of the project will take in iterative and incremental way
- The delivery frequency is increased with each iteration being a delivery
- Each phase/iteration is tested in an integrated way by all the teams
- The delivered product is accepted only when it fulfills the requirements else the projects is not completed.
Comparison of Methods
Waterfall methodology is one of the most traditional method to carry out a project. The methodology stresses on freezing the requirements from the project at the beginning of the project only (Casteren, WV., 2017). The process involves every phase team to work independently and there is no integration between various project teams. Testing in this methodology is carried out only when the code is fully developed. Some of the advantages of the Waterfall model are:
- It is very simple and easy to follow
- Each milestone is well defined
- Helps in structuring the activities of the team which is inefficient
- Good for management control
- Allows transition of work to different teams easily because the roles and responsibilities of each team are well structured
- It is necessary that all the requirements of the project are known upfront
- The process is inflexible and hence not give the real progress status of the project
- Integration of risk management is very difficult because there is not possibility of backward movement in case of unforeseen event (Redhal, N., 2018).
- Time of completion and cost estimation is very difficult to ascertain (Kulkarni, R.H., Padnabham, PP. & Baseer, KK., 2015)
In waterfall methodology if there is any change in the requirements of the project, the whole project is scraped and started afresh. Thus the project phases might give the false impression of progress while in actual the progress is not known until the last phase is completed (Redhal, N., 2018). In this methodology team have to spend long time in planning and then executing the critical activities leading to delaying of project outcomes.
The meaning of word agile is “to move or change quickly”, and the same is applied in the agile methodology. The methodology handles every situation and every project differently because the needs and requirements in the given environment are different for different projects. Therefore the methodology handles every project uniquely according to the project requirements. Thus instead of large process or phases, the project development process is divided into small increments or iterations and each iterations has all the traditional phases of product development life cycle (Pawar, R.P., 2015). Every iteration in agile is a complete project in traditional waterfall methodology. This can be depicted in the following diagram:
Source: (Pawar, R.P., 2015)
Some of the strengths and weakness of Agile methodology are as follows (Kumar, R., Gupta, A. & Singh, H., 2014):
Advantages/strengths of Agile:
- Responses quickly to changes giving high preference to customer
- Continuous evaluation of the software/product
- Testing of the software is done at each iteration thus corrections are made regularly
- Involves integrated team work, so all are responsible for everything
- Evaluation of work in progress can be done easily at each iteration
- “Everybody responsibility is nobody responsibility”, the jobs are so integrated that there so no one responsible for faults
- Too much dependence upon the customers. Creates bottle necks and affects the completion.
- Due to integrated works there is lack of coordination. The frequent iterations also lead to poor documentation
While the traditional methodology of waterfall has focus on scope of the project and has constraints of cost and schedule based upon the work, the Agile methodology has more focus on the business value created and has constraints of quality and technology. The difference in the approach of the two methodologies can be contrasted in the following table:
Source: (Ksielnicki, J., Misiak, A., 2017)
The biggest challenge being faced by all the companies is the dynamic nature of the external environment. In order to remain competitive they need to adapt to the market changes quickly. The traditional software development methods like waterfall methodology are inflexible and are not able to respond to the ever changing needs of the customers (Papadopoulos, G., 2015).
The Water Model is suitable in projects where the requirements are clear and well defined. There is very less possibility of change in the requirements. The current issues of the customers and needs cannot be addressed immediately in this methodology. The methodology is suitable where time is not the constraint. In case of a multinational organization where there are offices at different location and various software development groups at different locations, the waterfall methodology is more useful as it results in easy transition of work from one group/team to other. The work and roles of each team are well defined. The integration is not needed ta very step and the teams/groups can work autonomously. This results in reduced cost of travel for teams of geographically distributed companies (Papadopoulos, G., 2015). The Business Intelligence (BI) projects face it very difficult to operate with waterfall methodology. The quickly changing market and customer needs make the waterfall methodology ineffective in IB project. The long time and wait for the project to complete before any changes can be made to it disables the companies to meet the customer targets (Ksielnicki, J., Misiak, A., 2017).
The Agile methodology is more suitable in a dynamic environment where the requirements keeps changing. The prototype developed after each iteration is checked and additions can be made to the final model based upon the changing requirements. The agile methodology results in quick deliveries though iterations to the stakeholders. The stakeholders can request change in the product at any time and have control over the product. However in case of multinational companies where teams are working at different geographical locations, agile methodology results in problems of work integration and leads to increase cost of communication. The work is also delayed due to long distance communication (Papadopoulos, G., 2015).
At the end of the research and study it is observed that there is no one fit-for-all methodology. Waterfall is more suitable for project which are small and well defined which do not change in near future. Agile is more suitable for large projects which need continuously delivery and feedback from the users (Andrei, B.A. et al., 2019). Thus depending upon the requirements of the project the methodology need to be selected. It is possible that no one methodology is perfect for the project and in those cases the two or more methodologies are integrated in different parts of the project.