Agile & Scrum Methodologies

Chapter 2
Agile Frameworks and Selection

Bachelors Program in Full Stack Development
Agile & Scrum Methodologies   •   Bachelor

Agile Frameworks and Selection

Introduction and Context

Agile is not one method but a family of approaches for developing and delivering products under conditions of uncertainty. Agile frameworks differ in how they structure work, represent progress, control flow, support technical excellence, and involve customers. Selecting a framework is therefore a design decision rather than a matter of adopting a fashionable label.

For a full-stack development team, the choice affects requirements discovery, interface design, frontend and backend integration, testing, deployment, operations, and stakeholder feedback. Scrum may provide a useful planning cadence, Kanban may improve flow, Extreme Programming (XP) may strengthen engineering discipline, and Lean may help remove waste. A hybrid approach can combine these advantages, but it can also create contradictory rules and unnecessary process complexity.

This chapter compares Scrum, Kanban, XP, Lean Software Development, and hybrid approaches. It also provides criteria for selecting and tailoring a framework to a specific organizational context.

Learning Objectives

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

  1. Explain the assumptions and operating principles of major Agile frameworks.
  2. Compare Scrum, Kanban, XP, Lean Software Development, and hybrid approaches.
  3. Evaluate framework strengths, limitations, risks, and contextual suitability.
  4. Apply flow metrics, including Little’s Law, without confusing cycle-time and lead-time boundaries.
  5. Select and tailor an approach for a software product using explicit decision criteria.
  6. Recognize governance, ethical, technical, and organizational implications of framework selection.

1. What Is an Agile Framework?

An Agile framework is a structured set of roles, events, practices, policies, and principles intended to guide product development. A framework is not identical to a process manual. It provides constraints and feedback mechanisms while leaving room for local adaptation.

Frameworks differ along several dimensions:

  • Planning horizon: fixed iterations, continuous replenishment, or a mixture.
  • Work authorization: sprint commitment, pull policies, or customer-prioritized queues.
  • Progress model: completed increments, flow through a system, or technical feedback.
  • Decision authority: centralized product ownership, team self-management, or shared governance.
  • Primary optimization target: product learning, throughput, quality, speed, or waste reduction.
  • Technical emphasis: explicit engineering practices, general delivery rules, or operational flow.

A framework should not be selected solely because another organization uses it. The relevant question is: Which set of policies best supports valuable, sustainable, and high-quality delivery in this context?

2. Foundations for Comparison

2.1 Empirical process control

Many Agile approaches assume that the environment cannot be fully predicted in advance. Instead of attempting to specify every detail at the beginning, teams inspect actual results and adapt their plans. This requires:

  • transparency of work and quality;
  • inspection at suitable intervals; and
  • adaptation when evidence shows that the current approach is inadequate.

Empirical control does not mean unplanned work. It means that plans are treated as hypotheses and revised using evidence.

2.2 Product development as a flow system

Software work moves through states such as requested, analyzed, designed, implemented, tested, reviewed, deployed, and validated. Delays often arise not from coding itself but from queues, handoffs, dependencies, rework, and excessive work in progress (WIP).

A useful quantitative relationship is Little’s Law:

L = λW

Here, L is the average number of items in a stable system, λ is the average throughput rate in items per unit of time, and W is the average time an item spends inside the same system boundary. The relationship assumes a stable long-run system in which average arrival and departure rates are equal and the averages are meaningful.

The boundary must be consistent. If L counts items that have entered implementation, then W is the average cycle time from implementation start to completion, not necessarily customer lead time from request to delivery. To estimate lead time, L must include all items in the lead-time system, including authorized or queued work, and W must begin at the corresponding authorization or request event.

Worked application: cycle time and lead time

Suppose a team has, on average, 6 features in the implementation-to-release system and releases 2 features per week. With matching boundaries:

W = L ÷ λ = 6 features ÷ 2 features/week = 3 weeks

The result is an average cycle time of 3 weeks from implementation start to release.

Now suppose the wider request-to-release system contains 10 authorized features, including items waiting in a queue, while the same throughput is 2 features per week:

W = 10 features ÷ 2 features/week = 5 weeks

