What are the challenges with waterfall methods that prompted the software industry to come up with alternatives like agile?

List its advantages and disadvantages

What is Waterfall Model ?

The waterfall model is a popular version of the systems development life cycle model for software engineering. Often considered the classic approach to the systems development life cycle, the waterfall model describes a development method that is linear and sequential. Waterfall development has distinct goals for each phase of development. Imagine a waterfall on the cliff of a steep mountain. Once the water has flowed over the edge of the cliff and has begun its journey down the side of the mountain, it cannot turn back. It is the same with waterfall development. Once a phase of development is completed, the development proceeds to the next phase and there is no turning back.

What are the challenges with waterfall methods that prompted the software industry to come up with alternatives like agile?

History of the Waterfall Model :

In 1970 Royce proposed what is now popularly referred to as the waterfall model as an initial concept, a model which he argued was flawed (Royce 1970). His paper then explored how the initial model could be developed into an iterative model, with feedback from each phase influencing previous phases, similar to many methods used widely and highly regarded by many today.

Despite Royce's intentions for the waterfall model to be modified into an iterative model, use of the "waterfall model" as a purely sequential process is still popular, and, for some, the phrase "waterfall model" has since come to refer to any approach to software creation which is seen as inflexible and non-iterative.

When to use the waterfall model:

  • Requirements are very well known, clear and fixed.
  • Product definition is stable.
  • Technology is understood.
  • There are no ambiguous requirements
  • Ample resources with required expertise are available freely
  • The project is short.

Stages of Waterfall model:

What are the challenges with waterfall methods that prompted the software industry to come up with alternatives like agile?

  • Project Planning
  • Requirements definition
  • Design
  • Development
  • Integration and Testing
  • Installation/Acceptance
  • Maintenance

Advantages of waterfall model:

What are the challenges with waterfall methods that prompted the software industry to come up with alternatives like agile?

  • It allows for departmentalization and managerial control.
  • Simple and easy to understand and use.
  • Easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process.
  • Phases are processed and completed one at a time.
  • Works well for smaller projects where requirements are very well understood.
  • A schedule can be set with deadlines for each stage of development and a product can proceed through the development process like a car in a car-wash, and theoretically, be delivered on time.

Disadvantages of waterfall model:

What are the challenges with waterfall methods that prompted the software industry to come up with alternatives like agile?

  • It does not allow for much reflection or revision.
  • Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage.
  • No working software is produced until late during the life cycle.
  • High amounts of risk and uncertainty.
  • Not a good model for complex and object-oriented projects.
  • Poor model for long and ongoing projects.
  • Not suitable for the projects where requirements are at a moderate to high risk of changing.
Check about V-Model in SDLC (Software Development Lifecycle)

Over the past five years organizations have been making a strong, concerted push to shift to a more agile project management framework from the traditional waterfall model. 

According to the 15th Annual State of Agile Report, there has been a strong increase in agile adoption with more than 94% of respondents noting that their organization is practicing agile. Similarly, Goremotely.net reports that 71% of companies use agile approaches as their software development methodology and business project approach.

  • What Is the Waterfall Development Process?
  • Why are Organizations Pivoting Away from Waterfall?
  • What Is Agile Development?
  • The Agile Challenge
  • Create an Agile Team and Embed the Guardrails
  • Determining If/When a Project Can Be Delivered as Agile
  • Flexible Support for Organizational Challenges

What Is the Waterfall Development Process?

Waterfall project management is a sequential approach that divides the SDLC to distinct phases such as requirements gathering, analysis and design, coding and unit testing, system and user acceptance testing, and deployment. The next phase can only proceed if the previous phase has been completed. In between phases, a deliverable is expected or a document is signed off.

Why are Organizations Pivoting Away from Waterfall?

Waterfall is more of a sequential approach to project management and it relies on moving through each phase (i.e., analysis, design, development and testing) once receiving sign-off on the prior stage.  The challenge is that most projects are not ideal and neat – with the ability to move sequentially through each phase efficiently.  Projects (and also products) are more evolutionary.  Waterfall does not provide much room for that evolution. 

Waterfall provides for many benefits but the challenges can out-weigh key factors in organizational success.  Key disadvantages of waterfall include: 

  • Extended time in the project planning phase.  Gathering requirements and obtaining alignment and sign-off can be a very lengthy process;
  • Focus on perfectly formatted, often lengthy deliverables (i.e., reports and documentation) which can require more time for already overallocated resources than often proves useful;
  • System and UAT testing that occurs only at the end of the project meaning less opportunity for stakeholder input and changes after the initial requirements are gathered. (What stakeholders want on paper and what they want in reality after “seeing” can be very different and changes are now very costly); and,
  • Lengthy and sometimes excessive timelines for implementation which can hurt the organization’s return on investment

There are however benefits that are near and dear to a veteran project manager’s heart including: 

  • Ability to clearly track the detailed schedule, impacts of dependencies, and costs leading to better insight into performance;
  • Full discovery and alignment across teams and organizations (whole-system approach) leading to better design; 
  • Clear agreement on project scope and deliverables. Essentially the “contract” on what the Project Manager (PM) is to deliver is well-defined which can feel like a safety net; and 
  • Overall less ambiguity in terms of managing the effort.

What Is Agile Development?

Agile development is a team-based approach that emphasizes rapid deployment of a functional application with a focus on customer satisfaction. It defines a time-boxed phase called a sprint with a defined duration of two weeks.

The Agile Challenge

Based on findings about the benefits of Agile, Project management offices (PMOs) want to move toward being an agile organization, but what does that mean? Oftentimes in organizations, it means wanting to use a certain approach to manage and deliver software and business projects iteratively in sprints, but this is a myopic view of agile.

