Our way of working is under constant change. That automatically implies that also our Project Management is under constant change.
Project management has become one of the most important pillars within any company as it has been recognized as one of the fundamental factors for the success of the organisation. This is why organisations are looking for technologies, systems, and processes that help them customise and optimise Project Management.
There is a need for growth, which often goes hand in hand with an increase in clients/customers. Project Management needs to be able to adapt to these needs and continue to serve the organisation at all stages of the growth process: this is why the Agile methodology was born.
The Agile methodology seeks to bring more flexibility into the world of Project Management by completely detaching itself from traditional frameworks. A traditional Project Management framework is defined as the ‘Waterfall Methodology’.
The Agile framework and the Waterfall Methodology differ in obvious and less obvious ways. Both have their benefits and drawbacks and there is no ‘bad’ way of Project Management. What works best for your organisation depends on your situation and strategic objectives. In this blogpost, we will analyse the differences, benefits and drawbacks of the Agile methodology and the Waterfall Methodology (traditional).
Waterfall Methodology
The Waterfall approach is a breakdown of project activities into linear sequential phases, where each phase depends on the deliverables of the previous one and corresponds to a specialisation of tasks. At the start of the project, the output, outcome and benefits are defined.
The Waterfall model originated in the manufacturing and construction industries, where the highly structured physical environments meant that design changes became prohibitively expensive much sooner in the development process. When first adopted for software development, there were no recognised alternatives for knowledge-based creative work.
The Waterfall model has a set team working in a linear fashion towards a clearly defined end goal. It makes use of standard documentation of which the format is predefined by the organisation. Examples of these documentation are the PRINCE2 PID and Business Case Templates.
Waterfall Methodology: Benefits vs Drawbacks
The Waterfall Method for Project Management has the following benefits:
- Clear framework: There is a clear understanding of the project timeline and deliverables before the project begins. The full scope of the project is agreed upon by the development team and their stakeholders in advance.
- Documentation: Each phase of the process is documented in detail to eliminate any misunderstandings or shortcuts.
- Hands-off approach: This approach allows for a more hands-off approach from the customer. Once the initial design and project plan is in place, there is little requirement for ongoing customer presence until the review phase.
The Waterfall Method for Project Management has the following drawbacks:
- Less customer involvement: A hands-off approach is not suitable for every type of product. Some customers will want more involvement as the project proceeds. If there isn’t a framework for that involvement, the waterfall approach could lead to frustration on both ends.
- Changes can be difficult: The whole point of the waterfall methodology is that it follows clear steps and a set timeframe. Once these elements are in place, it can be difficult to make changes once the development team encounters a roadblock. Adaptability is a crucial part of software development to consider, particularly since it can be hard for customers to have a full grasp of the project before it begins.
- Short in the effectiveness of requirements: one area which almost always falls short is the effectiveness of requirements. Customers are sometimes intimidated by details, and specific details, provided early in the project that are required with this approach.
In addition, customers are not always able to visualise an application from a requirements document. Wireframes and mockups can help, but there’s no question that most end users have some difficulty putting these elements together with written requirements to arrive at a good picture of what they will be getting.
Agile
The major difference between agile and waterfall might be summarised by saying that the waterfall approach values planning ahead, while the agile approach values adaptability and involvement. However there is not just one Agile approach, Agile is a combination of multiple frameworks. For more information of the different frameworks, watch the recording of the Agile Framework webinar with our expert Kim Delgadillo.
The Agile methodology has two core elements: teamwork and time. Instead of creating a timeline for one large software development project, agile breaks the project into individual deliverable pieces. These ‘time-boxed’ phases are called ‘sprints’ and last just a few weeks.
Once each sprint is completed, the feedback from the previous phase is used to plan the next one.
An Agile team starts every day with a short meeting where they discuss the status and objectives of the project they are working on. This is called a daily stand-up meeting, which is beneficial for all team members, regardless of their position in the team.
Agile Framework: Benefits vs Drawbacks
The Agile Framework for Project Management has the following benefits:
- Customer Involvement: by allowing the client to determine the priority of features, the team understands what’s most important to the client’s business, and can deliver the features that provide the most business value. The customer gains a strong sense of ownership by working extensively and directly with the project team throughout the project.
- Early and Predictable Delivery: by using time-boxed, fixed schedule Sprints of 1-4 weeks, new features are delivered quickly and frequently, with a high level of predictability. Agile development is often more user-focused, likely a result of more and frequent direction from the customer.
- Allows for Change: while the team needs to stay focused on delivering an agreed-to subset of the product’s features during each iteration, there is an opportunity to constantly refine and reprioritize the overall product backlog. New or changed backlog items can be planned for the next iteration, providing the opportunity to introduce changes within a few weeks.
The Agile Framework for Project Management has the following drawbacks:
- Customer Availability: the very high degree of customer involvement, while great for the project, may present problems for some customers who simply may not have the time or interest for this type of participation.
- High Involvement Needed: Agile works best when members of the development team are completely dedicated to the project. Because Agile focuses on time-boxed delivery and frequent reprioritization, it’s possible that some items set for delivery will not be completed within the allotted time frame. Additional sprints (beyond those initially planned) may be needed, adding to the project cost. In addition, customer involvement often leads to additional features requested throughout the project. Again, this can add to the overall time and cost of the implementation.
- Frequent refactoring: The iterative nature of Agile development may lead to a frequent refactoring if the full scope of the system is not considered in the initial architecture and design. Without this refactoring, the system can suffer from a reduction in overall quality. This becomes more pronounced in larger-scale implementations, or with systems that include a high level of integration.
Waterfall vs Agile: Comparison
The Agile Framework (Agile Methodology):
- Separates the project development lifecycle into sprints.
- Follows an incremental approach.
- Is known for its flexibility.
- Can be considered as a collection of many different projects.
- Is quite a flexible method which allows changes to be made in the project development requirements even if the initial planning has been completed.
- Follows an iterative approach because of this planning, development and other phases may appear more than once.
- Reviews the test plan after each sprint.
- Is a process in which the requirements are expected to change and evolve.
- Performs testing concurrently.
- Introduces a product mindset where the product satisfies needs of its end customers and changes itself as per the customer’s demands.
- Works exceptionally well with Time & Materials or non-fixed funding. It may increase stress in fixed-price scenarios.
- Prefers small but dedicated teams with a high degree of coordination and synchronisation.
- Has product owners prepare requirements just about every day during a project.
- Has a test team that can take part in the requirements change without problems.
- Can alter the description of project details anytime during the process.
- Has interchangeable Agile team members that, as a result, work faster. There is also no need for project managers because the projects are managed by the entire team.
The Waterfall Methodology (traditional Project Management):
- Divides project development process into distinct phases.
- Is a sequential design process.
- Is a structured development methodology so most times it can be quite rigid.
- Completes project development as one single piece.
- Does not include a scope of changing the requirements once the project development starts.
- Completes all the project development phases like designing, development, testing, etc. only once.
- Rarely discusses the test plan during the test phase.
- Is ideal for projects which have definite requirements and little change.
- Starts with the ‘build’ phase, after which the ‘testing’ phase follows.
- Shows a project mindset and places its focus completely on accomplishing the project.
- Reduces risk in the firm fixed price contracts by getting risk agreement at the beginning of the process.
- Has limited team coordination/synchronisation.
- Has business analysis prepare requirements before the beginning of the project.
- Has limited opportunity to initiate any change in requirements.
- Needs detailed description.
- Includes straightforward processes, so the project manager plays an essential role during every stage.
Conclusion
Which development methodology you go with very much depends on several key factors. For example the structure of your organisation, the sector, the strategic goals and the role of Project Management. There is no bad choice, for some organisations, the Agile framework will better fit the objectives, for others the Waterfall approach is a more obvious choice. However, it is also absolutely possible to create a mix of approaches, depending on the project.
If you want to learn more about this topic, download our infographic “Waterfall vs Agile”.
If you want to learn more about the Agile methodology, read our blog “What is AgilePM?” and check more information about our AgilePM training!
If you are interested in learning about a Project Management methodology that follows a Waterfall approach, read our blog “What is PRINCE2?” and check more information about our PRINCE2 training!