A Scrum Master is like a coach for an Agile development team. As well explaining…
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.
3 thoughts on “Agile vs Waterfall: The Difference Between Methodologies”
For Waterfall, we can summarize the following:
Collection and documentation of requirements.
Confirmation after testing.
Correction of possible problems.
Allows finalization and delivery of the product.
The planning and design phases are easier to implement, as all stakeholders have confirmed the requirements before the project work is launched;
The assessment of progress is easier to measure, as the full set of project requirements is clarified in advance;
The components of the product can be made in parallel, as the overall design of the final product is determined in the early phase of project planning and design;
Less financial risks are expected if a preliminary contract is signed and everything is described in it.
The client participates in the project only in certain phases.
Very often the customer’s requirements cannot be described in absolute detail and are simply described in a document. In this way, the customer could not imagine what the desired product would look like.
The customer is often disappointed with the final product because he has not had the opportunity to see or imagine it during its creation. This could lead to further changes and financial losses.
Agile is a repetitive, team approach, everything is redefined in different phases, Each phase has a specific duration and purpose.
Advantages of Agile
The client has the opportunity to participate in all phases of the project, to make decisions for changes during the creation of the product;
The customer has the opportunity to work closely with and directly with the team that develops the product;
The whole project could be divided into several parts, which would lead to higher quality;
Usually, the final product would be quite easy to use by the users, which is a result of the mutual work between the client and the development team;
Faster delivery of the product and possibility for testing earlier than planned;
Disadvantages of Agile
Better project results are seen when there is a team that is focused only on the development of this project. In most cases, these people should be in the same physical place (this is not always possible);
Some of the phases are likely to be unable to be completed/delivered within the specified time interval, which would add additional financial value to the project;
Frequent changes/modifications to the product are possible if the exact requirements are not confirmed at the outset.
As you know, everything has positive and negative features. Adhering only to one methodology and applying its principles in all our projects would be wrong. Without analyzing the essence of the project, customer requirements, and everything necessary to start work on the project, it would lead to its failure, customer dissatisfaction, loss of finances, and business relationships.
What I think is that we need to be adaptable and innovative, but also measured. To strive to get the best out of the situation concerning the opportunities we have.
Waterfall – the well-known methodology for our company, allows the straightforward management of projects without the possibility of returning to previous phases. Agile – breaks the project into small periods to improve adaptability to certain unexpected situations. Kanban – aims mainly to improve the work process. Scrum – here the goal is to get more work done in less time. Each of the above methodologies has its pros and cons and should not be an absolute measure of how a project should develop.
“Waterfall” is the first modern method of building a system. It is a method of software development, but the embedded principles and steps are applicable and used in modern project management. It was introduced in 1970 by Winston. W. Royce. The method was quickly adopted due to the logical “flow” of the individual steps from the beginning to the end of the project.
The “Waterfall” method is defined as a linear-consistent life model. Typically, each subsequent phase can begin only when the previous one is completed. Includes the following steps:
– Analysis – collection and documentation of information and requirements;
– Delivery of the final product
The advantages of the method are the following
– In the start-up phase, all requirements for the project are clarified, which facilitates the design and implementation.
– Progress is visible, as the volume of work is defined from the very beginning.
– The team is not constantly engaged in the project – while waiting for the completion of a certain phase, part of the team can engage in other tasks;
– The client participates only in the initial phase.
– Projects prepared with this method provide greater security due to the step-by-step planning of the process.
– Detailed documentation is kept during all stages of the project.
The disadvantages of this method are the following
– Difficult to adapt to changes during execution.
– Opportunity to omit important requirements to the project, which are not complied with and provided at the initial stage.
– Testing is carried out only after the final performance.
– The customer may not be satisfied with the final product.
The “Agile” method is associated with repetitive processes with a focus on adapting and satisfying the customer with the rapid completion of the project. In this method, execution and testing occur simultaneously, unlike “Waterfall”.
Agile comes in 1990s
The Agile method was introduced in the late 1990s as a software development method. This method is one of the easiest and most effective ways to turn a business need into a software solution. Includes constant planning, information, teamwork, progress, and quick completion of the project. Includes flexible reactions to changes.
Agile has the idea that each project must be approached individually. The individual steps are divided into short time frames, and at the end of each, there is a working product.
The advantages of the method are the following:
– The process is divided into short time intervals.
– The client has the opportunity to participate in each stage and make changes if necessary.
– Suitable for small projects.
– Errors can be corrected at an earlier stage.
– Each phase includes testing.
– Execution and testing occur simultaneously.
– Pre-planning is kept to a minimum.
The disadvantages of this method are the following:
– Not suitable for more complex projects.
– Frequent client involvement can lead the team in the wrong direction.
– The lack of detailed documentation leads to great dependence on individual team members.
When comparing “Agile” to traditional methods such as “Waterfall”, the following stands out:
– Agile is an adaptive method, while Waterfall is based on a predictive approach. The forecast is made based on preliminary planning and a clear structure of the phases through which the project and the essence of the final product must pass is obtained.
– Traditional methods depend entirely on preliminary studies and analyzes. Any changes during the project life cycle are strictly reviewed by a team.
– Agile uses an adaptive approach and does not involve detailed planning. The team can easily adapt to changes in the work process. The product is tested frequently, in each phase, which reduces the risk of errors.
– Communication with the client is key in the Agile method and open communication in the team with minimal documentation is typical for this method of management. This usually requires work teams to be close to each other.
Scrum and Lean
Scrum is an Agile type method that focuses on sprinting in a team environment. Scrum is an “inspired” rugby match. The method involves transferring greater powers to the executive team and recommends working in small teams (7-9 people). Includes Scrum master, who is responsible for team building, sprint operatives, and dealing with obstacles in the process.
The “Lean” method appeared in the late 20th century and is based on the principle of “Just in time production” – a Japanese philosophy, which was presented by the Japanese car giant Toyota. This philosophy is based on the principle of waste elimination – “Muda”. Waste is considered to have no value for the customer and the production chain focuses on eliminating all aspects that do not bring value.
Defining any of these methods as “better” or “best” is subjective. The application of any of these methods depends closely on the type of project and its characteristics. Also important is the culture and policy of the company, its traditions, and characteristics of the work teams.
I believe that knowledge of the principles of operation, pros, and cons of the listed project management methods would only be useful for establishing our authentic management method.
Comments are closed.