When it comes to project implementation, one of the most critical decisions to take is regarding the methodology to be used. There are basically two types of methodologies most commonly employed by businesses. These are:
- Waterfall or the so called “traditional” approach
- Agile approach, which is a relatively newer method of project implementation and uses Scrum
Let’s try and understand when to use the two methodologies.
The Waterfall Model
Similar to manufacturing and construction work-flows, the waterfall approach is essentially a sequence-based design process. It basically means that only when one step/stage is completed, the developer goes on to the following step.
Here are some situations which call for the use of the waterfall method:
- The project has set, clear requirements
- There are enough resources available along with required expertise
- The organization has already done similar projects
- The client has trust in the ability of the organization to execute the project
- It is a short project
The waterfall method is focused on accurate recording of processes. This way there is scope for improving upon an existing program anytime in the future. This model should be used when there is a solid understanding of the technology involved.
The Agile Model
The Agile Project Model is a team-based, iterative approach to software development. It is focused on quick application delivery in complete operational components. Instead of making schedules and creating tasks, the entire duration of the project is divided into stages called “sprints”. Every sprint will have a definite duration (typically a few weeks) and a list of tasks to be delivered. These tasks are planned right at the beginning of a sprint.
The agile project model should be ideally used under the following circumstances:
- The organization wishes to benefit from rapid feedback
- There is not enough understanding about the value and meaning of what is being built
- If you have a passionate team to work on the project or a coach/mentor to help the team
- There could be a wide variation in your downside/payoff curves
- The project could turn out to be complicated in the absence of required experts
As work gets completed in an agile model, it can undergo the process of review and evaluation by the customer and project team through sprint-ending demos and daily builds. This model is heavily dependent on customer involvement (particularly during reviews).