This estimates average lead time from authorization into the wider system to release, provided that the system is stable and the count includes every authorized item not yet released. The two calculations are not contradictory: they describe different boundaries.

3. Scrum

Scrum is an iterative framework organized around timeboxed Sprints, a Product Backlog, a usable Increment, and defined accountabilities. Its current framework description identifies three accountabilities: Product Owner, Scrum Master, and Developers. The Scrum Team works toward a Product Goal, while each Sprint has a Sprint Goal and produces an Increment that meets the Definition of Done.

3.1 Operating model

The Product Owner is accountable for maximizing product value and ordering the Product Backlog. Developers create the usable Increment and decide how to accomplish the work. The Scrum Master helps establish Scrum, improve team effectiveness, and remove impediments.

Typical events include Sprint Planning, the Daily Scrum, Sprint Review, and Sprint Retrospective. These events create regular opportunities to plan, inspect the product with stakeholders, inspect progress, and improve the way of working.

3.2 Assumptions

Scrum is particularly compatible with the following assumptions:

  • product priorities can be ordered and revisited at regular intervals;
  • a cross-functional team can produce a valuable increment within a Sprint;
  • stakeholders can inspect results and provide useful feedback;
  • the team can work toward a short-term goal without constant reprioritization;
  • the organization can protect the team from uncontrolled interruption.

Scrum does not assume that requirements are known completely in advance. It does assume that a Sprint provides a sufficiently stable focus for empirical learning.

3.3 Strengths

Scrum provides visible accountability, a regular feedback rhythm, and a clear mechanism for product inspection. Sprint Reviews connect development to stakeholders, while Retrospectives make process improvement explicit. The Sprint Goal can protect a coherent objective even when the detailed plan changes.

Scrum is often useful for new products, uncertain requirements, and teams that need a simple structure for learning how to work together.

3.4 Limitations and failure modes

Scrum can be misapplied when Sprints become mini-waterfall phases, velocity becomes a target, or the Product Owner becomes a ticket administrator. Teams may also accumulate unfinished work at Sprint boundaries or treat the Sprint Backlog as a fixed contract rather than a plan that can be renegotiated while preserving the Sprint Goal.

Scrum is less convenient when work arrives unpredictably, urgent operational incidents dominate, or individual items must be released continuously. These conditions may require strong flow practices or a complementary service-management policy.

4. Kanban

Kanban is a flow-management method based on visualizing work, limiting WIP, managing flow, making policies explicit, implementing feedback loops, and improving collaboratively. Unlike Scrum, Kanban does not require fixed-length iterations, specific roles, or a particular event structure.

4.1 Operating model

A Kanban system represents work on a board whose columns correspond to workflow states. A pull policy permits new work to enter a state when capacity is available. WIP limits constrain the number of items in selected states. Policies define entry and exit criteria, service classes, and handling of blocked work.

A simple board might include:

Ready → Development → Code Review → Testing → Done

The board is not merely a reporting display. It is an operational model of the system. If the Testing column reaches its WIP limit, developers should help restore flow rather than continue starting more development work.

4.2 Metrics

Important Kanban measures include throughput, cycle time, work-item age, WIP, and the distribution of lead times. A cumulative flow diagram can reveal growing queues and bottlenecks. Percentiles are often more informative than averages because software delivery times are commonly skewed.

For example, reporting that the 85th-percentile lead time is 12 days communicates a service expectation more usefully than reporting only an average of 7 days. However, a percentile is not a guarantee unless the organization explicitly defines and governs it as a service-level expectation.

4.3 Strengths and limitations

Kanban supports continuous delivery, variable arrival rates, maintenance work, and teams that cannot easily protect fixed iterations. It makes bottlenecks and excessive WIP visible and can be introduced incrementally.

Its flexibility can also become a weakness. Without explicit policies, prioritization, replenishment discipline, and regular improvement, a Kanban board may become a passive task list. WIP limits that are too high fail to reduce multitasking; limits that are too low can starve dependent activities. Kanban also provides fewer predefined role expectations than Scrum, so organizations must deliberately establish decision rights.

5. Extreme Programming

