146
Thursday 19 March 2009

Introduction to Agile and SCRUm

Embed Size (px)

Citation preview

Page 1: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 2: Introduction to Agile and SCRUm

Implementing SCRUMResponding to change

Training & Education

Thursday 19 March 2009

Page 3: Introduction to Agile and SCRUm

Objectives

Thursday 19 March 2009

Page 4: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 5: Introduction to Agile and SCRUm

Building a house

Thursday 19 March 2009

Page 6: Introduction to Agile and SCRUm

Some history

Thursday 19 March 2009

Page 7: Introduction to Agile and SCRUm

Software Engineering

Thursday 19 March 2009

Page 8: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 9: Introduction to Agile and SCRUm

The people who build this

Thursday 19 March 2009

Page 10: Introduction to Agile and SCRUm

0

1.25

2.5

3.75

5

Bugs/ KLOC

Industry NASA

NASA’s Defect Density

Thursday 19 March 2009

Page 11: Introduction to Agile and SCRUm

0

1.25

2.5

3.75

5

Bugs/ KLOC

Industry NASA

pretty good, right?

NASA’s Defect Density

Thursday 19 March 2009

Page 12: Introduction to Agile and SCRUm

0

1.25

2.5

3.75

5

Bugs/ KLOC

Industry NASA

Another data point...

0

225

450

675

900

Cost ($/LOC)

Thursday 19 March 2009

Page 13: Introduction to Agile and SCRUm

heavy method...

Thursday 19 March 2009

Page 14: Introduction to Agile and SCRUm

high risk

Thursday 19 March 2009

Page 15: Introduction to Agile and SCRUm

high cost

Thursday 19 March 2009

Page 16: Introduction to Agile and SCRUm

less flexibility to change

Thursday 19 March 2009

Page 17: Introduction to Agile and SCRUm

Waterfall

Thursday 19 March 2009

Page 18: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 19: Introduction to Agile and SCRUm

Requirements

Thursday 19 March 2009

Page 20: Introduction to Agile and SCRUm

Requirements

Design

Thursday 19 March 2009

Page 21: Introduction to Agile and SCRUm

Requirements

Design

Develop

Thursday 19 March 2009

Page 22: Introduction to Agile and SCRUm

Requirements

Design

Develop

Verify

Thursday 19 March 2009

Page 23: Introduction to Agile and SCRUm

Requirements

Design

Develop

Verify

Maintain

Thursday 19 March 2009

Page 24: Introduction to Agile and SCRUm

Strengths

Thursday 19 March 2009

Page 25: Introduction to Agile and SCRUm

Weaknesses

Thursday 19 March 2009

Page 26: Introduction to Agile and SCRUm

People make mistakes

Thursday 19 March 2009

Page 27: Introduction to Agile and SCRUm

Pitfalls

Thursday 19 March 2009

Page 28: Introduction to Agile and SCRUm

big

Thursday 19 March 2009

Page 29: Introduction to Agile and SCRUm

big Bang

Thursday 19 March 2009

Page 30: Introduction to Agile and SCRUm

early change

Thursday 19 March 2009

Page 31: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 32: Introduction to Agile and SCRUm

late change

Thursday 19 March 2009

Page 33: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 34: Introduction to Agile and SCRUm

Change is expensive!

Thursday 19 March 2009

Page 35: Introduction to Agile and SCRUm

Fixed Plans

Thursday 19 March 2009

Page 36: Introduction to Agile and SCRUm

predicting change...

Thursday 19 March 2009

Page 37: Introduction to Agile and SCRUm

is difficult ...

Thursday 19 March 2009

Page 38: Introduction to Agile and SCRUm

without a crystal ball

Thursday 19 March 2009

Page 39: Introduction to Agile and SCRUm

Adversarial Relations

Thursday 19 March 2009

Page 40: Introduction to Agile and SCRUm

and hence...

Thursday 19 March 2009

Page 41: Introduction to Agile and SCRUm

not fun!

Thursday 19 March 2009

Page 42: Introduction to Agile and SCRUm

Introducing Agile

Thursday 19 March 2009

Page 43: Introduction to Agile and SCRUm

An approach

Thursday 19 March 2009

Page 44: Introduction to Agile and SCRUm

given human reality

Thursday 19 March 2009

