Fundamentals of Software Engineering

Chapter 12
Agile Delivery, Teamwork and Stakeholder Management

Diploma in Software Engineering
Fundamentals of Software Engineering   •   Diploma

Agile Delivery, Teamwork and Stakeholder Management

Introduction and Context

Software engineering is not only the production of source code. It is the coordinated delivery of valuable, reliable and maintainable software in an environment where requirements, technologies, risks and stakeholder expectations change. Agile delivery approaches address this environment by organising work into short feedback cycles, making progress visible and enabling teams to adapt their plans.

Agile does not mean working without planning, documentation or governance. It means planning at an appropriate level of detail, validating assumptions frequently and giving priority to outcomes rather than activity alone. Scrum, Kanban and Lean provide complementary ways to organise delivery. Their effective use depends on sound teamwork, clear communication, disciplined backlog management and honest measurement.

This chapter explains how diploma-level software professionals can apply these practices in realistic projects, including distributed and cross-functional teams.

Learning Objectives

By the end of this chapter, you should be able to:

  • explain the principles of Agile delivery and distinguish Scrum, Kanban and Lean;
  • create, refine and prioritise a product backlog;
  • plan and review iterations using clear acceptance criteria;
  • apply Kanban flow principles and work-in-progress limits;
  • select useful delivery metrics and interpret them responsibly;
  • communicate effectively with stakeholders and distributed teams;
  • manage documentation, conflict, risks and changing expectations;
  • evaluate ethical, governance and quality issues in Agile projects.

1. Agile Delivery as an Empirical Approach

Traditional predictive development attempts to define scope, schedule and cost early and then control deviations from the plan. This can work when requirements and technology are stable. Software projects, however, commonly contain uncertainty. Users may discover new needs after seeing a working product, technical risks may emerge during implementation, and market conditions may change.

Agile delivery treats development as an empirical process. Decisions are based on observation and evidence rather than assumptions alone. Three related activities support empiricism:

  1. Transparency means that work status, quality, risks and priorities are visible to relevant people.
  2. Inspection means examining the product, process and results regularly.
  3. Adaptation means changing the plan or method when inspection shows that the current approach is unsuitable.

Agile values frequent delivery of useful increments, collaboration with customers and the ability to respond to change. These values do not eliminate engineering discipline. Automated testing, version control, secure design, architecture, documentation and review remain essential.

A useful distinction is between output and outcome. Output is what the team produces, such as a completed feature. Outcome is the effect, such as reduced payment failure or faster customer registration. A team can increase output without improving outcomes if it builds low-value functionality.

2. Scrum, Kanban and Lean

Scrum

Scrum is an iterative framework in which a team works in fixed-length periods called Sprints, commonly lasting one to four weeks. Scrum defines accountabilities, events and artefacts.

The principal accountabilities are:

  • Product Owner: maximises product value, manages product priorities and clarifies desired outcomes.
  • Scrum Master: helps the team and organisation use Scrum effectively, removes impediments and supports continuous improvement.
  • Developers: build a usable product increment and are collectively responsible for the technical work.

The major artefacts are:

  • Product Backlog: an ordered list of work needed to improve the product;
  • Sprint Backlog: the selected work and plan for a Sprint;
  • Increment: the integrated, usable result produced during a Sprint.

Scrum events include Sprint Planning, the Daily Scrum, Sprint Review and Sprint Retrospective. The Review focuses on the product and stakeholder feedback. The Retrospective focuses on how the team worked and what it should improve.

Scrum is useful when a team needs a regular planning and feedback rhythm. It is less suitable when a team cannot protect a stable Sprint goal or when work arrives unpredictably, such as an operational support queue.

Kanban

Kanban is a method for improving the flow of work. Work items are represented visually on a board, for example:

Requested → Ready → In Development → Review → Testing → Done

Columns should reflect the actual workflow rather than an idealised process. A Kanban system normally includes:

  • visualisation of work;
  • explicit policies for moving items;
  • limits on work in progress (WIP);
  • active management of blocked work;
  • measurement and improvement of flow.

A WIP limit restricts the number of items allowed in a state. For example, a team may allow no more than three items in Testing. When Testing is full, developers should help complete or unblock existing work rather than start additional features.

Kanban does not require fixed iterations or prescribed roles. It is suitable for maintenance, support and product teams with variable demand. It can also be combined with Scrum practices.

Lean software delivery

Lean thinking aims to maximise customer value while reducing waste. Common forms of waste in software include:

  • partially completed work;
  • unnecessary features;
  • waiting for approvals, environments or information;
  • handoffs between specialised groups;
  • defects and rework;
  • excessive task switching;
  • delays in learning from users.