Extreme Programming is an Agile development approach that places unusually strong emphasis on technical practices, rapid feedback, simplicity, and close customer collaboration. XP practices include small releases, test-driven development (TDD), pair programming or other collaborative programming, continuous integration, refactoring, collective code ownership, sustainable pace, and a whole-team approach.

5.1 Technical feedback loops

In TDD, a developer first expresses a small behavior as an automated test, writes the minimum implementation needed to make it pass, and then refactors while preserving the tests. TDD is not a substitute for system testing, security analysis, exploratory testing, or user validation; it is a design and feedback practice operating at a particular level.

Continuous integration reduces the time between changes and integration. Automated builds and tests provide rapid evidence that the integrated system still satisfies selected technical expectations. Refactoring improves internal structure without intentionally changing externally observable behavior.

5.2 Assumptions and strengths

XP assumes that software quality improves when feedback is frequent and change is inexpensive. It is well suited to teams facing evolving requirements, complex code, and a need for frequent releases. Its practices can reduce late integration risk and make technical debt more visible.

XP also treats human sustainability as an engineering concern. Sustainable pace rejects the assumption that repeated overtime is a reliable productivity strategy.

5.3 Limitations

XP practices require skill, automation, trust, and organizational support. Pairing may be resisted if it is interpreted as surveillance or if work is measured only by individual output. Automated tests can give false confidence when they omit accessibility, performance, security, or real-user behavior. XP also does not by itself define a complete product-governance model, funding model, or portfolio prioritization system.

6. Lean Software Development

Lean Software Development adapts ideas associated with lean production to software while recognizing that software is knowledge work rather than physical manufacturing. Common principles include eliminating waste, building quality in, creating knowledge, deferring commitment until information improves, delivering quickly, respecting people, and optimizing the whole system.

6.1 Waste and value

Potential waste includes partially completed work, extra features, waiting, unnecessary handoffs, defects, task switching, excessive specifications, and unused knowledge. Waste must be analyzed carefully: documentation, controls, or meetings are not automatically waste. Their value depends on whether they reduce risk, support compliance, preserve knowledge, or enable coordination.

6.2 Systems thinking

Local efficiency can damage overall performance. For example, maximizing developer utilization may increase the queue before testing and lengthen total delivery time. Lean therefore asks how the whole value stream performs, not merely how busy each specialist appears.

6.3 Strengths and limitations

Lean helps organizations identify queues, handoffs, rework, and policy constraints. It is useful for value-stream mapping, reducing batch size, improving quality at the source, and making decisions with delayed commitment where appropriate.

Lean principles can become vague slogans if they are not connected to observable policies and measures. “Eliminate waste” can also be misused to remove necessary engineering work, user research, security controls, or learning activities. A lean intervention must distinguish non-value-adding delay from work that creates reliability, knowledge, or compliance value.

7. Hybrid Approaches

A hybrid approach combines elements from two or more frameworks. Common examples include Scrum with XP engineering practices, Scrum with Kanban flow metrics, or a product-development model using Scrum while an operations team uses Kanban.

7.1 Legitimate reasons to hybridize

Hybridization can be appropriate when:

  • Scrum provides useful product-planning events but Kanban is needed for unplanned support work;
  • XP practices are needed to make Scrum increments genuinely releasable;
  • regulatory governance requires additional traceability;
  • different work types have materially different flow characteristics;
  • the organization is transitioning gradually from a predictive process.

7.2 Risks of hybridization

A hybrid becomes problematic when it combines incompatible assumptions without clarifying which policy has priority. For example, declaring both a fixed Sprint commitment and unrestricted urgent insertion can undermine both focus and predictability. Similarly, assigning story points, measuring velocity, and simultaneously treating continuous flow as the primary control model may create metric confusion.

A sound hybrid states:

  1. the purpose of each practice;
  2. the system boundary to which each measure applies;
  3. decision rights and escalation rules;
  4. how urgent work is admitted;
  5. how quality and completion are defined; and
  6. how the approach will be inspected and adapted.

8. Comparative Evaluation

