Exercises: Applied Agile Development

Covering: why rapid delivery often matters more than functionality, how agile principles accelerate development, when to recommend against agile, user stories as requirements (advantages and disadvantages), test-first development understanding and difficulties, pair programming productivity, Scrum vs plan-driven management across four dimensions, development strategies for critical software, preventing customer representatives from 'going native', and remote work conflicts with agile methods

download Export
search_insights Statistics
stylus_note White Board
Quran
calculate Calculator
dictionary Dictionary
fullscreen Full Screen
QUESTION OF

volume_mute Read quiz aloud
Views #: 209
Questions #: 13
Time: 13 minutes
Pass Score: 80.0%
Style
Mode

Why Rapid Delivery Matters More Than Detailed Functionality

1 pts
volume_mute

The diagram below illustrates the relationship between a changing business environment and software delivery speed.

Changing businessenvironmentNew opportunitiesCompetitor pressureRapid deliverybecomes the mostcritical requirement(even at quality cost)Software may beoutdated beforedelivery if too slow(effectively useless)


Which of the following best explains why rapid delivery and deployment of new systems is often more important to businesses than the detailed functionality of those systems?

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Agile Principles — Which Accelerate Development and Deployment

1 pts
volume_mute

Agile methods are built on five core principles. Which of the following principles directly contribute to accelerated development and deployment of software? Select all that apply.

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


How Agile Minimises Delays from Changing Requirements

1 pts
volume_mute

One major cause of delay in conventional software development is how the process handles changing requirements. How do agile methods specifically address this to accelerate deployment?

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


When to Recommend Against Using an Agile Method

1 pts
volume_mute

Agile methods are not appropriate for every software development situation. Which of the following are valid reasons to recommend against using an agile method? Select all that apply.

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


User Stories as Requirements — Advantages and Disadvantages

1 pts
volume_mute
Statements
×Stories are understandable to customers and users without technical knowledge, making communication and prioritisation straightforward
×Stories are easy to change or discard when requirements evolve — only the relevant story card and its tasks are updated
×Stories capture scenarios the customer can relate to, making it easy to generate acceptance tests from them
×Stories are too informal and high-level to capture non-functional requirements such as performance, security, or reliability
×A single story may not capture all the dependencies and interactions between requirements, making it hard to reason about the system as a whole
×Stories can be ambiguous — without a detailed requirements document, different team members may implement the same story differently
Advantage
Disadvantage

In extreme programming, user requirements are expressed as user stories — short, scenario-based descriptions written on story cards, each capturing a specific user need. The development team then breaks each story into implementation tasks. Classify each statement as an advantage or a disadvantage of this approach to requirements description.

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


User Stories — Who Decides What Goes in a Release?

1 pts
volume_mute

In XP, once story cards have been developed and the development team has broken them into tasks and estimated the effort required, a key decision must be made about which stories to implement in the next release. Who makes this decision and on what basis?

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


How Test-First Development Improves Requirements Understanding

1 pts
volume_mute

Test-first development requires programmers to write automated tests for a piece of functionality before writing the code that implements it. How does this practice help programmers develop a better understanding of the system requirements?

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Potential Difficulties with Test-First Development

1 pts
volume_mute

Although test-first development is a powerful innovation, it faces potential difficulties in practice. Which of the following are recognised difficulties? Select all that apply.

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Why Pair Programming Productivity Can Match Two Individual Programmers

1 pts
volume_mute

You might expect that two programmers working in a pair would only produce half as much code as two programmers working independently. Which of the following reasons help explain why pair programming productivity can be comparable to — rather than half of — two people working alone? Select all that apply.

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Scrum vs Plan-driven Project Management — Four Dimensions

1 pts
volume_mute
To complete the line match
  1. Click on an item in the first group
  2. Click on an item in the second group
  3. To delete a match, double click on a line

Dimension

Planning the allocation of people to projects
Estimating the cost of projects
Maintaining team cohesion
Managing changes in project team membership

How Scrum differs

The team self-organises each sprint — the Scrum master facilitates but does not assign tasks top-down; the whole team decides how to do the work
Scrum uses time-based contracts where cost is estimated iteratively based on the evolving product backlog and sprint velocity, rather than fixed upfront from a complete specification
Daily stand-up meetings give the whole team visibility of progress, problems, and plans — everyone knows what is going on, enabling short-term replanning without top-down direction
Scrum is more vulnerable to team membership changes because it relies on implicit shared knowledge built up over sprints — new members take time to build the same understanding

The table below compares Scrum and conventional plan-driven approaches across four project management dimensions.

Dimension
Plan-driven
Scrum
Planning allocation of people
Assigned per stage
Team self-organises per sprint
Estimating project cost
Fixed contract / schedule
Time-based, evolves per backlog
Maintaining team cohesion
Roles formally assigned
Daily stand-ups, backlog visibility
Managing team membership changes
Re-plan, reassign tasks
Harder — relies on implicit knowledge


For each of the four dimensions, which statement correctly describes how Scrum differs from a conventional plan-driven approach?

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Development Strategies for Critical Software — Advantages and Disadvantages

1 pts
volume_mute
Statements
×Produces detailed documentation satisfying regulatory and certification authority requirements — essential for safety-critical systems
×Requirements gathered from engineers and regulators are likely to be stable and complete — reducing the risk of late-stage surprises
×Inflexible to requirements changes discovered during development — rework is expensive once the full specification is committed
×Allows stakeholders to interact with a working prototype and refine requirements before committing to final implementation — reduces risk of building the wrong system
×Two-phase development (prototype then final implementation) is expensive and time-consuming
×Allows experienced software engineers and users to validate functional requirements through prototyping before formal development
×Agile approach works well only when a customer can be closely involved — in a critical system with regulatory stakeholders this involvement is hard to sustain
×Informal documentation inherent in agile may be insufficient to satisfy the certification authority requirements for safety-critical software
Strategy A (plan-driven)
Strategy B (prototype then redevelop)
Strategy C (agile with on-site user)

A software manager is responsible for developing a critical software design support tool that translates software requirements into a formal software specification. The tool must meet rigorous correctness standards. Three development strategies are under consideration, as shown in the diagram below.

Strategy AGather requirementsfrom engineers &regulators → plan-drivenStrategy BBuild scripting-languageprototype → evaluate→ redevelop in JavaStrategy CDevelop in Javausing agile approachwith on-site user


Classify each advantage or disadvantage under the correct strategy.

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Preventing a Customer Representative from 'Going Native'

1 pts
volume_mute

A known risk of having a customer representative embedded closely with an agile development team is that they may 'go native' — adopting the outlook of the development team and losing sight of the needs of their user colleagues. Which of the following approaches could help prevent this problem? Select all that apply.

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation


Remote Work Policy and Agile Development — Conflicts and Solutions

1 pts
volume_mute

A company decides to close several offices and support staff to work from home to reduce costs and environmental impact. However, the company's software development teams use agile methods that rely on close team working and pair programming. Which of the following correctly identifies the difficulties this policy creates for agile development AND suggests a valid approach to address them?

note_alt Add notes
flag Flag
volume_mute

Correct Answer

Explanation