Top Banner
Agile Development 1 cs2340:Agile Development Summer 2007
16
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Agile Development Processes _ SCRUM For Project Management

Agile Development 1

cs2340:Agile Development

Summer 2007

Page 2: Agile Development Processes _ SCRUM For Project Management

Agile Development 2

In the beginning was….

• The Waterfall

Page 3: Agile Development Processes _ SCRUM For Project Management

Agile Development 3

Software Development Life Cycles

• Conceptual Model– Waterfall, Evolutionary Prototyping, Spiral,

Staged Delivery, etc.

• Management of Risk

• Sequence of Activities

Page 4: Agile Development Processes _ SCRUM For Project Management

Agile Development 4

Two Ways to Build a Pyramid(John Mayo-Smith)

Page 5: Agile Development Processes _ SCRUM For Project Management

Agile Development 5

Thus was born Agile

• Individuals and Interactions – over process and tools

• Working software– over comprehensive documentation

• Customer Collaboration– over contract negotiation

• Responding to Change– over following a plan

Page 6: Agile Development Processes _ SCRUM For Project Management

Agile Development 6

Iterative Delivery

• Project divided in pieces called iterations

• At end of iteration something is delivered

• No schedule slip (timeboxing)

• Each iteration nominally 4 weeks

Page 7: Agile Development Processes _ SCRUM For Project Management

Agile Development 7

Some Agile Processes

• SCRUM

• Extreme Programming

• EVO

• RUP Dx

Page 8: Agile Development Processes _ SCRUM For Project Management

Agile Development 8

SCRUM

• Focuses mainly on management of software products

• Timeboxed iterations called sprints

• Project planned through use of 2 spreadsheets (Product and Sprint)

• Daily Meeting (Pigs and Chickens)

• Each sprint ends with “ready” deliverable

Page 9: Agile Development Processes _ SCRUM For Project Management

Agile Development 9

SCRUM

Page 10: Agile Development Processes _ SCRUM For Project Management

Agile Development 10

Product Backlog

• Its not how many hours you work or project, its how many you have to go.

Task Initial Estimate

Adjust Factor

Adjust Estimate

1 2 3

Hide/Display burndown window 3 .2 3.6 3.6 3.6 0

Automatic recalculation of row/column values 3 .2 3.6 3.6 2.4 0

Display Product Burndown Graph 3 .2 3.6 3.6 0 0

Display Sprint Burndown Graph 4 .2 4.8 4.8 2.4 2.4

Total Remaining 650 0 650 650 550 320

Product backlog shows prioritized tasks, and hours to go by sprint

Page 11: Agile Development Processes _ SCRUM For Project Management

Agile Development 11

Sprint BacklogTask Responsible Status 1 2 3 4

Move Calculations out of Excel Jim Not Started 10 10

Store PDF files in structure Sally In Progress 15 8

Switch to JDK1.5 Pete Completed 10 0 0 0

Install Cruise Control on Team Server Jim Completed 5 0 0 0

LTCS Disk Jim In Progress 10 10

Focus is on each persons estimate of how much work they have to goon tasks, not how much they have done in past.

Page 12: Agile Development Processes _ SCRUM For Project Management

Agile Development 12

Burndown Charts

• Tracks project accomplishment to completion

• Provides a visual representation for project completion

• Goes down when progress made, Up when estimates revised

• Sharp drop usually means reduction of features.

Page 13: Agile Development Processes _ SCRUM For Project Management

Agile Development 13

Sprint Burndown

Page 14: Agile Development Processes _ SCRUM For Project Management

Agile Development 14

Extreme Programming

• A set of engineering processes:– Pair Programming– Collective Code Ownership– Aggressive Refactoring– Test-Driven Development– On-Site Customer– Iterative Development– Continuous Integration

Page 15: Agile Development Processes _ SCRUM For Project Management

Agile Development 15

XP Top Level

Page 16: Agile Development Processes _ SCRUM For Project Management

Agile Development 16