Categories

Oct 16, 2019 in Agile
Q: Should we use Waterfall over Scrum?

1 Answer

Oct 16, 2019
The two basic, most popular methodologies are:

Waterfall: (ugh, terrible name!), which might be more properly called the “traditional” approach, and

Agile: a specific type of Rapid Application Development and newer than Waterfall, but not that new, which is often implemented using Scrum.

Both of these are usable, mature methodologies. Having been involved in software development projects for a long time, here are my thoughts on the strengths and weaknesses of each.

The Waterfall Methodology

Waterfall is a linear approach to software development. In this methodology, the sequence of events is something like:

Gather and document requirements

Design

Code and unit test

Perform system testing

Perform user acceptance testing (UAT)

Fix any issues

Deliver the finished product

In a true Waterfall development project, each of these represents a distinct stage of software development, and each stage generally finishes before the next one can begin. There is also typically a stage gate between each; for example, requirements must be reviewed and approved by the customer before design can begin.

Agile is an iterative, team-based approach to development. This approach emphasizes the rapid delivery of an application in complete functional components. Rather than creating tasks and schedules, all time is “time-boxed” into phases called “sprints.” Each sprint has a defined duration (usually in weeks) with a running list of deliverables, planned at the start of the sprint. Deliverables are prioritized by business value as determined by the customer. If all planned work for the sprint cannot be completed, work is reprioritized and the information is used for future sprint planning.

As work is completed, it can be reviewed and evaluated by the project team and customer, through daily builds and end-of-sprint demos. Agile relies on a very high level of customer involvement throughout the project, but especially during these reviews.

Some advantages of the Agile approach are easy to see:

The customer has frequent and early opportunities to see the work being delivered, and to make decisions and changes throughout the development project.

The customer gains a strong sense of ownership by working extensively and directly with the project team throughout the project.

If time to market for a specific application is a greater concern than releasing a full feature set at initial launch, Agile can more quickly produce a basic version of working software which can be built upon in successive iterations.

Development is often more user-focused, likely a result of more and frequent direction from the customer.
Click here to read more about Agile
Click here to read more about Insurance

Related questions

Madanswer
Mar 19 in Agile
Jan 21 in Agile
Nov 2 in Data Handling
...