Page 45: Introduction to Agile and SCRUm

Guiding Values

Thursday 19 March 2009

Page 46: Introduction to Agile and SCRUm

Feedback

Thursday 19 March 2009

Page 47: Introduction to Agile and SCRUm

Communication

Thursday 19 March 2009

Page 48: Introduction to Agile and SCRUm

Courage

Thursday 19 March 2009

Page 49: Introduction to Agile and SCRUm

Simplicity

Thursday 19 March 2009

Page 50: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 51: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 52: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 53: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 54: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 55: Introduction to Agile and SCRUm

build your manifesto

Thursday 19 March 2009

Page 56: Introduction to Agile and SCRUm

Individuals & Interactions

Working Software

Customer Collaboration

Responding to Change

Processes & Tools

Contract Negotiation

Comprehensive Documentation

Following a plan

Thursday 19 March 2009

Page 57: Introduction to Agile and SCRUm

Individuals & Interactions

Working Software

Customer Collaboration

Responding to Change

Processes & Tools

Contract Negotiation

Comprehensive Documentation

Following a plan

Over

Over

Over

Over

The Agile Manifesto

Thursday 19 March 2009

Page 58: Introduction to Agile and SCRUm

Your Approach

Thursday 19 March 2009

Page 59: Introduction to Agile and SCRUm

SCRUMThursday 19 March 2009

Page 60: Introduction to Agile and SCRUm

Moving from...

Thursday 19 March 2009

Page 61: Introduction to Agile and SCRUm

Software Delivery Marathon

Analysis Design Develop Test Maintain

Thursday 19 March 2009

Page 62: Introduction to Agile and SCRUm

Moving to...

Thursday 19 March 2009

Page 63: Introduction to Agile and SCRUm

Sprint

Analysis Develop Test

Sprint

Analysis Develop Test

Sprint

Analysis Develop Test

Tw

eak

Tw

eak

Simple DesignContinuous IntegrationBuild & Deployment Automation

Thursday 19 March 2009

Page 64: Introduction to Agile and SCRUm

Incremental Development

Thursday 19 March 2009

Page 65: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 66: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 67: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 68: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 69: Introduction to Agile and SCRUm

Iterative Development

Thursday 19 March 2009

Page 70: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 71: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 72: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 73: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 74: Introduction to Agile and SCRUm

once != iteration

Thursday 19 March 2009

Page 75: Introduction to Agile and SCRUm

The Scrum Master

Thursday 19 March 2009

Page 76: Introduction to Agile and SCRUm

Guru NOT Nanny

Thursday 19 March 2009

Page 77: Introduction to Agile and SCRUm

Sprint Planning

Thursday 19 March 2009

Page 78: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 79: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 80: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 81: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 82: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 83: Introduction to Agile and SCRUm

Typical of a SCRUM Team

Thursday 19 March 2009

Page 84: Introduction to Agile and SCRUm

Typical of a SCRUM Team

Yesterday’s Weather

Thursday 19 March 2009

Page 85: Introduction to Agile and SCRUm

Collective ownership

Thursday 19 March 2009

Page 86: Introduction to Agile and SCRUm

Moving from...

Thursday 19 March 2009

Page 87: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 88: Introduction to Agile and SCRUm

My Project Plan

Thursday 19 March 2009

Page 89: Introduction to Agile and SCRUm

Moving to...

Thursday 19 March 2009

Page 90: Introduction to Agile and SCRUm

In Analysis Ready for Dev In Dev Dev Complete In QA QA Complete

Thursday 19 March 2009

Page 91: Introduction to Agile and SCRUm

In Analysis Ready for Dev In Dev Dev Complete In QA QA Complete

Our Card Wall!

Thursday 19 March 2009

Page 92: Introduction to Agile and SCRUm

Scope Planned Actual Projected

Burn Up Chart

Thursday 19 March 2009

Page 93: Introduction to Agile and SCRUm

I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I130

37.5

75

112.5

150

Scope Planned Actual Projected

Burn Up Chart

Thursday 19 March 2009

Page 94: Introduction to Agile and SCRUm

I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I130

37.5

75

112.5

150

Scope Planned Actual Projected

Burn Up Chart

Thursday 19 March 2009

Page 95: Introduction to Agile and SCRUm

I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I130

37.5

75

