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.
- 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.
- Requirements change often because business needs and technology move faster than a long project, so a method must accept change rather than resist it.
- Agile delivers working software in short iterations of one to four weeks, which shortens time to market and gives early return on investment.
- Significance: continuous customer collaboration keeps the product aligned with real needs, and iterative delivery exposes defects and risks early.
- Quality improves through frequent testing, working software as the measure of progress, and regular retrospectives.
- Agile system development is a family of methods sharing these values: Scrum, XP, DSDM, FDD, Crystal and Kanban.
- 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.
- The working principle of agile is to build the product iteratively and incrementally, taking customer feedback after every iteration.
- The right-hand items in the four values still matter, but the left-hand items are valued more.
- 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.
- 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.
- The Product Owner represents the business, owns and prioritises the backlog, and is available daily to answer questions.
- Business involvement is managed through sprint reviews, demos and backlog refinement, where stakeholders give feedback and reprioritise.
- Team motivation comes from self-organisation, empowerment to decide how to work, a sustainable pace and visible progress.
- 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.
- Roles are Product Owner, Scrum Master and Development Team.
- Artifacts are the product backlog, sprint backlog and increment.
- Events are sprint planning, daily scrum, sprint review and retrospective.
- 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.
- Core practices are pair programming, test-driven development, continuous integration, refactoring and small releases.
- It uses user stories and a planning game for requirements.
- 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.
- It has five processes: develop an overall model, build a feature list, plan by feature, design by feature and build by feature.
- Features are small enough to finish in two weeks or less.
- 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.
- Colours (Clear, Yellow, Orange, Red) mark growing team size and criticality.
- It stresses people, communication, frequent delivery and reflective improvement over heavy process.
- 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.
- The board has columns such as To Do, In Progress and Done, with a card for each task.
- A WIP limit caps items per column, exposing bottlenecks.
- 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.
- 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.
- Waste includes unused features, delays, extra process and defects.
- 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.