Agile Process Models

17
Agile Process Models

description

Agile Process Models. P rescriptive models don’t work. It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation - PowerPoint PPT Presentation

Transcript of Agile Process Models

Page 1: Agile Process Models

Agile Process Models

Page 2: Agile Process Models

Prescriptive models don’t work

• It is unrealistic to not have changes. Why?• The Agile Manifesto:

• Individuals and interactions over processes and tools

• Working software over comprehensive documentation

• Customer collaboration over contract negotiation

• Responding to change over following a plan

Page 3: Agile Process Models

The Agile approach

• Fix time and resources, not features

Functionality

Time Resources Functionality

Time Resources

Agile

Prescriptive

FIXED

VARIABLE

Page 4: Agile Process Models

The Agile approach

• Effective and rapid response to change• Effective communication among all

stakeholders• On-site customer• Rapid, incremental delivery of software

Page 5: Agile Process Models

The Agile process

• Driven by customer descriptions of what is desired

• These are translated into short-lived plans• Development is iterative• Adapts as changes occur• Little to no documentation

– Why bother documenting what is likely to change?– Customer is on-site

Page 6: Agile Process Models

Popular Agile Processes

• eXtreme Programming• Scrum

Page 7: Agile Process Models

eXtreme Programming

• Very programmer-focused; take the good practices and do only those!– Simplicity – Communication– Feedback– Courage

Page 8: Agile Process Models

XP practices: Planning

• Begins with customer-defined user stories• Agile team assigns each story a cost• Stories are grouped into deliverable

increments• Commitment is made on delivery date• After the first increment this project velocity is

used to define future increments

Page 9: Agile Process Models

XP practices: planning game

Write a Story

(Customer)

Spike a Story

(Developer)

Estimate a story

(Developer)

Split a Story

(Customer)Sort stories by value

(Customer)

Declare velocity

(Developer)

Exploration Planning

“too big”

“don’t know how”

Page 10: Agile Process Models

XP practices: user stories

• Watered-down version of use cases• Written by customers, estimated by

developers• Often on post-it notes• Replaces large documents

Page 11: Agile Process Models

XP practices: on-site customer

Page 12: Agile Process Models

More XP practices

• Small releases• Continuous integration

– Implies refactoring• System metaphor• Sustainable pace

– 40 hours max/week

Page 13: Agile Process Models

XP practices: Pair programming

• One developer writes, the other watches• Switch every two hours• Results in collective ownership• Need a coding standard

Page 14: Agile Process Models

XP practices: Test Driven Development

• Write automated unit tests first (will all fail)• Only write code until all tests pass

– Stop there; no extra features!

Page 15: Agile Process Models

When not to use XP

• Customer requires documentation• Teams larger than 15 people• When you can’t get immediate feedback

(embedded systems)• When it’s impossible to get people in the

same room

Page 16: Agile Process Models

Scrum

• Sprints, backlog, daily scrum meeting

Page 17: Agile Process Models

Criticisms of Agile approaches

• Lack of scalability• Relies on mature team• May result in inefficient designs due to

incrementality• Potentially expensive

– On-site customer– Rework – Inefficiency