112.5

150

Scope Planned Actual Projected

Burn Up Chart

Thursday 19 March 2009

Page 96: Introduction to Agile and SCRUm

I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I130

37.5

75

112.5

150

Scope Planned Actual Projected

Burn Up Chart

Thursday 19 March 2009

Page 97: Introduction to Agile and SCRUm

I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I130

37.5

75

112.5

150

Scope Planned Actual Projected

Burn Up Chart

Thursday 19 March 2009

Page 98: Introduction to Agile and SCRUm

I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I130

37.5

75

112.5

150

Scope Planned Actual Projected

When we planned to finish

Burn Up Chart

Thursday 19 March 2009

Page 99: Introduction to Agile and SCRUm

I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I130

37.5

75

112.5

150

Scope Planned Actual Projected

When we planned to finish

When we should finish

Burn Up Chart

Thursday 19 March 2009

Page 100: Introduction to Agile and SCRUm

Planned Actual Projected

Burn Down Chart

Thursday 19 March 2009

Page 101: Introduction to Agile and SCRUm

Day1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 90

37.5

75

112.5

150

Planned Actual Projected

Burn Down Chart

Thursday 19 March 2009

Page 102: Introduction to Agile and SCRUm

Day1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 90

37.5

75

112.5

150

Planned Actual Projected

Burn Down Chart

Thursday 19 March 2009

Page 103: Introduction to Agile and SCRUm

Day1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 90

37.5

75

112.5

150

Planned Actual Projected

Burn Down Chart

Thursday 19 March 2009

Page 104: Introduction to Agile and SCRUm

Day1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 90

37.5

75

112.5

150

Planned Actual Projected

Burn Down Chart

Thursday 19 March 2009

Page 105: Introduction to Agile and SCRUm

Day1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 90

37.5

75

112.5

150

Planned Actual Projected

When we planned to finish

Burn Down Chart

Thursday 19 March 2009

Page 106: Introduction to Agile and SCRUm

Day1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 90

37.5

75

112.5

150

Planned Actual Projected

When we planned to finish

When we should finish

Burn Down Chart

Thursday 19 March 2009

Page 107: Introduction to Agile and SCRUm

Tips for Implementation

Thursday 19 March 2009

Page 108: Introduction to Agile and SCRUm

Analysis Development Management

Thursday 19 March 2009

Page 109: Introduction to Agile and SCRUm

Analysis

Thursday 19 March 2009

Page 110: Introduction to Agile and SCRUm

Moving from...

Thursday 19 March 2009

Page 111: Introduction to Agile and SCRUm

Name

FR-4: Case sensiti

vity in search-and-replace

Requirements

When a user invokes the search-and-replace function, the

software must g

ive the option to do a case-sensitive search.

By default, the search will match any text w

hich has the same

letters as the search term, even if the case is

different. If

the user

indicates that the search is t

o be done with case-sensitivity turned

on, then the so

ftware will o

nly match text in the document w

here

the case is identical to

that of the search term.

During a search and replace, when the so

ftware replaces original

text in the document w

ith the replacement text specified by the

user, the softw

are retains the case of th

e original text as follows:

•If th

e original text was all uppercase, then the replacement

text must b

e inserted in all uppercase.

•If th

e original text was all lowercase, then the replacement

text must b

e inserted in all lowercase.

•If th

e original text had the first character uppercase and the

rest of th

e characters lowercase, then the replacement text

must reflect th

is case as w

ell.

•If th

e original text was sentence case (w

here the first letter of

each word is uppercase), th

en the replacement text must b

e

inserted in sentence case.

•In all o

ther cases, the replacement text sh

ould be inserted

using the case that was specifie

d by the user.

References

UC-8: Search

Nonfunctional Requirements

Nonfunctional requirements impose constra

ints on the design or im

plementation (such as performance re

quirements,

quality sta

ndards or design constraints).

Users have implicit e

xpectations about how well the so

ftware will w

ork. These characteristi

cs include how easy the

software is

to use, how quickly it executes, h

ow reliable it is, a

nd how well it behaves w

hen unexpected conditions

arise. The nonfunctional re

quirements define these aspects about th

e system. (The nonfunctional requirements a

re

sometimes re

ferred to as “non-behavioral requirements” or “softw

are quality attrib

utes”.)

