Introduction to Agile and SCRUm

Preview:

Citation preview

Thursday 19 March 2009

Implementing SCRUMResponding to change

Training & Education

Thursday 19 March 2009

Objectives

Thursday 19 March 2009

Thursday 19 March 2009

Building a house

Thursday 19 March 2009

Some history

Thursday 19 March 2009

Software Engineering

Thursday 19 March 2009

Thursday 19 March 2009

The people who build this

Thursday 19 March 2009

0

1.25

2.5

3.75

5

Bugs/ KLOC

Industry NASA

NASA’s Defect Density

Thursday 19 March 2009

0

1.25

2.5

3.75

5

Bugs/ KLOC

Industry NASA

pretty good, right?

NASA’s Defect Density

Thursday 19 March 2009

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

heavy method...

Thursday 19 March 2009

high risk

Thursday 19 March 2009

high cost

Thursday 19 March 2009

less flexibility to change

Thursday 19 March 2009

Waterfall

Thursday 19 March 2009

Thursday 19 March 2009

Requirements

Thursday 19 March 2009

Requirements

Design

Thursday 19 March 2009

Requirements

Design

Develop

Thursday 19 March 2009

Requirements

Design

Develop

Verify

Thursday 19 March 2009

Requirements

Design

Develop

Verify

Maintain

Thursday 19 March 2009

Strengths

Thursday 19 March 2009

Weaknesses

Thursday 19 March 2009

People make mistakes

Thursday 19 March 2009

Pitfalls

Thursday 19 March 2009

big

Thursday 19 March 2009

big Bang

Thursday 19 March 2009

early change

Thursday 19 March 2009

Thursday 19 March 2009

late change

Thursday 19 March 2009

Thursday 19 March 2009

Change is expensive!

Thursday 19 March 2009

Fixed Plans

Thursday 19 March 2009

predicting change...

Thursday 19 March 2009

is difficult ...

Thursday 19 March 2009

without a crystal ball

Thursday 19 March 2009

Adversarial Relations

Thursday 19 March 2009

and hence...

Thursday 19 March 2009

not fun!

Thursday 19 March 2009

Introducing Agile

Thursday 19 March 2009

An approach

Thursday 19 March 2009

given human reality

Thursday 19 March 2009

Guiding Values

Thursday 19 March 2009

Feedback

Thursday 19 March 2009

Communication

Thursday 19 March 2009

Courage

Thursday 19 March 2009

Simplicity

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

build your manifesto

Thursday 19 March 2009

Individuals & Interactions

Working Software

Customer Collaboration

Responding to Change

Processes & Tools

Contract Negotiation

Comprehensive Documentation

Following a plan

Thursday 19 March 2009

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

Your Approach

Thursday 19 March 2009

SCRUMThursday 19 March 2009

Moving from...

Thursday 19 March 2009

Software Delivery Marathon

Analysis Design Develop Test Maintain

Thursday 19 March 2009

Moving to...

Thursday 19 March 2009

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

Incremental Development

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

Iterative Development

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

once != iteration

Thursday 19 March 2009

The Scrum Master

Thursday 19 March 2009

Guru NOT Nanny

Thursday 19 March 2009

Sprint Planning

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

Typical of a SCRUM Team

Thursday 19 March 2009

Typical of a SCRUM Team

Yesterday’s Weather

Thursday 19 March 2009

Collective ownership

Thursday 19 March 2009

Moving from...

Thursday 19 March 2009

Thursday 19 March 2009

My Project Plan

Thursday 19 March 2009

Moving to...

Thursday 19 March 2009

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

Thursday 19 March 2009

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

Our Card Wall!

Thursday 19 March 2009

Scope Planned Actual Projected

Burn Up Chart

Thursday 19 March 2009

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

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

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

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

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

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

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

Planned Actual Projected

Burn Down Chart

Thursday 19 March 2009

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

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

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

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

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

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

Tips for Implementation

Thursday 19 March 2009

Analysis Development Management

Thursday 19 March 2009

Analysis

Thursday 19 March 2009

Moving from...

Thursday 19 March 2009

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

Moving to...

Thursday 19 March 2009

As a Role

I want to Process

So that Goal

User Stories

Thursday 19 March 2009

A useful resource

Thursday 19 March 2009

]

Thursday 19 March 2009

Lo/Mid Fi Prototypes

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

Analysis Development Management

Thursday 19 March 2009

Development

Thursday 19 March 2009

Testing

Thursday 19 March 2009

Unit Tests

Thursday 19 March 2009

Test Automation

Thursday 19 March 2009

Test Automation

Thursday 19 March 2009

Test Automation

Thursday 19 March 2009

Test Automation

Thursday 19 March 2009

Developers

Thursday 19 March 2009

Moving from...

Thursday 19 March 2009

Solo Coding

Thursday 19 March 2009

Moving to...

Thursday 19 March 2009

Thursday 19 March 2009

Pairing

Thursday 19 March 2009

Mentorship

Pairing

Thursday 19 March 2009

Continuous Integration

Thursday 19 March 2009

Analysis Development Management

Thursday 19 March 2009

Management

Thursday 19 March 2009

Story Wall

Thursday 19 March 2009

Thursday 19 March 2009

Self Organizing Team

Thursday 19 March 2009

Standup Meeting

Thursday 19 March 2009

Big, Visible Charts

Thursday 19 March 2009

Retrospectives

Thursday 19 March 2009

Thursday 19 March 2009

Thursday 19 March 2009

Questions?

Thursday 19 March 2009

Thank You

Thursday 19 March 2009