DimensionScrumKanbanXPLeanHybrid
Primary structureTimeboxed iterationsContinuous flowEngineering feedbackValue-stream optimizationExplicit combination
Main controlSprint Goal and backlogWIP limits and pullAutomated technical feedbackWaste and system analysisAgreed integrated policies
Best fitProduct discovery and iterative deliveryVariable demand and continuous workQuality-critical, changing codebasesCross-functional flow improvementMixed constraints
Typical riskRitualism or velocity gamingPassive board or weak policiesPractice cost and skill dependenceVague slogans or local optimizationContradictory rules
Required disciplineProduct ownership and reviewVisualization and flow measurementAutomation and technical skillSystems thinkingClear integration design

No framework is universally superior. Selection should consider demand variability, regulatory obligations, product uncertainty, technical maturity, team autonomy, deployment capability, stakeholder availability, and the cost of delay.

9. A Framework-Selection Method

A practical selection process can use the following sequence.

Step 1: Characterize the work

Determine whether work is primarily new product development, enhancement, maintenance, incident response, platform engineering, or research. Identify arrival patterns, dependencies, batch sizes, and interruption frequency.

Step 2: Identify the dominant uncertainty

Requirement uncertainty favors short feedback cycles and close stakeholder involvement. Technical uncertainty favors experiments, XP practices, and automated feedback. Demand uncertainty favors pull-based flow and explicit service classes. Compliance uncertainty requires traceability and evidence without assuming that documentation alone creates quality.

Step 3: Assess organizational constraints

Examine team size, skills, architecture, release pipeline, procurement rules, governance, funding, and stakeholder access. A framework that requires autonomous cross-functional teams cannot be implemented fully where decisions remain distributed across inaccessible departments.

Step 4: Select outcome measures

Measures should reflect outcomes rather than encourage local gaming. Useful measures may include escaped defects, deployment frequency, change failure rate, recovery time, lead-time distribution, customer outcomes, and team sustainability. No single metric captures value or productivity.

Step 5: Run a bounded experiment

Adopt a minimum viable set of policies for a defined period. Establish a baseline, document assumptions, review evidence, and change the system deliberately. Framework selection is itself an empirical process.

10. Illustrative Case: A University Learning Platform

Background

A fictional university is developing a full-stack learning platform with a web frontend, mobile-responsive services, identity integration, assessment tools, and analytics. The product team contains eight developers, a designer, a tester, a product representative, and a part-time security adviser.

Problem

The team began with two-week Scrum Sprints. New feature work was planned effectively, but urgent accessibility defects and production incidents regularly interrupted Sprints. Testing accumulated near Sprint end, deployment occurred monthly, and stakeholders saw partially complete features. Developers also reported that integration problems were discovered too late.

Analysis

The team has two different demand systems: planned product development and unpredictable operational work. A single commitment model does not serve both equally well. The codebase also needs stronger technical feedback because frontend, backend, and identity changes frequently interact.

Approach

The team adopts a deliberate hybrid:

  • Scrum Product Backlog ordering, Sprint Goals, Reviews, and Retrospectives remain for product development.
  • A small Kanban expedite lane is created for severe incidents and legally required accessibility corrections, with an explicit WIP limit of one.
  • XP practices are strengthened through continuous integration, automated unit and API tests, pair review for high-risk changes, and regular refactoring.
  • A Definition of Done requires security checks, accessibility checks appropriate to the change, automated tests, code review, and deployment readiness.
  • Flow metrics distinguish request-to-release lead time from implementation-to-release cycle time.

Outcome

After three months, the team reports fewer late integration failures and more frequent releases. Sprint Reviews focus on usable outcomes rather than demonstrations of incomplete work. The expedite lane exposes the operational cost of defects without allowing every stakeholder request to bypass normal prioritization.

This outcome is illustrative rather than empirical evidence for all organizations. Its central lesson is that the hybrid was designed around distinct work characteristics and explicit policies, not assembled as a collection of fashionable ceremonies.

11. Governance, Ethics, and Contemporary Practice

Framework selection has ethical consequences. Pressure to increase velocity can encourage unpaid overtime, concealment of defects, or unsafe releases. Teams should protect sustainable pace, psychological safety, accessibility, privacy, and security. Product backlogs must not treat vulnerable users as an afterthought.

Agile governance should make decision rights visible. Who can authorize a release? Who accepts residual security risk? Who decides whether accessibility debt is acceptable? These questions cannot be answered by a board or a daily meeting alone.

