Both Scrum vs and waterfall methodologies have their strengths, so it all depends on the type of project and its environment. Both approaches have effective planning followed by execution, monitoring and controlling.
In a nutshell:
- It is better to use Scrum if there are lots of unknowns, where the projects are more complex, difficult to define detailed requirements upfront and therefore to define estimates at the beginning of the project.
- It is better to use the traditional approaches when there are few unknowns, project is less complex, easy to define exact requirements upfront and therefore easy to estimate and plan the project from the very beginning.
Scrum Scope, Requirements, Activities, Estimation, Process, Measure of success and Results definition:
- Scope is not clearly defined and Product will gradually appear during the project
- Requirements change frequently and customer learns more about what they want as the project goes on
- Activities cannot be well defined upfront
- Estimating and planning is difficult
- Process is iterative with numerous cycles and each cycle depends on the previous one
- Success is mostly measured by customer satisfaction
- Incremental results have value and can be used by users
Waterfall Scope, Requirements, Activities, Estimation, Process, Measure of success and Results definition:
- Scope is clearly defined upfront with clear product description available upfront and similar projects were done before
- Requirements are well defined up front with few change requirements expected during the project
- Activities can be well defined upfront
- Estimating is possible and reliable
- Process is more long term and Project might be split into phases
- Success is mostly measured by achieving the project goals ( time, cost, scope…)
- Users cannot start using the products until the project is complete