Skip to content
CS-703 (C) · Agile Software Development/Quick Revision Short Notes

Agile Software Development (CS-703 (C)) - Unit 1 Short Notes

How unit 1 is examined

This unit covers why agile exists, the Manifesto, stakeholders, the main agile models and lean; the marks sit in the need for agile (medium) and the Manifesto, stakeholders and lean (low, 7 marks each).

Introduction and background

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Medium weight</span>

Definition. <mark>Agile software development is an iterative and incremental approach in which self-organising teams deliver small working increments quickly, welcome changing requirements and collaborate closely with the customer.</mark>

Key points.

  1. Traditional plan-driven methods such as Waterfall fix requirements up front, so a change late in the project is costly and the customer sees the product only at the end.
  2. Requirements change often because business needs and technology move faster than a long project, so a method must accept change rather than resist it.
  3. Agile delivers working software in short iterations of one to four weeks, which shortens time to market and gives early return on investment.
  4. Significance: continuous customer collaboration keeps the product aligned with real needs, and iterative delivery exposes defects and risks early.
  5. Quality improves through frequent testing, working software as the measure of progress, and regular retrospectives.
  6. Agile system development is a family of methods sharing these values: Scrum, XP, DSDM, FDD, Crystal and Kanban.
  7. Use agile when requirements are unclear or volatile and the customer can be involved; prefer plan-driven methods for fixed, safety-critical work.

Answer frame. Open with the definition; list the limits of Waterfall first, then the need points 2-3, then significance points 4-5; for the short note, name the methods in point 6 with one characteristic each and close with point 7.

Asked: [7 marks] (Dec 2020) What is the need for agile methods? State its significance. Asked: [7 marks] (Dec 2020) Write short notes on Agile System Development and Methods.

Agile Manifesto and Principles

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Low weight</span>

Definition. <mark>The Agile Manifesto (2001) values individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan.</mark>

Key points.

  1. The working principle of agile is to build the product iteratively and incrementally, taking customer feedback after every iteration.
  2. The right-hand items in the four values still matter, but the left-hand items are valued more.
  3. The twelve principles include satisfying the customer through early continuous delivery, welcoming change, delivering frequently, daily business-developer cooperation, sustainable pace, simplicity and regular reflection.
  4. The value delivered is faster return on investment, adaptability to change and higher quality.

Asked: [7 marks] (Dec 2020) What is the working principle of Agile? What value is provided by Agile? Discuss.

Stakeholders and Challenges

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Low weight</span>

Definition. Stakeholders are all people affected by or influencing the project: customers, users, the Product Owner, the team, managers and sponsors.

Key points.

  1. The Product Owner represents the business, owns and prioritises the backlog, and is available daily to answer questions.
  2. Business involvement is managed through sprint reviews, demos and backlog refinement, where stakeholders give feedback and reprioritise.
  3. Team motivation comes from self-organisation, empowerment to decide how to work, a sustainable pace and visible progress.
  4. Challenges include unavailable customers, scope creep, cultural resistance, weak documentation and scaling to large or distributed teams.

Asked: [7 marks] (Dec 2020) How business involvement and team motivation are managed in Agile product management?

Overview of Agile Development Models: Scrum

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Scrum is an agile framework that delivers work in fixed timeboxed sprints of one to four weeks.</mark>

Key points.

  1. Roles are Product Owner, Scrum Master and Development Team.
  2. Artifacts are the product backlog, sprint backlog and increment.
  3. Events are sprint planning, daily scrum, sprint review and retrospective.
  4. Each sprint ends with a potentially shippable increment.

Extreme Programming

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Extreme Programming (XP) is an agile method that raises engineering practices to extreme levels to deliver quality software under changing requirements.</mark>

Key points.

  1. Core practices are pair programming, test-driven development, continuous integration, refactoring and small releases.
  2. It uses user stories and a planning game for requirements.
  3. Its values are communication, simplicity, feedback, courage and respect.

Feature Driven Development

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Feature Driven Development (FDD) is an iterative agile method that plans and builds a system feature by feature, each feature being a small client-valued function.</mark>

Key points.

  1. It has five processes: develop an overall model, build a feature list, plan by feature, design by feature and build by feature.
  2. Features are small enough to finish in two weeks or less.
  3. Chief programmer and class owner roles give clear ownership and suit larger teams.

Crystal

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Crystal is a family of lightweight agile methods, by Alistair Cockburn, that are chosen by team size and project criticality.</mark>

Key points.

  1. Colours (Clear, Yellow, Orange, Red) mark growing team size and criticality.
  2. It stresses people, communication, frequent delivery and reflective improvement over heavy process.
  3. Crystal Clear suits small teams of up to about six.

Kanban

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Kanban is a lean method that visualises work on a board and limits work in progress (WIP) to give smooth flow.</mark>

Key points.

  1. The board has columns such as To Do, In Progress and Done, with a card for each task.
  2. A WIP limit caps items per column, exposing bottlenecks.
  3. It has no fixed iterations; work is pulled continuously as capacity frees up.

Lean Software Development

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Low weight</span>

Definition. <mark>Lean development applies lean manufacturing ideas, originating from the Toyota Production System, to software: deliver maximum value with minimum waste.</mark>

Key points.

  1. The seven principles are eliminate waste, amplify learning, decide as late as possible, deliver as fast as possible, empower the team, build integrity in and see the whole.
  2. Waste includes unused features, delays, extra process and defects.
  3. It works by mapping the value stream, keeping work flowing in small batches and pulling work only when capacity exists.

Asked: [7 marks] (Dec 2020) What is meant by lean approach? How does it work?

Last-minute revision

  • Agile = iterative, incremental delivery with customer collaboration and welcome to change.
  • Manifesto (2001) has 4 values and 12 principles.
  • The four values: individuals over process, working software over documentation, customer collaboration over contracts, responding to change over plan.
  • Product Owner owns the backlog and represents the business.
  • Scrum: sprint 1-4 weeks; roles PO, Scrum Master, Team.
  • XP practices: pair programming, TDD, continuous integration, refactoring.
  • FDD has five processes and works feature by feature.
  • Crystal is chosen by team size and criticality.
  • Kanban limits WIP and pulls work.
  • Lean has seven principles; the first is eliminate waste.

Memory hooks

  • Manifesto values: "Peoples, Products, Partners, Pivots" (people, working software, customers, change).
  • Scrum events: PRDR (Planning, Review, Daily, Retrospective).
  • FDD five steps: Model, List, Plan, Design, Build.
  • Kanban = board plus WIP limit; Lean = kill waste.

Coverage checklist

  • Introduction and background: need and significance of agile; short notes on agile methods.
  • Agile Manifesto and Principles: working principle and value of agile.
  • Stakeholders and Challenges: business involvement and team motivation.
  • Overview of Agile Development Models: Scrum: definition, roles, artifacts, events.
  • Extreme Programming: practices and values.
  • Feature Driven Development: five processes.
  • Crystal: family and colours.
  • Kanban: board and WIP limits.
  • Lean Software Development: lean approach and how it works.
Go to where you left off?

Quick Add to Notes

Save questions, your own notes and screenshots into notes filed by unit. It takes a free account.

Create free account

Have an account? Log in