Since I am talking on the subject I decided to write a bit first as notes to myself.
What is the waterfall methodology?
Much like construction and manufacturing workflows, waterfall methodology is a sequential design process. This means that as each of the eight stages (conception, initiation, analysis, design, construction, testing, implementation, and maintenance) are completed, the developers move on to the next step.
Advantages of the Waterfall Methodology
1. The waterfall methodology stresses meticulous record keeping. Having such records allows for the ability to improve upon the existing program in the future.
Disadvantages of the Waterfall Methodology
1. Once a step has been completed, developers can’t go back to a previous stage and make changes.
What is Agile?
Agile came about as a “solution” to the disadvantages of the waterfall methodology. Instead of a sequential design process, the Agile methodology follows an incremental approach.
Developers start off with a simplistic project design, and then begin to work on small modules. The work on these modules is done in weekly or monthly sprints, and at the end of each sprint, project priorities are evaluated and tests are run. These sprints allow for bugs to be discovered, and customer feedback to be incorporated into the design before the next sprint is run.
Advantages of the Agile Methodology
1. The Agile methodology allows for changes to be made after the initial planning. Re-writes to the the program, as the client decides to make changes, are expected.
Disadvantages of Agile Methodology
2. As the initial project doesn’t have a definitive plan, the final product can be grossly different than what was initially intended.