Lean principles include eliminating waste, building quality in, delivering quickly, amplifying learning, respecting people and optimising the whole system. Lean does not mean reducing quality or pressuring individuals to work faster. It means improving the system that produces value.

Comparison

AspectScrumKanbanLean
Main emphasisIterative deliveryFlow of workValue and waste reduction
Planning rhythmFixed SprintsContinuous or policy-basedDepends on the system
RolesDefined accountabilitiesNo mandatory rolesNo mandatory roles
WIP controlUsually Sprint scopeExplicit WIP limitsReduce queues and unfinished work
Best fitProduct development with regular reviewVariable or continuous demandSystem-wide improvement

These approaches are not competing belief systems. A team may use Scrum Sprints, a Kanban board and Lean waste analysis, provided that the combined process remains understandable and purposeful.

3. Backlog Management and Iteration Planning

A backlog is valuable only when it supports decisions. A long list of vague requests is not effective product management. Each important item should communicate a user or business need, expected value, acceptance conditions and relevant constraints.

A common user-story form is:

As a [type of user], I want [capability], so that [benefit].

For example: “As a customer, I want to save a delivery address so that I do not re-enter it for every order.” The format is a reminder to discuss value, not a substitute for analysis.

Refinement

Backlog refinement involves:

  1. clarifying the user problem;
  2. identifying assumptions and dependencies;
  3. splitting oversized items;
  4. adding acceptance criteria;
  5. estimating relative effort or complexity;
  6. identifying risks and non-functional requirements;
  7. ordering the item against competing priorities.

Acceptance criteria describe conditions that must be satisfied. They should be observable and testable. For an address feature, criteria might include validation of required fields, secure storage, editing capability and an appropriate error message.

The term Definition of Done describes the quality standard for an increment. It may require code review, automated tests, security checks, updated documentation, deployment to a test environment and acceptance by the relevant product representative. “Code written” is not necessarily “done”.

Prioritisation

Prioritisation balances value, urgency, risk, effort, compliance and dependencies. Techniques such as MoSCoW classification, cost of delay and relative value scoring can support discussion, but no numerical score replaces informed judgement.

An item should not be prioritised solely because a senior person requested it. The team should ask what problem it solves, who benefits, what evidence supports it and what opportunity cost it creates.

Estimation

Agile teams often use relative estimates such as story points. Story points are team-specific indicators of relative complexity, uncertainty and effort; they are not hours and should not be used to compare individuals or teams.

If historical throughput is stable, a team may use a simple forecast. For example, if a team completed 18, 21 and 24 items in three comparable iterations, the mean throughput is:

Mean throughput = (18 + 21 + 24) ÷ 3 = 21 items per iteration

This forecast assumes that the items are comparable, the team capacity is similar and the process is reasonably stable. It is not a promise. A range based on observed variation is more honest than a single guaranteed date.

4. Flow and Delivery Metrics

Metrics should help a team learn and make decisions. They should not become instruments for punishment or superficial performance competition.

Lead time is the elapsed time from a request entering the system until it is delivered. Cycle time is usually the elapsed time from active work beginning until completion. Organisations must define these terms consistently.

For a set of completed items:

Average cycle time = Σ cycle times ÷ number of completed items

The symbol Σ means that all cycle times are added. The result has the same time unit as the observations, such as days.

Throughput is the number of work items completed during a specified period. Work in progress is the number of items currently started but not finished. A commonly used flow relationship is Little’s Law:

WIP = Throughput × Average cycle time

The relationship assumes a reasonably stable system over the measurement period, with throughput measured in items per unit time and cycle time measured in the same time unit. For example, if a service completes 10 items per week and the average cycle time is 2 weeks, the average WIP is approximately 20 items. This is a system-level relationship, not a target that justifies increasing work in progress.

Other useful measures include escaped defects, deployment frequency, change failure rate, blocked time, customer satisfaction and achievement of product outcomes. A velocity chart can assist Sprint forecasting, but velocity is not a productivity score. Increasing points may reflect changed estimation, larger stories or gaming of the measure.

A cumulative flow diagram can show the number of items in each workflow state over time. Expanding bands indicate growing queues; a widening Testing band may indicate insufficient test capacity or poor quality upstream.

5. Teamwork and Professional Communication

Agile teams are usually cross-functional. They combine skills such as programming, testing, analysis, design, operations, security and domain knowledge. Cross-functionality reduces handoffs, but it does not mean that every person can perform every task.

