I ended up creating a repo and npm package for this! Check it out here — https://github.com/msholty-fd/backbone.marionette.jsx In a previous story, I wrote about how you can correctly render a…
I started my career as a young intern in a big telecom company. Back then, software development projects would span months, if not years. Project managers had long Excel sheets and complicated dashboards to track the completion of the project. At that time, every project manager used the waterfall method.
Waterfall was classic and time-tested. With its specific structure and well-defined phases, big and small companies relied on the method for the completion of their projects. It dominated the software development industry for many years.
Then in 2001, a group of 17 developers met in Utah to ski and discuss new ways to develop software. They no longer wanted to wait years for a project to complete. Instead, they brainstormed ways to deliver products to customers faster. At the end of their meeting, they created a new methodology: agile. Preferring flexibility and rapid iteration, the agile method took the world by storm. Among startups especially, this method quickly gained popularity.
Today, both methodologies are still used and often compared. Having the choice between two approaches, teams need to make the right one as changing can take a lot of time.
What are the waterfall and agile methodologies? What is the most appropriate for your team? What are the pros and cons? This article will cover both methodologies along with the advantages and disadvantages of each.
The waterfall methodology is the traditional approach to software development. It has a very linear approach and consists of specific and well-defined phases that a project follows one after the other. Each phase depends on the completion of the previous one.
Some of the phases can include:
Between every phase, there is a review process and a sign-off. The review process ensures all requirements are met. Once the review is done, key stakeholders sign off and the project can proceed. Each phase has key deliverables, specific deadlines along with an expected end date. As a result, the next phase cannot start until the previous one has been completed and sign-off has been done.
Teams tend to be defined in advance and only brought on the project when it’s their turn. For example, developers are only required during the development phase. During other phases, they can work on other projects.
Agile prizes flexibility over the rigid structure of the waterfall method. The key goal of agile is to provide value to customers as soon as possible and as a result, gather feedback quickly. This allows teams to iterate and change their priorities based on that feedback.
As a result, projects are broken down into sprints. The team can decide how long they want the sprints to be, but generally they tend to be between one to four weeks. Every sprint starts with a planning session. Companies typically have a backlog of items. This backlog consists of a list of features that they want to deliver to their customers. During this planning session, the team reviews the backlog to decide what they want to deliver at the end of the sprint. After the meeting, the team gets to work.
To keep the team updated on their progress, daily stand-ups take place. During these meetings, the team gathers together, and the person in charge gives everyone the opportunity to give a quick update on the status of their assigned tasks.
Sprints end with a retrospective where team members go over their wins and areas of improvements. If the sprint went well, features are then launched to customers and a new sprint starts.
As the new shiny methodology, many may assume that agile is better than waterfall. However, the real answer is one of them is not better than the other: it all depends on which methodology is a better fit for your team. Many factors need to be considered.
Some of the advantages of waterfall include:
Of course, there are disadvantages to the waterfall methodology:
Agile, on the other hand:
As to be expected, there are also drawbacks to the agile methodology:
Choosing which methodology is right for your team depends on many factors.
The rigid structure of the waterfall methodology with its detailed planning and set phases has been used for decades. Many big companies, in particular, have preferred it as waterfall allowed them to scope out entire projects that could span many months or even years. Having very detailed planning from the beginning lets companies plan budgets and resources. This also gives developers and testers a view of the complete solution allowing them to work more effectively. For example, companies who have a lot of contract-based projects, say with the government, tend to prefer the waterfall method as a result.
Agile, on the other hand, is a great fit for startups who don’t necessarily have strict and well-defined requirements. They might not have a specific vision of their product yet and might need to test. By iterating quickly and often, they can gauge the value of their product and improve accordingly. By getting customer feedback as soon as possible, agile teams are able to correct course when necessary. As a result, the agile method works very well for smaller companies with a self-organized and dedicated team looking to quickly test their solution.
Big companies have started experimenting with the agile methodologies by creating specific agile teams within the workplace. Only time will tell whether those companies will continue leaning into agile or stay with a more hybrid approach.
Regardless of which approach you adopt, take in consideration all the factors listed-requirements, team, clients-to make the best choice for your team.
By Marie Starck. Marie is a freelance software developer. She helps entrepreneurs and designers by bringing their ideas to life. She also writes tech tutorials on her free time.
Happiness is an emotional state characterize by feeling of joy, satisfaction and fulfilment. while happiness has many different definitions, it is often describe as involving positive emotions and…
One of the key factors to consider when filing a claim and calculating a deductible is the very worrisome homeowners disaster clause. Contractors, as well as homeowners, need to understand what…
My Oma is 107 years old. She’s been able to live with dignity for decades because of two of the most successful public policy programs in American history — Social Security and Medicare. So when I’m…