AI-assisted coding and automated testing can accelerate development, but they do not remove accountability. Teams must review generated code, protect confidential data, evaluate licensing and provenance, test for security vulnerabilities, and monitor biased or unsafe behavior. AI output should be treated as a suggestion requiring human verification, not as evidence of correctness.

Contemporary delivery increasingly connects Agile development with DevOps, platform engineering, observability, infrastructure as code, and continuous delivery. These practices strengthen the feedback loop from code to production, but they also increase the need for access control, auditability, rollback capability, and responsible change management.

12. Best Practices for Selection and Adoption

  1. Select for the work system, not for organizational fashion.
  2. Start with a clear problem statement and baseline evidence.
  3. Define workflow states and completion policies explicitly.
  4. Keep WIP low enough to expose bottlenecks and support finishing.
  5. Separate cycle-time and lead-time measures by naming their boundaries.
  6. Combine delivery practices with engineering quality practices.
  7. Avoid using velocity or utilization as a universal productivity score.
  8. Review outcomes with teams and stakeholders, not only managers.
  9. Treat security, privacy, accessibility, and sustainability as quality attributes.
  10. Adapt the framework while preserving conceptual coherence.

Chapter Summary

Agile frameworks provide different mechanisms for managing uncertainty and improving software delivery. Scrum emphasizes iterative product development through Sprints, Goals, accountabilities, and regular inspection. Kanban emphasizes visualization, pull, WIP limits, explicit policies, and continuous flow. XP emphasizes technical excellence through practices such as TDD, continuous integration, refactoring, and collaborative programming. Lean Software Development emphasizes value, waste reduction, knowledge creation, fast delivery, respect for people, and whole-system optimization. Hybrid approaches can be effective when their purposes, boundaries, and policies are explicit.

Framework choice depends on demand variability, product and technical uncertainty, governance, team capability, stakeholder access, and deployment maturity. Little’s Law is useful for reasoning about flow only when WIP, throughput, and elapsed time refer to the same system boundary. With started-work WIP, the result estimates cycle time; lead-time analysis must include the queue and begin at the corresponding request or authorization point. Effective adoption is an empirical learning process guided by outcome measures, technical quality, ethical responsibility, and sustainable work.

Key Terms

Agile framework: A structured set of principles, practices, roles, and policies for adaptive product development.

Scrum: An iterative framework using Sprints, Product Backlog management, accountabilities, and usable Increments.

Kanban: A flow-management method based on visualization, pull, WIP limits, explicit policies, and feedback.

Extreme Programming (XP): An Agile approach emphasizing technical excellence, rapid feedback, and customer collaboration.

Lean Software Development: An approach emphasizing value, waste reduction, knowledge, quality, flow, and respect for people.

Hybrid approach: A deliberately integrated combination of practices from multiple frameworks.

Sprint: A fixed-length period in Scrum during which a usable Increment is created.

Product Backlog: An ordered, evolving list of work needed to improve a product.

Work in progress (WIP): Work that has entered a defined system but has not yet exited it.

Throughput: The rate at which completed items leave a defined system.

Cycle time: Elapsed time from a defined work-start event to completion.

Lead time: Elapsed time from a defined request or authorization event to delivery.

Little’s Law: The relationship L = λW between average WIP, throughput, and average time in a stable system.

Pull system: A system in which work is started when downstream capacity is available.

Definition of Done: Shared criteria specifying when an Increment or work item is complete and usable.

Technical debt: Future cost created by expedient technical decisions or deferred quality work.

Test-driven development: A practice of writing an automated test before implementing the corresponding behavior.

Continuous integration: Frequent integration of changes with automated build and test feedback.

Value stream: The connected activities through which an idea or request becomes a delivered outcome.

Sustainable pace: A working pattern that can continue without chronic overwork or quality degradation.

Review Questions

Short Answer Questions

  1. What is the central difference between Scrum’s iterative structure and Kanban’s flow structure?
  2. Name three engineering practices associated with Extreme Programming.
  3. Why must WIP and elapsed time have the same system boundary when applying Little’s Law?
  4. What is the purpose of a WIP limit?
  5. State two risks of an poorly designed hybrid approach.