Effective teams establish working agreements covering:

  • communication channels and response expectations;
  • meeting participation and time zones;
  • code review standards;
  • decision-making authority;
  • escalation of impediments;
  • respectful behaviour and psychological safety;
  • documentation conventions.

The Daily Scrum should be a short planning conversation among Developers. It should address progress toward the Sprint goal, upcoming work and impediments. It is not intended to be a status interrogation by a manager.

Distributed teams

Distributed work requires deliberate information design. Important decisions should be recorded in an accessible repository rather than left in private messages or meetings. Teams should use asynchronous communication where possible and reserve synchronous meetings for coordination, complex discussion and relationship building.

Useful practices include:

  • maintaining a visible board and decision log;
  • recording meeting outcomes, owners and due dates;
  • documenting time-zone assumptions;
  • rotating inconvenient meeting times;
  • using written acceptance criteria;
  • maintaining a shared glossary;
  • ensuring that remote participants can contribute equally.

Communication should be clear about facts, assumptions, decisions and unresolved questions. A useful status report states what changed, what is at risk, what evidence supports the assessment and what decision is needed.

Conflict management

Conflict can concern tasks, processes, relationships or scarce resources. Task disagreement can improve design when handled respectfully. Personal attacks and exclusion damage safety and performance.

A practical response is to:

  1. describe the observable issue rather than assigning blame;
  2. allow each person to explain their reasoning;
  3. identify the shared objective;
  4. compare alternatives using agreed criteria;
  5. make the decision and record its rationale;
  6. escalate when authority, safety or conduct requires it.

Leaders should not suppress all disagreement. They should distinguish constructive technical debate from harmful behaviour.

6. Stakeholder Management

Stakeholders include users, customers, sponsors, managers, regulators, operations staff, security specialists and other teams affected by the product. Their interests, influence and technical knowledge differ.

Stakeholder management begins with identification and analysis. A stakeholder map can classify people by interest and influence, but the classification must remain flexible. A regulator with limited day-to-day involvement may still have high authority over compliance decisions.

Stakeholder engagement includes:

  • discovering needs and constraints;
  • agreeing product goals and success measures;
  • demonstrating increments;
  • communicating risks and trade-offs;
  • managing changes transparently;
  • confirming acceptance and operational readiness.

Expectation management is not merely reporting progress. It involves explaining uncertainty. Instead of saying “the feature will definitely be ready on Friday”, a responsible team may state: “The highest-probability forecast is Friday based on current throughput; payment-provider integration remains a risk and will be reviewed on Wednesday.”

A change request should be assessed for value, cost, risk, dependencies, compliance and effect on existing commitments. Agile welcomes change, but not every change should be accepted immediately. An ordered backlog provides a controlled way to respond without secretly expanding scope.

7. Documentation, Quality and Governance

Agile documentation is purposeful documentation. The correct question is not whether documentation exists, but whether it enables users, maintainers, auditors and future team members to understand and operate the system.

Useful documentation may include:

  • product vision and goals;
  • architecture decisions and trade-offs;
  • API contracts;
  • data models and security assumptions;
  • operational runbooks;
  • test strategy and results;
  • release notes;
  • decision and risk logs;
  • user and support documentation.

Documentation should be maintained as part of the workflow. If it is postponed indefinitely, it becomes inaccurate and expensive to reconstruct.

Governance requires traceability where appropriate. A regulated product may need evidence linking requirements, implementation, tests, approvals and releases. Agile delivery can support this through version control, automated pipelines, review records and auditable backlog items.

Quality must be built into each increment. Practices include continuous integration, automated testing, peer review, static analysis, secure coding, accessibility testing, performance testing and controlled deployment. A fast process that repeatedly creates defects is not Agile in any meaningful professional sense.

8. Ethical and Responsible Agile Practice

Agile teams influence users and society through the software they release. Ethical issues include privacy, accessibility, discrimination, security, manipulation and unequal access.

Teams should collect only necessary personal data, protect it appropriately and communicate its use clearly. Product experiments should not exploit vulnerable users. Automated decision systems require attention to bias, explainability and appeal mechanisms. Accessibility should be considered during design and acceptance, not added only after complaints.

Managers should avoid harmful metrics. Comparing individual velocity, counting hours online or rewarding the number of closed tickets can encourage gaming, concealment of problems and unhealthy work patterns. Sustainable pace is a delivery concern because exhaustion increases defects, turnover and safety risks.

Artificial intelligence tools can assist with code suggestions, test generation, documentation and backlog analysis. However, generated output may contain defects, insecure patterns, licensing concerns or fabricated explanations. Human review, testing, privacy controls and organisational policy remain necessary. Sensitive source code or personal data should not be entered into an AI service without authorisation.

