Which of the following was described as the main drawback to the waterfall software development model quizlet?

The four values of the Agile Manifesto

The Agile Manifesto consists of four key values:

  • Individuals and interactions over processes and tools.
  • Working software over comprehensive documentation.
  • Customer collaboration over contract negotiation.
  • Responding to change over following a plan.

Let’s take a look at each one in detail:

Learn more about the Agile Manifesto.

Value 1: Individuals and interactions

In the past, a lot of software teams would concentrate on having the best possible tools or processes with which to build their software. The Agile Manifesto suggests that while those things are important, the people behind the processes are even more so.

Having the right group of individuals on your software team is vital to success. The best possible tools in the wrong hands are worthless. Perhaps even more important is how these individuals communicate with each other. The interactions between team members are what helps them to collaborate and solve any problems that arise.

Value 2: Working software

Previously, software developers would spend ages creating detailed documentation. That was before they even started writing a single line of code. And while documentation isn’t a bad thing, there comes a point when you should focus on providing your customers with working software.

The Agile Manifesto places shipping software to your customers as one of the highest priorities. You can then gather feedback to help you improve future releases.

Value 3: Customer collaboration

Once upon a time, contracts were king. You would draw up contracts with your customers who would then detail the finished product. As a result, there was often a contrast between what the contract said, what the product did, and what the customer actually required.

According to the Agile Manifesto, the focus should be on continuous development. You need to build a feedback loop with your customers so that you can constantly ensure that your product works for them.

Value 4: Responding to change

Can you imagine a time where you would draw up a roadmap and it would never change? Well, in the past that’s exactly what happened.

The trouble with static roadmaps is that we don’t live in a static world. Needs and requirements are always shifting, and priorities are always changing. That static roadmap will soon grow outdated.

That’s why the Agile Manifesto suggests that a software team should have the ability to pivot and change direction whenever they need to, with a flexible roadmap that reflects that. A dynamic roadmap can change from quarter to quarter, sometimes even month to month, and agile teams are able to keep up with those changes.

The Agile Manifesto also consists of 12 principles. Read about them here. 

.     .     .

Productboard is a product management system that enables teams to get the right products to market faster. Built on top of the Product Excellence framework, Productboard serves as the dedicated system of record for product managers and aligns everyone on the right features to build next. Access a free trial of Productboard today.

The Traditional Waterfall Approach

The Waterfall approach to systems analysis and design wass the first established modern approach to building a system. This method was originally defined by Winston W. Royce in 1970, ("The Waterfall Development Methodology", 2006). It quickly gained support from managers because everything flows logically from the beginning of a project through the end, (Jonasson, 2008). Sources differ when it comes to the specific steps in the Waterfall process (Jonasson, 2008), and I will detail some of these differences in the next paragraph. However, the basic underlying logic and steps present themselves in each interpretation.

Figure 1: Waterfall method

Which of the following was described as the main drawback to the waterfall software development model quizlet?

("The Waterfall Development Methodology", 2006)

The original Waterfall method, as developed by Royce, is featured in Figure 1. The steps include Requirements Determination, Design, Implementation, Verification, and Maintenance. Other models change the Requirements phase into the Idea phase (Jonasson, 2008), or break the Requirements phase out into Planning and Analysis (Hoffer, George, Valacich, 2008). Furthermore, some models further break the Design phase out into Logical and Physical Design subphases (Hoffer, et al, 2008). As previously mentioned, however, the basic underlying principles remain the same.

The Waterfall method makes the assumption that all requirements can be gathered up front during the Requirements phase (Kee, 2006). Communication with the user is front-loaded into this phase, as the Project Manager does his or her best to get a detailed understanding of the user's requirements. Once this stage is complete, the process runs "downhill" (Hoffer, et al, 2008).

The Design phase is best described by breaking it up into Logical Design and Physical Design subphases. During the Logical Design phase, the system's analysts makes use of the information collected in the Requirements phase to design the system independently of any hardware or software system (Hoffer, et al, 2008). Once the higher-level Logical Design is complete, the systems analyst then begins transforming it into a Physical Design dependent on the specifications of specific hardware and software technologies ("Software Development Lifecycle", n.d.)

The Implementation phase is when all of the actual code is written ("SDLC Phases", n.d.). This phase belongs to the programmers in the Waterfall method, as they take the project requirements and specifications, and code the applications.

The Verification phase was originally called for by Royce to ensure that the project is meeting customer expectations. However, under real-world analysis and design, this stage is often ignored. The project is rolled out to the customer, and the Maintenance phase begins.

During the Maintenance phase, the customer is using the developed application. As problems are found due to improper requirements determination or other mistakes in the design process, or due to changes in the users' requirements, changes are made to the system during this phase. ("SDLC Phases", n.d.).

The Waterfall method does have certain advantages, including:

  • Design errors are captured before any software is written saving time during the implementation phase.
  • Excellent technical documentation is part of the deliverables and it is easier for new programmers to get up to speed during the maintenance phase.
  • The approach is very structured and it is easier to measure progress by reference to clearly defined milestones.
  • The total cost of the project can be accurately estimated after the requirements have been defined (via the functional and user interface specifications).
  • Testing is easier as it can be done by reference to the scenarios defined in the functional specification ("The Waterfall Development Methodology", 2006).

Unfortunately, the Waterfall method carries with it quite a few disadvantages, such as:

  • Clients will often find it difficult to state their requirements at the abstract level of a functional specification and will only fully appreciate what is needed when the application is delivered.  It then becomes very difficult (and expensive) to re-engineer the application.
  • The model does not cater for the possibility of requirements changing during the development cycle.
  • A project can often take substantially longer to deliver than when developed with an iterative methodology such as the agile development method. ("The Waterfall Development Methodology", 2006).

Due to these and similar problems, systems analysts began looking for alternative methods of designing systems. In the following sections, I will go over select methods that have been developed. I will concentrate on methodologies that have been classified as Agile. In this paper, I will concentrate on Extreme Programming, Scrum, and Test-Driven Development.

Which of the following was described as the main drawback to the waterfall software development model?

The disadvantage of waterfall development is that it does not allow 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-documented or thought upon in the concept stage.

Which of the following are advantages of an iterative design process?

Benefits of Using Iterative Design Highlights and helps to resolve misunderstandings, expectation issues, and requirement inconsistencies as early in the process as possible. Helps to ensure the product is fit for purpose and meets its functionality, usability, and reliability objectives.

Which of the following is the name for a program that reproduces by attaching copies of itself to other programs and which often carries a malicious payload?

A worm is a standalone program that replicates itself to infect other computers, without requiring action from anyone. Since they can spread fast, worms are often used to execute a payload—a piece of code created to damage a system.