+ All Categories
Home > Documents > The Agile Primer [email protected] July 2008 © ThoughtWorks 2008.

The Agile Primer [email protected] July 2008 © ThoughtWorks 2008.

Date post: 11-Jan-2016
Category:
Upload: franklin-simon
View: 224 times
Download: 4 times
Share this document with a friend
Popular Tags:
25
The Agile Primer [email protected] July 2008 © ThoughtWorks 2008
Transcript
Page 1: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

The Agile Primer

[email protected]

July 2008

© ThoughtWorks 2008

Page 2: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

© ThoughtWorks 2008

Hopes and Concerns

Page 3: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

© ThoughtWorks 2008

Our Roadmap

SoftwareEngineering

Agile MethodsAgile

Values & Principles

AgilePractices

Page 4: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

Our Roadmap

© ThoughtWorks 2008

SoftwareEngineering

Agile MethodsAgile

Values & Principles

AgilePractices

Page 5: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

The Start

© ThoughtWorks 2008© ThoughtWorks 2008

Page 6: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

We started with Software Engineering

© ThoughtWorks 2008

Page 7: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

© ThoughtWorks 2008

Page 8: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

© ThoughtWorks 2008

Page 9: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

NASA’s Defect Density

Pretty good, right?

© ThoughtWorks 2008

Page 10: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

NASA’s Defect Density (another data point)

© ThoughtWorks 2008

Page 11: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

Other Heavy Weight Methodologies

SEI/IEEE Project Standards and

DefinitionsWaterfall

Project Management Body

of Knowledge (PMBOK)

Requirements Engineering

Sometimes, heavy weight methodologies work, but there are extensive costs, and

the risk in using them in dynamic environments is high.

© ThoughtWorks 2008

Page 12: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

© ThoughtWorks 2008

Our Roadmap

SoftwareEngineering

Agile MethodsAgile

Values & Principles

AgilePractices

Page 13: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

© ThoughtWorks 2008

Agile

Scrum

XP

Crystal Family

Lean Software Development DSDM

FDD

ASDRUP

(Rational Unified Process)

CMMI(Capability Maturity

Model Integration)

Iterative and Incremental

Development (1930)

2 Pass Development (1970)

Mercury Space Program (Iterative) (1957)

Page 14: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

© ThoughtWorks 2008

Our Roadmap

SoftwareEngineering

Agile MethodsAgile

Values & Principles

AgilePractices

Page 15: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

© ThoughtWorks 2008

Agile Manifesto

OVER Processes and ToolsIndividuals and Interactions

OVERComprehensive DocumentationWorking Software

OVER Contract NegotiationCustomer Collaboration

OVER Following a PlanResponding to Change

That is, while there is value on the right, we value the items on the left more.

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Page 16: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

© ThoughtWorks 2008

12 Principles

Our highest priority is to satisfy the customer through early and continuous

delivery of valuable software.

Welcome changing requirements, even late in

development. Agile processes harness change for the customer's competitive

advantage.Deliver working software frequently,

from acouple of weeks to a couple of months,

with apreference to the shorter timescale.

Business people and developers must work

together daily throughout the project.

Build projects around motivated individuals.

Give them the environment and support they need, and trust them to

get the job done. The most efficient and effective

method ofconveying information to and within a

development team is face-to-face conversation.

Working software is the primary measure of progress.

Agile processes promote sustainable development.

The sponsors, developers, and users should be able

to maintain a constant pace indefinitely. Continuous attention to technical

excellenceand good design enhances agility.

Simplicity--the art of maximizing the amount

of work not done--is essential.

The best architectures, requirements, and designs

emerge from self-organizing teams.

At regular intervals, the team reflects on how

to become more effective, then tunes and adjusts

its behavior accordingly.

Page 17: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

© ThoughtWorks 2008

Our Roadmap

SoftwareEngineering

Agile MethodsAgile

Values & Principles

AgilePractices

Page 18: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

© ThoughtWorks 2008

Waterfall Methodology

Effort

Ana

lysi

s

Des

ign

Cod

ing

Test

ing

Dep

loym

ent

3 months

Time

Page 19: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

© ThoughtWorks 2008

Agile Methodology

Effort

Time

Ana

lysi

s

Cod

ing

Test

ing

Dep

loym

ent

Iteration 1

Des

ign

3 months

Page 20: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

© ThoughtWorks 2008

Iterations

Common Agile Practices

Release

UserStories

UserStories

UserStories

UserStories

UserStories

UserStories

UserStories

UserStories

Iterations Iterations

Page 21: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

Daily stand up

Iteration Planning

Showcase

Retrospective

Story writing (future)

Development (current iteration)

Testing (current iteration)

Start of Iteration Co located teams

Code reviews

What an iteration might look like

© ThoughtWorks 2008

Page 22: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

Iteration Planning

Story writing (future)

Development (current iteration)

Testing (current iteration)

Start of Iteration

A specific practice…

Daily stand up

© ThoughtWorks 2008

Page 23: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

The daily stand up…

No worriesSure

I guess so

I spoke to the infrastructure team

yesterday and we won’t get a build environment until next week. Can we make do with what we

have for now?

Hey, that’s great. I’ll need that when I get to the

overdue bill story later this week. Can you show me

that after stand up?

Yesterday, I tried working on that invoice report but

couldn’t because our test environment wasn’t up

Let’s go see Dylan’s team after this to try

and resolve it

I worked on the billing agent yesterday and refactored out a common utility for the printout

of the bill

Today, we’ve got the customer showcase for

the last iteration. I’m sure we can get some useful feedback and would be

good if everyone heard it firsthand.

I’ll be there

Me too

© ThoughtWorks 2008

Page 24: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

Iteration Planning

Start of Iteration

A specific practice…

Daily stand up

Co located teams

Code reviews

Story writing (future)

Development (current iteration)

Testing (current iteration)

© ThoughtWorks 2008

Page 25: The Agile Primer patrick.kua@thoughtworks.com July 2008 © ThoughtWorks 2008.

Co-located team + Code reviews

This is turning out harder than

I thought. Maybe I should

for help.

Hey Ava, Can I get you to look at

this?

Sure

I’m currently in the middle of … and keep seeing … What do you

reckon I should do?

So it’s a bit like … and a bit like …

Hang on! We can do this and it’d be much simpler

Hey Connor. I heard you talk about adding in … When we talked about

that story, you remember that the user would be

happy with just … instead of that?

Really? That makes it really simple then!

I’m not sure if I really understand the

problem. Let’s white board this

Maybe we can try … or …

Right! That’s great.

Ok, so first … and then … right?

type type type...

Yup!

type type type...

© ThoughtWorks 2008


Recommended