9. Illustrative Case: Community Health Appointment Platform

Background

A small software team is developing an appointment platform for community clinics. Patients should search for available times, book appointments and receive reminders. The team includes a Product Owner, Scrum Master, four Developers, a tester and a part-time security adviser. Two members work in another time zone.

Problem

After two Sprints, the team has completed many interface stories, but patients still cannot complete a booking. Testing has become a queue, requirements are discussed in private messages and the clinic sponsor expects a public pilot within six weeks. A new request to support multiple languages has also arrived.

Analysis

The team’s output is not producing the required outcome. Work is being started faster than it is finished, and testing is a bottleneck. The backlog contains technical tasks and features without clear acceptance criteria. Distributed members miss decisions made in meetings. The sponsor has received optimistic progress reports without an explicit risk forecast.

Approach

The team takes the following actions:

  1. defines a product goal: enable a patient to find and successfully book a suitable appointment;
  2. maps the workflow from discovery to booking confirmation;
  3. introduces a Kanban-style WIP limit of two items in testing;
  4. stops starting new interface work until booking defects are resolved;
  5. rewrites the top backlog items with acceptance criteria, including accessibility and privacy conditions;
  6. demonstrates a complete booking slice at the next Sprint Review;
  7. records decisions in a shared decision log;
  8. gives the sponsor a forecast range and identifies the payment and clinic-schedule integrations as risks;
  9. assesses multilingual support with clinic staff and prioritises languages according to patient need and legal requirements;
  10. adds automated tests for appointment availability and double booking.

Outcome

Within the next iteration, fewer items are started, the testing queue decreases and the team demonstrates a complete booking journey. The public pilot is narrowed to two clinics rather than all clinics. This reduces operational risk while generating real user feedback. Multilingual support remains in the ordered backlog with a documented rationale rather than being silently rejected.

Learning points

The case illustrates that Agile is not a race to close tasks. Value requires a coherent product goal, manageable flow, quality built into delivery and transparent stakeholder decisions. WIP limits, backlog refinement and honest forecasting address different aspects of the same delivery problem.

10. Best Practices and Common Failure Modes

Effective practice includes maintaining one visible source of priority, keeping work items small enough to learn from, finishing before starting, integrating code frequently, testing continuously and reviewing outcomes with real stakeholders.

Common failure modes include:

  • using daily meetings as manager-led status reporting;
  • treating story points as individual productivity measures;
  • calling incomplete work “done”;
  • creating a board that does not represent the real workflow;
  • allowing unlimited WIP;
  • replacing collaboration with excessive tools;
  • hiding risks to appear on schedule;
  • inviting stakeholders only at the final acceptance stage;
  • adopting Agile terminology without changing decision behaviour;
  • ignoring security, accessibility and operational work.

A framework is successful when it improves learning, quality, value and sustainable delivery—not when every ceremony is performed mechanically.

Chapter Summary

Agile delivery manages uncertainty through short feedback cycles, visible work and adaptation based on evidence. Scrum provides iterative Sprints, defined accountabilities and regular inspection events. Kanban improves flow through visualisation, explicit policies and WIP limits. Lean focuses on customer value, waste reduction, built-in quality and respect for people.

Backlog management requires clear user needs, acceptance criteria, prioritisation and a shared Definition of Done. Metrics such as throughput, cycle time, WIP, defects and customer outcomes are useful only when definitions and assumptions are clear. Little’s Law relates average WIP, throughput and cycle time in a stable system, but it is not a justification for increasing WIP.

Successful Agile delivery also depends on cross-functional teamwork, distributed-work practices, constructive conflict management, purposeful documentation and transparent stakeholder communication. Ethical practice requires attention to privacy, accessibility, security, sustainable pace and responsible use of AI. The central professional principle is to deliver valuable, usable and trustworthy software while learning continuously.

Key Terms

Agile delivery: An approach that delivers software incrementally and adapts using feedback.

Backlog: An ordered collection of work items for a product or service.

Cycle time: Elapsed time from the agreed start of active work to completion.

Definition of Done: Shared criteria that determine whether an increment is complete and usable.

Empiricism: Decision-making based on transparency, inspection and adaptation.

Increment: A usable, integrated improvement to a product.

Kanban: A method for managing and improving the flow of work.

Lead time: Elapsed time from a request entering a system until delivery.

Lean: A management approach focused on value, learning, quality and waste reduction.

Product Backlog: The ordered work list for improving a product.

