As with everything else in this world, so with project management methods, different opinions, assessments, and applications can be found. No matter which method is chosen, we must be aware that everyone has their pros and cons. I will try to summarize the characteristics of the two methodologies.
Agile vs Waterfall, or the East vs West
This picture gives us a vision of the general difference between the two types of methodologies.
What is the Waterfall Project Management Methodology?
The methodology of the waterfall is one of the oldest models. The Waterfall methodology is like a waterfall, we have a consistent process, there are separate and definite phases of work and progress is in the direction of the water – from top to bottom. Reference: Agile vs Waterfall management methodology, https://www.kosovatimes.net/agile-vs-waterfall-management-methodology/
The project management triangle: Scope (Features / Functionality); Resources (Cost / Budget); Schedule (Time).
The waterfall approach is most useful for a project where the scope is well defined and is a key element of the project. As there is a fixed scope, the main challenge for the project manager will be to plan all types of resources over time in the required sequence of actions. Reference: Waterfall and Incremental model in project management, https://wikipedia-lab.org/waterfall-and-incremental-model-in-project-management/
The phases of this model are strictly defined and each phase must be fully completed before moving on to the next. This would be inconvenient for many projects because there is no flexibility, but in the field of construction, for example, this methodology is preferred. To move, for example, to the construction of the first floor, the stage of laying the foundations must be completed.
We can distinguish the following typical phases of a waterfall:
- Requirements analysis;
- Implementation. Reference: Agile vs Waterfall Project Management, https://agileprojectmanagement.home.blog/2020/09/01/agile-vs-waterfall-project-management/
Advantages of the Waterfall method
Clear framework: There is a clear understanding of the timeline and results of the project before the start of the project. The full scope of the project is agreed upon in advance by the team of developers and their customers.
Documentation: Each phase of the process is documented in detail to eliminate misunderstandings or shortcuts.
Shared load: You don’t always need the whole team and all the time. Depending on the phase, individual team members may focus on other aspects of their work.
Hands off approach: Once the design and project plan are available, there is little requirement for the constant presence of clients until the review phase. Reference: Agile, Scrum and Waterfall project management, https://ossalumni.org/agile-scrum-and-waterfall-project-management/
Disadvantages of the Waterfall methodology
Less customer involvement: The hands-off approach is not suitable for every type of product. Some clients will want more participation in the project implementation process. If there is no framework for this participation, the approach of the waterfall can lead to disappointment on both sides.
Changes can be difficult: The whole point of the waterfall’s methodology is that it follows clear steps and a deadline. Once these elements are in place, it can be difficult to make changes once the team faces a challenge. Adaptability is an important part of product development that needs to be considered, especially since it can be difficult for customers to fully understand the project before it even starts. Reference: http://teachers.wikidot.com/agile-versus-waterfall-project-management
Last-minute testing: Another disadvantage of the model is that it is not time-bound. Lack of time commitment is not a prerequisite for an inefficient project, but it is more often observed that projects are delayed.
What is an Agile methodology?
The main difference between Agile and Waterfall is that planning is important for Waterfall and adaptability and participation are important for Agile. Reference: Comparison of Agile, Scrum and Waterfall project management, https://eduwiki.me/comparison-of-agile-scrum-and-waterall-project-management/
Adjacent to each other, the two triangles for Agile and Waterfall show us what is key for each of them and where are the differences between the two types of control.
The Agile approach is suitable for projects where time is fixed, resources are a determining factor and scope is subject to planning (prioritization).
Having a deadline and well-known resources, the project manager prioritizes what will be delivered in the next sprint. Agile promotes development, teamwork, collaboration, and adaptability throughout the project life cycle. Reference: Waterfall or Agile? What methodology to choose for your project?, https://pm.mba/posts/waterfall-vs-agile/
Planning, design, development, testing, release, and feedback are in a constant cycle for a certain period. Instead of segmenting projects into stages, Agile deals with projects as a whole.
Types of Agile methodologies
Extreme Programming (XP) – The main goal of XP is to reduce the cost of a project if a change is needed. XP is a methodology suitable for use in projects that have frequently changing requirements and in which more standard methodologies (such as Waterfall) are not optimal for achieving high productivity; suitable for projects that involve new technologies or unforeseen implementation problems; it is also used in smaller and easier to implement projects with informal methods; good technology for research-intensive projects. Reference: Waterfall vs Agile Project Management, https://projectmanagers.joomla.com/12-waterfall-vs-agile-project-management.html
Scrum – Scrum is a process used in the preparation and management of large projects. It is designed to make long-term product development planning significantly easier. Unlike typical management through control and command, Scrum processes emphasize feedback and give more power to the people doing the “dirty work”.
Kanban – Kanban is a method of managing intellectual activities with an emphasis on delivery just in time, without overloading team members. The name comes from Japanese and means “signal card”. The method uses a system to limit current work as the main mechanism to detect systemic operational problems and to stimulate mutual assistance to continuously improve the system. Reference: What is Kanban methodology, https://wikipedia-lab.org/what-is-kanban-methodology/
Lean Software Development
Lean development can be summarized by seven principles, very similar in concept to the principles of lean production:
- Eliminate waste;
- Increase training;
- Decide as late as possible;
- Deliver as quickly as possible;
- Empower the team;
- Building integrity;
- Optimize the whole.
Agile Unified Process
Agile UP is based on the following philosophies:
Your staff knows what they are doing. People will not read detailed process documentation, but will occasionally ask for guidance and/or high-level training.
Simplicity. Everything is described briefly, using a handful of pages, not thousands of them.
Dexterity. Agile UP meets the values and principles of the Agile method.
Focus on high value activities. The focus is on the activities that count, not on every possible thing that can happen to you on the project.
Independence of the tool. Use the tools that work best for you – often simple tools.
Customize your AUP to meet your own needs.
Principles of Agile methodology
Adaptability: The Agile methodology emphasizes the importance of being able to change the design, architecture, requirements, and results on the way to work.
Customer Involvement: Due to constant design changes and the units delivered, flexible development requires close collaboration between the customer and the development team.
Easy development: Agile aims to make the final product as simple as possible. And to achieve the result with as few steps as possible.
Teamwork: At Agile, teamwork is almost paramount. Teams need to constantly assess how they can become more efficient and adjust the project as they work. The interesting thing here is that we work in pairs on the principle that two heads are better than one.
Time: Agile development uses a very different approach to time during projects, dividing projects into very small units of time. They are called “time-boxed sprints”.
Sustainability: Not working fast here at the expense of poor quality or unfinished projects, Agile puts the burden on determining a sustainable pace of development.
Testing: Unlike waterfall approaches, where there is a separate testing phase, flexible approaches test through each phase of the project.
Advantages of the Agile methodology
The benefits have everything to do with customer satisfaction and the result of the development project.
Stakeholder Involvement: Adopting this approach to work encourages continuous interaction between the development team and the client.
Flexible results: Agile allows stakeholders to determine results in order of importance.
Adaptability: Apart from being a key element, adaptability is also a major advantage. While customers get a better idea of what they need, development can adapt planned time-boxed sprints.
Higher quality and easy to use the product: Because customers can provide feedback after each sprint, products developed using the Agile methodology are often very easy to use.
Disadvantages of the Agile methodology
Like any approach, Agile can have drawbacks. With planning and a dedicated team, these additional challenges can be overcome.
Intensive commitment: Unlike the waterfall, Agile only works well when the whole team is involved in the project. This can be a challenge especially when there are several parallel projects in the company.
Potential for higher costs and longer duration: Although sprints allow planning, it is always possible to lag in time with tasks. Creating the necessary additional sprints can mean higher costs for the client.
Communication: As Agile requires a high level of cooperation, projects using this methodology will also require a high level of communication.
Waterfall and Agile project management
The methodology of this model, which is also known as the sequential linear life cycle model. The waterfall model follows in sequential order, so the project development team only moves on to the next phase… https://phron.org/waterfall-and-agile-project-management/
Agile Project Management
Agile Project Management includes different subjects and many Agile and Scrum practices as well, but we will discuss here several major topics… https://agileprogramming.org/agile-project-management/
How to become a Scrum Master?
To become a Scrum Master some may tell you that you need nothing more than Scrum Master certification and a few days of preparation on certain topics related to the Scrum framework and… https://brightonbot.com/how-to-become-a-scrum-master/
Can you get a project management certification without a degree?
Obtaining a project management certification without a degree is a frequently asked question by young professionals… https://www.nebraskasocialstudies.org/project-management-certification-degree/
Which methodology to choose?
Which development methodology we use depends a lot on several key factors. The waterfall may be best when there is no or limited access to the customer and constant feedback cannot be provided. It will be best for projects with a fixed scope and budget.
Agile is better suited for larger, more complex projects where there is easy access to customer feedback. Due to its flexibility, it is preferred for projects with constantly changing requirements.
Due to all the advantages listed above, Agile is preferred to the waterfall methodology at the moment and its use prevails over that of the waterfall.
The worst things about waterfall methodology are the waste of time, the problems with requirements management, adapting to changing needs, it can be more expensive and difficult to manage and ultimately, it can be less satisfying for developers, working on the project, as well as for the clients receiving the finished product.
Development teams that still use the waterfall methodology tend to use a hybrid approach using both Agile and Waterfall. Although the success of Agile is much greater, the waterfall is still an approach used in certain circumstances.
No matter what development methodology an organization chooses, we must not forget that there is a wide choice of tools available to manage our projects to adapt them to their needs. And also that together with his motivated team of people, he can realize the project and achieve the desired results.