Agile versus Waterfall – what a choice… We have the traditional, linear, plan-oriented methodology Waterfall and the more flexible, test-driven approach Agile. Let us start with a simple explanation: when we have a software development project, we need to think about how to manage it. Which model is best for your project depends on the nature of your organization, requirements. At Setapp, we generally use agile methods. We hope this article will help you understand this complex topic.
TABLE OF CONTENTS
The pros and cons of Waterfall model
For a long time there was this strictly linear approach, which you may know as Waterfall. It took until the mid-1990s for Agile to emerge with its multiple iterations and test-driven approach. The traditionally managed project is divided into phases. At the end of each stage tasks and requirements are completed. As a result we have some sort of intermediate product. That is given over on to the next phase to continue development.
In the waterfall method, there are basically the following phases:
- Analysis (scope, time, requirements);
This is a linear way of software development. It is as you can see plan-oriented and well-documented. Big software development companies and global brands still use it successfully and appreciate its clear structure. Though the key is that the client needs to know exactly what the outcome should be. What is crucial is that development companies need to understand those requirements properly. The project should not be too complex and depend on too many factors. The success of this method depends on how well the planning is done at the beginning and how precisely it is communicated among the team members of the software companies.
When does Waterfall generally not fit your project? The experience of many software development companies shows, that Waterfall projects tend to grow over time. Tasks and phases do not fit the originally planned schedules and the whole project consequently exceeds the budget.
“ the traditional approach becomes inadequate to the contemporary requirements of the environment and may be unfavorable for projects that are structurally complex and uncertain.” – source Humanitas, “Project management – traditional or agile?, dr Hanna Soroka-Potrzebna
The pros and cons on Agile model
In response to the rapid environmental changes, the agile model emerged and has evolved into many different frameworks such as Scrum or Kanban. The whole idea started in 2001 when a group of 17 developers met in Utah, USA and wrote down the first Agile Manifesto. They discussed how to develop software in a more adaptable way to constant change. More open to incremental improvement. They stated some general rules which are still cultivated. The business world needed this new model to adapt to ever-changing environments. Trends, user preferences and needs, economic factors are not fixed. That is why the process of technology development should be able to adapt also. A nice quote from the Humanitas paper would be a nice finish to this thought:
“ Currently, it is the agile project management that is considered the most practical and flexible for the company’s development. – source Humanitas.
Agile key benefits are:
- flexibility, collaboration
- high-frequency, transparent communication,
- short feedback cycles
- client and test – driven approach.
There are cases where agile is not for your project from legal or technical issues. Some corporations need to have a proper plan and documentation at the kick off of the project. This include situation were the sponsor and management do not understand or accept the agile philosophy. It might occur that the organization is not able to deal with the frequent delivery of partial results or increments due to capacity or mindset. Big global companies and brands sometimes need this linear structure and this is just fine. Only as mentioned earlier you need to have a good, not too complex plan at the beginning.
Agile is complex and it takes time to understand its rules. It also demands more time from the client’s side than a traditional Waterfall, as there should be an inside them ready for frequent feedback . All the meetings, verifications and questions are sometimes confusing but that is the role of Scrum master to guide us in this process efficiently.
How does Agile work?
In this paragraph, I would like to put flesh on agility and how it works. One of the major differences in Agile versus Waterfall is that planning is done in shorter time frames rather than for the entire project. Agile methods rely on frequent verification of the process to see if the direction matches the perspective of the client and users. This helps in maintaining control over time, cost and scope.
In the most popular agile framework “Scrum” the project is divided into fixed length periods called “Sprints”. This usually takes 2 weeks, but it does not have to be. At the end of each sprint a certain goal should be achieved. As a result an operational product can be tested and verified with stakeholders. This framework is based on lean thining, it values transparency, inspection and adaptation.
Scrum employs an iterative, incremental approach to optimize predictability and to control risk. Scrum engages groups of people who collectively have all the skills and expertise to do the work and share or acquire such skills as needed. ” to quote Scrum guide 2020.
Sprint includes below regular smaller events:
- Sprint Planning – laying out the work to be performed
- Daily Scrums – inspect progress toward the Sprint Goal and adapt the Sprint Backlog
- Sprint Review – inspect the outcome of the Sprint and determine future adaptations.
- Sprint Retrospective -to plan ways to increase quality and effectiveness.
During sprint We can ensure if the team did everything coherent with clients vision. Moreover if all requirements were taken into account and if the whole project is getting in the right direction.
Specific roles of Product Owner and Scrum Master
It is also worth mentioning that in Scrum we have the role of the Product Owner, whose focus is on the final product across all sprints. In this way, the team does not forget the business and user perspective. There is also a specific role of the Scrum Master. The best definition comes from our Scrum Master, Ola. She likes to say that her role is to keep developers behaving like adults. That’s just a joke of course, but a Scrum Master truly takes care of the team collaboration to achieve the best possible outcome. So the comparison with a mother who takes care of her children’s behavior while keeping the whole house in order is very accurate.
More articles about Scrum or Agile? Check below: How to test, validate your product with Design Sprint.
Hybrid as the third option
Besides Agile and traditional Waterfall there is a third option. A hybrid approach. This solution combines the plan-driven process with agile principles in the sub projects. This way we can benefit from both methods. Like in Waterfall we have the big picture, structure and classical plan with all the documentation. Though each phase is managed in an agile manner with transparency, regular feedback. Using high-frequency communication and short feedback cycles. These subprojects take advantage of agile transparency and adaptability, but follow the overall structure.
LEGO workshops insights – Agile versus Waterfall
Recently, at Setapp we held workshops about topic: Agile versus Waterfall. The goal was to remind our teammates why we develop our software in an agile model instead of traditional Waterfall. This was a lego simulation with a goal to build a city out of Lego bricks while using both methodologies. The team in the Waterfall part divided into roles and each got their assignment. Then they planned the whole project at the beginning. The analyst gathered all the client’s requirements and then handed them over to the designer then developer did his part. One of the participants of this workshop was Łukasz, our software developer, shared his insights:
In the “Waterfall” part of the workshops, we did not have the opportunity to contact clients during the phase of design and development and the outcome was that our vision and clients were different which unfortunately we realized only in the end. Due to lack of time we couldn’t improve our LEGO building. There was not enough time to get clients’ perspective and we made some bad assumptions at the beginning. We had a knock-on effect as a result” – Łukasz, software developer at Setapp.
In the agile part teams could collaborate closer and share ideas as a group. Communication was transparent. At all stages team got regular feedback from clients perspective. There was a time in the project to review, discuss and share opinions. To check if all team members are on board. This was greatly appreciated by Łukasz’s team, as one of his teammates disagreed with the product vision and separated from the group. In Agile they were able to pause, discuss, get customer feedback and regroup for the next phase (sprint).
“ Agility was so refreshing after Waterfall and I finally learned why we work this way at Setapp. The projects just came up better. During the whole process I remember feeling frustrated that we cannot help each other and discuss the progress, the idea. It was annoying that each role was so fixed and divided and only at the beginning we got the client’s perspective.” – Marta, Office Assistant at Setapp, it was her first contact with agile way of work.
To clarify you can use Lego brics to learn many issues. For instance:
- A recipe for a different simulation more focused on Scrum framework itself.
- How to effectively form agile teams in your company
- What can you expect during a Design Sprint? A brief look into the 4 phases
Summary Agile versus Waterfall
In conclusion, at Setapp we are small enough to be agile and big enough to deliver complex software development projects. Many years of cooperation has allowed us to realize that our strength comes from the synergy of our skills. As a result of deep understanding of one another we can cope with the most demanding challenges. This philosophy deeply combines with Agile methodologies. That is why at Setapp we work in agile and agile and its versions is our way in software development.
Above all we believe all these meetings are worth being flexible, collaborative and test-driven. Also having a great agile office and experienced Scrum masters help to achieve all the best agile can give. In the end let’s check how real clients feel about having their products developed in agile?
“Setapp executed a clear and structured project methodology that covered all requirements on time.” – André Torbjørnsen, Klaveness Digital.
The team streamlined scrum methodology and divided the project into two-week sprints to ensure the output’s quality. Their openness, professionalism, and availability were their most outstanding assets. – Bartłomiej Markowicz, Key Account Manager, Tlc Sp. z o.o.
“Their flexibility and project management are definitely the two most impressive aspects of the partnership.” – Marcin Molski, Katana Studios.