Product Owner: The Scrum accountability responsible for maximising product value and ordering the backlog.

Psychological safety: A team condition in which people can raise ideas, concerns and mistakes without fear of humiliation or retaliation.

Scrum: An iterative framework using Sprints, defined accountabilities, events and artefacts.

Sprint: A fixed-length period in Scrum during which an increment is created.

Stakeholder: A person or group that affects, uses or is affected by the product.

Throughput: The number of work items completed in a specified period.

User story: A concise description of a capability from a user’s perspective and its intended benefit.

Work in progress (WIP): Work that has been started but not completed.

WIP limit: A constraint on the number of items allowed in a workflow state.

Review Questions

Short Answer Questions

  1. What are the three elements of empiricism in Agile delivery?
  2. State two differences between Scrum and Kanban.
  3. Why is a Definition of Done important?
  4. What does a WIP limit control?
  5. Give two examples of purposeful software documentation.

Long Answer Questions

  1. Explain how Scrum, Kanban and Lean can be combined without losing the purpose of each approach.
  2. Describe a complete backlog-refinement process, including acceptance criteria and non-functional requirements.
  3. Explain how distributed teams can maintain transparency and effective communication.
  4. Discuss why velocity and throughput should not be used as simple individual productivity measures.
  5. Explain the role of stakeholder management in controlling changing expectations and delivery risk.

Analytical / Application Questions

  1. A team has many completed coding tasks but a growing testing queue. Analyse the likely causes and propose actions using flow and Lean principles.
  2. A sponsor demands an additional major feature during a Sprint. Explain how the team should assess and communicate the change.
  3. Design a delivery approach for a software support team whose work arrives unpredictably. Justify whether Scrum, Kanban, Lean or a combination is most appropriate.

Multiple Choice Questions with Answers

Question 1

Which Scrum accountability is primarily responsible for maximising product value and ordering the Product Backlog?

A. Scrum Master

B. Product Owner

C. Developers

D. Release Auditor

Correct Answer: B. Product Owner

Question 2

What is the main purpose of a Kanban WIP limit?

A. To increase the number of simultaneous tasks

B. To prevent all stakeholder communication

C. To control unfinished work and improve flow

D. To replace acceptance criteria

Correct Answer: C. To control unfinished work and improve flow

Question 3

Which statement best describes the Definition of Done?

A. A list of people attending the Daily Scrum

B. Shared criteria for considering work complete and usable

C. A forecast of annual project expenditure

D. A ranking of individual developer performance

Correct Answer: B. Shared criteria for considering work complete and usable

Question 4

A team completes 12 items per week and has an average cycle time of 2 weeks in a stable system. Using Little’s Law, what is the approximate average WIP?

A. 6 items

B. 10 items

C. 14 items

D. 24 items

Correct Answer: D. 24 items

Question 5

What is the primary focus of a Sprint Review?

A. Inspecting the product increment and obtaining stakeholder feedback

B. Assigning blame for unfinished tasks

C. Estimating every future requirement in detail

D. Evaluating individual salaries

Correct Answer: A. Inspecting the product increment and obtaining stakeholder feedback

Question 6

Which practice best supports effective distributed teamwork?

A. Keeping important decisions in private messages

B. Using a shared decision log and visible work board

C. Holding all meetings at one person’s preferred time

D. Avoiding written acceptance criteria

Correct Answer: B. Using a shared decision log and visible work board

Question 7

Which is an example of software waste in Lean thinking?

A. Automated regression testing

B. A validated product increment

C. Partially completed work that remains unused

D. A documented architecture decision

Correct Answer: C. Partially completed work that remains unused

Question 8

Why should story points not be used to compare individual developers?

A. They measure relative team complexity and uncertainty, not personal productivity

B. They are always measured in minutes

C. They can only be used by stakeholders

D. They are identical to defect counts

Correct Answer: A. They measure relative team complexity and uncertainty, not personal productivity

Question 9

A backlog item has vague requirements and no testable conditions. What should happen during refinement?

A. It should be released immediately

B. It should be clarified with acceptance criteria before selection

C. It should be assigned to every team member

D. It should be removed from all records

Correct Answer: B. It should be clarified with acceptance criteria before selection

Question 10

Which response best reflects responsible stakeholder expectation management?

A. Guaranteeing a date despite known integration risks

B. Hiding uncertainty until the final demonstration

C. Providing an evidence-based forecast, risks and decision points

D. Accepting every requested change immediately

Correct Answer: C. Providing an evidence-based forecast, risks and decision points

Fundamentals of Software Engineering
Chapter 12 of 15