Long Answer Questions

  1. Compare the assumptions, strengths, and limitations of Scrum and Kanban for a software product team.
  2. Explain how XP practices can improve the quality of Scrum Increments.
  3. Discuss Lean Software Development’s concept of whole-system optimization and its relevance to full-stack delivery.
  4. Develop a framework-selection argument for a team that performs both planned development and production support.
  5. Explain why velocity, utilization, or ticket counts should not be treated as universal measures of software productivity.

Analytical / Application Questions

  1. A team averages 8 items in its implementation-to-release system and completes 4 items per week. Calculate the average cycle time, state the boundary assumption, and explain why the result is not automatically customer lead time.
  2. A Scrum team frequently receives urgent security incidents during Sprints. Design a policy-based approach using Scrum, Kanban, XP, or a hybrid, and justify your choice.
  3. An organization has a growing testing queue while developers continue starting new work. Analyze the problem using Lean and Kanban concepts and propose two measurable interventions.

Multiple Choice Questions with Answers

Question 1

Which condition is required for a valid direct application of Little’s Law?

A. The system must use Scrum Sprints.

B. WIP, throughput, and elapsed time must refer to the same stable system boundary.

C. Every item must have identical implementation effort.

D. The team must measure velocity in story points.

Correct Answer: B. WIP, throughput, and elapsed time must refer to the same stable system boundary.

Question 2

A team has an average of 12 authorized items in a request-to-release system and throughput of 3 items per week. What is the estimated average lead time, assuming stability and matching boundaries?

A. 3 weeks

B. 4 weeks

C. 9 weeks

D. 36 weeks

Correct Answer: B. 4 weeks

Question 3

Which Scrum element primarily provides a short-term objective for a Sprint?

A. Sprint Goal

B. Cumulative flow diagram

C. Service class

D. Pair programming session

Correct Answer: A. Sprint Goal

Question 4

Which practice is most directly associated with Kanban?

A. Mandatory two-week Sprints

B. WIP limits and pull policies

C. A fixed Product Owner role

D. Writing a test only after release

Correct Answer: B. WIP limits and pull policies

Question 5

What is a central emphasis of Extreme Programming?

A. Technical feedback through practices such as continuous integration and refactoring

B. Maximizing individual utilization

C. Eliminating automated tests

D. Freezing requirements before development begins

Correct Answer: A. Technical feedback through practices such as continuous integration and refactoring

Question 6

Which statement best represents Lean Software Development?

A. It optimizes each specialist’s utilization independently.

B. It focuses on value, reducing harmful waste, and improving the whole system.

C. It requires every organization to use fixed-length Sprints.

D. It treats all documentation and controls as waste.

Correct Answer: B. It focuses on value, reducing harmful waste, and improving the whole system.

Question 7

A team counts only items that have entered implementation and applies Little’s Law. What kind of elapsed time does the result generally estimate?

A. Cycle time from implementation start to completion

B. Customer lead time from initial idea to delivery

C. Annual budget duration

D. Defect escape rate

Correct Answer: A. Cycle time from implementation start to completion

Question 8

Which is the strongest reason to create a hybrid approach?

A. To use every Agile ceremony simultaneously

B. To combine practices that address distinct, explicitly analyzed work characteristics

C. To avoid defining policies

D. To replace empirical evidence with framework branding

Correct Answer: B. To combine practices that address distinct, explicitly analyzed work characteristics

Question 9

Which situation is generally most suitable for Kanban as the primary structure?

A. Highly variable operational work with frequent arrivals and interruptions

B. A team that must make a single annual release with no feedback

C. A project requiring all requirements to remain unchanged

D. A context in which work cannot be visualized or measured

Correct Answer: A. Highly variable operational work with frequent arrivals and interruptions

Question 10

Why should AI-generated code be reviewed by accountable human professionals?

A. AI output is automatically compliant with every license and security standard.

B. Review is unnecessary when code compiles.

C. Generated code may contain defects, vulnerabilities, licensing concerns, or unsuitable assumptions.

D. Human review prevents all future changes.

Correct Answer: C. Generated code may contain defects, vulnerabilities, licensing concerns, or unsuitable assumptions.

Agile & Scrum Methodologies
Chapter 2 of 15