Waterfall vs. Agile vs. DevOps: What’s the Best Approach for Your Team

When developing software, there are many options to choose from when it comes to project management. While the benefits of leveraging quality project management programs are clear, software alone is not sufficient to guarantee timely or quality work. Not having critical processes in place may result in delayed releases or poor quality. Let’s dig into the three main approaches to software delivery:

  • Waterfall
  • Agile
  • DevOps

The goal of this article is to outline the benefits and drawbacks of each of these approaches giving you an understanding of when to apply the correct delivery model for your project.

Master the Agile Scrum project management approach by taking up the Agile Scrum Master Certification Training. Enroll now!

Waterfall

Arguably, the most traditional project management technique is known as a waterfall. The term comes from the series of clear milestones a project must go through to complete the work. In other words, the milestones cascade into each other.

The concept of applying waterfall project management started in the 1940s and came into prominence in the 1950s, specifically in the manufacturing industry. The approach treats each key phase of a deliverable as distinct. The following are typical key milestones:

  • Business understanding: Document the business process, often involving business analysts
  • Modeling: Break out the key structure of the solution in a large model
  • Development: Build out the code
  • Testing: Quality control groups work to test completed sections of the program
  • User Acceptance Testing (UAT): The final stage where the business team reviews and approves solutions

The benefit of waterfall project management is that each key phases have a clear “Go / No Go.” The gate where the business leaders can assess if the project should continue. Also, it is easier to define a budget for a waterfall project.

The challenge with the waterfall approach is three-fold:

  • Teams work in silos
  • Customer expectations are hard to gauge
  • Introduces scope creep

With the waterfall, each group is intentionally kept separate. Knowledge sharing becomes difficult, and communication is equally limited. The result comes with delays due to confusion around what each team is doing.

The driver for the entire project is what the business is looking to deliver. What is often missing is a continuous conversation with the customer, meaning that solutions are delivered that do not meet customer expectations. The result: the delivered product is not used. Companies such as Microsoft used to employ the “we know best” model. The result is products such as Microsoft Office VizAct and other similar solutions. Don’t you remember VizAct? Maybe it is due to the customer reaction to that new addition to Microsoft Office. The customer reaction was so negative that Microsoft killed the project 30 days after launch. Ouch!

The final challenge is scope creep. When you have a project that lasts months or years, it is easy to keep adding features. This is called “scope creep,” and it can kill a project.

Agile

Driven largely by digital work, a new approach to project management emerged in the early 2000s called Agile. There are different approaches to agile, such as scrum, but essentially all models have the same core components:

  • Cross-functional teams
  • Sprints
  • Customer-centric design

The big step away from the waterfall is the concept of cross-functional teams. Ideally, you will want your team made up of each key area of the project, such as:

  • Business Analyst
  • Engineers
  • DBA
  • QA
  • Design

The goal is to have the team closely collaborating. The outcome of this approach is that you have much better communication throughout the entire project lifecycle. This leads to the second key attribute of agile: sprints.

A sprint is typically a two-week time period (they can range from one week to four weeks, but two-week sprints are the most effective). At the beginning of each sprint, a series of deliverables are set and agreed to. The end of the sprint is the completion of those deliverables. In other words, every two weeks, the team completes something that impacts the overall project.

Each sprint gives the team the opportunity to get customer feedback. Customer-centric design is the third key tenet of agile. After all, the work you are doing is for the customer. It should be reviewed by the customer frequently, and have feedback incorporated into the design. The use of sprints opens up the opportunity for the delivery team to react to customer feedback. Plus, this reduces scope creep.

However, there are drawbacks to agile. The first is cultural. Moving to sprints with cross-functional teams is difficult when you have been working in a siloed team for many years. Also, the concept of using sprints can make it difficult to determine when the assignment will be completed. You are done when you have run enough sprints, but you are also learning as you go along.

Also, CFO’s typically don’t like the “we will be done when we are done” argument. To this end, there has been a movement of merging the good parts of the waterfall with the good parts of agile to create solutions called “SummerFall” (agile scrum and waterfall). This approach can help organizations change the culture within their companies from one delivery model to another more gradually.

Agile Scrum Master Certification Training

Master the Agile Project Management MethodologyVIEW COURSE
Agile Scrum Master Certification Training

DevOps

The newest kid on the block for project delivery is DevOps (a merge of development and operations). DevOps takes what is good about agile and builds on it with the following key differences:

  • Developers and operations collaborating
  • Automation
  • Continuous delivery

With DevOps, you expand your core team to include the operations team. The goal is to make the solution you build a living entity. There is no end to the assignment, just continuous improvement based on feedback from all teams. Advanced DevOps teams now also include security teams as part of the core group to create DevSecOps.

The second powerful component of DevOps is automation. Where possible, all features are automated. Testing, code deployment, communication, network resources, and scaling to meet customer demand. Through automation, you can scale the effectiveness of your team and also eliminate inevitable human error.

The ultimate goal is to move to a continuous delivery model. Rich, cross-functional teams that are continually assessing and validating customer engagement and speeding up delivery with automation, opens the door to faster releases. No longer do you have to wait years for a single big update. With DevOps, you can now deliver dozens of small updates every day. You may have seen this approach with Office 365. New features pop up all the time. DevOps is a customer-centric model that enables teams to optimize the customer experience in an ongoing fashion. 

Similar to agile, the challenge for many companies is taking the big leap to a DevOps model. The approach, mindset, skillset, and CX model require a special group of people. Companies should invest in those people period.

Moving Forward

The bottom line is that you must apply an agreed-upon project delivery approach. Projects don’t manage themselves, and a committee should not control them. Companies need to identify a project management lead and define success metrics for the project before the work has started. This will allow you to see if the work is meeting goals. If goals are not being met, you can correct the course of action. 

In many ways, agile is arguably an easier project delivery model to start with. By nature, the teams are smaller, the sprints have a tighter focus, and the deliverables can be seen quickly. If you can, sprinkle in some DevOps automation for code testing, builds, cloud deployment, and automatic scaling. Your end goal is to satisfy the customer. Do what you can to manage that goal through effective project management.

Test your understanding of the Agile concepts with the Agile and Scrum Practice Test. Try answering now!

Boost Your Career Through Upskilling

There are many tools and techniques that you need to learn to make a successful career in product development-related project management. Simplilearn offers comprehensive project management training and certification—like the PMP Plus Master’s Program—which includes Agile Scrum Master training. We also offer several courses in Agile and Scrum. Also, our DevOps Engineer Master’s program will equip you with everything you need to know to land an exciting career in this in-demand field. Get started now!

About the Author

Matthew DavidMatthew David

Matt is a Digital Leader at Accenture. His passion is a combination of solving today's problems to run more efficiently, adjusting focus to take advantage of digital tools to improve tomorrow and move organizations to new ways of working that impact the future.

View More
  • Disclaimer
  • PMP, PMI, PMBOK, CAPM, PgMP, PfMP, ACP, PBA, RMP, SP, and OPM3 are registered marks of the Project Management Institute, Inc.