Leadership requests PMOs to transform the organizational project approach to an agile approach. They often want a highly prescriptive, waterfall-like process and set of standardized documentation templates using agile words and practices; however, that is not agile.

Agile is less about having a set suite of actions to take but rather a mindset to develop and principles to apply in the right way to the right situation using a few organizational guardrails.

Create an Agile Team and Embed the Guardrails

Creating an agile team is different from leading a purely agile project. All project teams can be developed to be agile. To do so, establish a few key frameworks within the team or the larger broader organizational project management framework. This will guide the injection of the agile mindset across teams.

1. Daily or multi-day standups

For an IT PM managing a key set of team members, it may make sense for a daily standup or perhaps a PM that works with just one team. However, for PMs working with multiple teams across an enterprise organization, daily standups may be more intrusive than they are beneficial. In those instances, the PM should consider if there is more value out of having two or three standups per week instead.

2. Retrospectives

Meaningful retrospectives at the end of each month or quarter will allow for meaningful discussion on what worked well and how the team can improve. In between meetings, work with your team to determine how to enact those improvements, and then at each monthly or quarterly retrospective, determine if the improvements are working and what modifications are still needed to drive success.

3. Planning sessions

Planning sessions can be used to map out the month or quarter of upcoming work, look ahead into any risks and dependencies and discuss those with the team. Planning sessions allow for the team to conduct resource and risk planning and allow the team to collaboratively drive the scheduling and ownership as opposed to a schedule that is PM-driven, where team members are disconnected from the tasks to be performed.

4. Embed the customer throughout

From the initial intake and understanding of the overall project requirement to the incremental project deliveries, work hand-in-hand with the customer. In the beginning, find out what success means from the customer’s vantage point, then design, develop, review against, and measure against that.

Include the customer in planning sessions, retrospectives, and collaborative documentation sites like Jira. Allow them to see the plan, dependencies, and risks with the ability to refer back to it at their convenience. These are not items to be hidden and shared monthly with the hopes of mitigating them first but rather items that together you can work through to solve in a partnering fashion.

5. Iterative reviews

Whether an item can be released incrementally or not should not stop the team from engaging the customer in the progress. For any IT solution, product, training storyboards, website mockup, etc., keep the customer and stakeholders engaged via iterative reviews, product feature discussions (if applicable), and demos to ensure that the team doesn’t go too far down the road only to find out that the final outcome is not the intended outcome.

6. Organizational communication

None of these high-level changes can occur without organizational level communication and leadership support. Imagine a team of business resources with regular operational work that is now a part of a highly visible, regulatory, time-based project and the PM requests a 15-min standup three times a week with this already very busy team.

While the team will most likely not respond well, nor see the value, it gives the PM an opportunity to touch base multiple times a week to keep the project tasks moving and support any impediments as opposed to waiting for the next weekly meeting and losing four to five days of progress in the process.

Determining If/When a Project Can Be Delivered as Agile

Every project should be managed to include the core principles of an agile framework, but not every project can be incrementally delivered to provide benefits. To determine the level of agile project management, start with the key question: Can the project or product be delivered in such a way that it can provide benefits incrementally? Perhaps a better question is how can the PM structure the project management strategy to obtain iterative benefits from the project or product? Can the product be released in micro-usable components?

When defining the project management strategy, determine when and how a project can iteratively deliver results. That is the point in which it makes sense to transition from a waterfall approach to agile.

Whether fully agile or hybrid, the various approaches can be used throughout. Perhaps a project cannot be released in micro-segments initially. However, the PM can start with a waterfall schedule in MS Project for the initial foundational components; create a Kanban board to help keep the team on track; and manage open actions and a JIRA site to track the requirements, dependencies, risks, and testing or reviews. Once the foundational waterfall aspect completes, they can then transition to a two- or three-week sprint model with incremental deliveries.

Flexible Support for Organizational Challenges

In any toolbox, the user selects the most useful tool to support the challenge at hand. They also combine the tools to get the job done. The project management tool box is no different.  It is not a one-tool solution, but rather the flexibility to employ the right tools in the right combination at that right time.  The best approach is one that factors in the complexities of the work which often can be found as a hybrid approach of both waterfall and agile tools.  Select from the expansive options as they best fit the engagement type or solution, team needs, and organizational challenges.

What are the challenges with waterfall methods that prompted the software industry to come up with agile methods?

Challenges With Waterfall Model.
INFERIOR QUALITY. The development team is forced to cut testing short, which makes the project suffer in the long run..
BAD VISIBILITY. ... .
LARGE RISK. ... .
HOW TO HANDLE PROJECTS WHEN THEY OVERRUN THE INITIAL ESTIMATES? ... .
Cost Overrun. ... .
Time Overruns. ... .
The Iron Triangle of Software Development..

Which of the following are limitations of the waterfall model select three?

High amounts of risk and uncertainty. Not a good model for complex and object-oriented projects. Poor model for long and ongoing projects. Not suitable for the projects where requirements are at a moderate to high risk of changing.

What are some of the benefits organizations have seen from using agile methods select five Coursera?

Select five..
Project Visibility..
Increased productivity..
Increased project governance..
Increased Team Morale..
Improved Business / IT Alignment..
Better Software Quality..

What are some of the benefits organizations have seen from using agile methods select five Mcq?

The 9 Key Benefits of Using the Agile Methodology.
Superior quality product. ... .
Customer satisfaction. ... .
Better control. ... .
Improved project predictability. ... .
Reduced risks. ... .
Increased flexibility. ... .
Continuous improvement. ... .
Improved team morale..