The nonfunctional requirements s

hould be defined as precisely as possible. Often, th

is is done by quantify

ing them.

Where possible, the nonfunctional re

quirements should provide specific measurements which the softw

are must

meet. The maximum number of se

conds it must ta

ke to perform a task, th

e maximum size of a database on disk, th

e

number of hours per day a system must b

e available, and the number of concurrent users supported are examples of

requirements that th

e software must im

plement but do not change its behavior.

This section will contain multip

le nonfunctional requirements, e

nough to define all of th

e performance and quality

attributes of the softw

are. Nonfunctional requirements can use the same template as functional requirements

(above). The following table shows an example of a nonfunctional re

quirement:

Name

NF-7: Performance constraints for search-and-replace

Summary

The search-and-replace feature must perform a search quickly

Rationale

If a search is n

ot fast e

nough, users will a

void using the software.

Requirements

A case-insensitive search-and-replace performed on a 3MB

document with twenty 30-character search terms to be replaced

with a different 30-character se

arch term must take under 500ms

on a 700mhz Pentium III running Microsoft W

indows 2000 at

50% CPU load.

Applied Software Project Management

Andrew Stellman & Jennifer Greene

http://www.stellman-greene.com!

4!

Requirements specification

Thursday 19 March 2009

Page 112: Introduction to Agile and SCRUm

Moving to...

Thursday 19 March 2009

Page 113: Introduction to Agile and SCRUm

As a Role

I want to Process

So that Goal

User Stories

Thursday 19 March 2009

Page 114: Introduction to Agile and SCRUm

A useful resource

Thursday 19 March 2009

Page 115: Introduction to Agile and SCRUm

]

Thursday 19 March 2009

Page 116: Introduction to Agile and SCRUm

Lo/Mid Fi Prototypes

Thursday 19 March 2009

Page 117: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 118: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 119: Introduction to Agile and SCRUm

Analysis Development Management

Thursday 19 March 2009

Page 120: Introduction to Agile and SCRUm

Development

Thursday 19 March 2009

Page 121: Introduction to Agile and SCRUm

Testing

Thursday 19 March 2009

Page 122: Introduction to Agile and SCRUm

Unit Tests

Thursday 19 March 2009

Page 123: Introduction to Agile and SCRUm

Test Automation

Thursday 19 March 2009

Page 124: Introduction to Agile and SCRUm

Test Automation

Thursday 19 March 2009

Page 125: Introduction to Agile and SCRUm

Test Automation

Thursday 19 March 2009

Page 126: Introduction to Agile and SCRUm

Test Automation

Thursday 19 March 2009

Page 127: Introduction to Agile and SCRUm

Developers

Thursday 19 March 2009

Page 128: Introduction to Agile and SCRUm

Moving from...

Thursday 19 March 2009

Page 129: Introduction to Agile and SCRUm

Solo Coding

Thursday 19 March 2009

Page 130: Introduction to Agile and SCRUm

Moving to...

Thursday 19 March 2009

Page 131: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 132: Introduction to Agile and SCRUm

Pairing

Thursday 19 March 2009

Page 133: Introduction to Agile and SCRUm

Mentorship

Pairing

Thursday 19 March 2009

Page 134: Introduction to Agile and SCRUm

Continuous Integration

Thursday 19 March 2009

Page 135: Introduction to Agile and SCRUm

Analysis Development Management

Thursday 19 March 2009

Page 136: Introduction to Agile and SCRUm

Management

Thursday 19 March 2009

Page 137: Introduction to Agile and SCRUm

Story Wall

Thursday 19 March 2009

Page 138: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 139: Introduction to Agile and SCRUm

Self Organizing Team

Thursday 19 March 2009

Page 140: Introduction to Agile and SCRUm

Standup Meeting

Thursday 19 March 2009

Page 141: Introduction to Agile and SCRUm

Big, Visible Charts

Thursday 19 March 2009

Page 142: Introduction to Agile and SCRUm

Retrospectives

Thursday 19 March 2009

Page 143: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 144: Introduction to Agile and SCRUm

Thursday 19 March 2009

Page 145: Introduction to Agile and SCRUm

Questions?

Thursday 19 March 2009

Page 146: Introduction to Agile and SCRUm

Thank You

Thursday 19 March 2009