37
being agile David Sturtz [email protected] twitter: @sturtz

Being Agile

Embed Size (px)

DESCRIPTION

"Being Agile" presents an introduction to Scrum, an Agile software development methodology. In addition to the basics of the iterative development process and roles, this talk explores Agile concepts related to requirements, documentation, communication, planning, and overall business strategy. Presented to Cedar Rapids IIBA 2/10/2010

Citation preview

Page 1: Being Agile

being agileDavid Sturtz

[email protected]: @sturtz

Page 2: Being Agile

Hi. I’m David.Product Manager, Geonetric

Information Architect / UX Designer

Certified Scrum Master

Page 3: Being Agile

Many denominationsAgile Unified Process, Crystal, Dynamic Systems

Development, Extreme Programming (XP), Feature Driven Development (FDD), Lean Software Development, Scrum, etc.

I will generally be talking from a Scrum perspective.

Page 4: Being Agile

Why Agile?

Page 5: Being Agile

RequirementsDesign

Implementation

VerificationMaintenance

Waterfall…

Page 6: Being Agile

…or other ‘methods’.

Page 7: Being Agile

Q: Ought form to derive from the analysis of function?

A: The great risk here is that the analysis may not be complete.

— Charles Eames

Page 8: Being Agile

Why Agile?Change is constant. Development is design.

Human interactions. Collaboration.

Inspect & adapt. Build quality in.

Demonstrable value. Aligned with goals.

Page 9: Being Agile

What is Agile? Project Management Process

Leadership Philosophy

Engineering Practices

Business Approach

Jon Strickler, Defining Agile Development

Page 10: Being Agile

How will we get there?Agile is a project management process.

Jon Strickler, Defining Agile Development

Page 11: Being Agile

Time

Resources

Quality

Scope

Page 12: Being Agile

Time

Resources

Quality

Scope

Page 13: Being Agile

Iteration

BacklogTeam

‘Done’

Page 14: Being Agile

2 weeks to 30 daysfixed goalpost

Iteration

BacklogTeam

‘Done’

Page 15: Being Agile

Sprint/Iteration2 weeks to 30 days

Stand-up24 hours

Adapted from Mountain Goat Software

SprintBacklog

ProductBacklog

PotentiallyShippable

Increment

Scrum

Page 16: Being Agile

planningdaily stand-upreviewretrospectiveIteration

BacklogTeam

‘Done’

Page 17: Being Agile

The Scrum BoardTo Do ∂ In Progress ∂ Complete ∂ Accepted

Page 18: Being Agile

The Burndown

Page 19: Being Agile

Who is in charge?Agile is a leadership philosophy.

Jon Strickler, Defining Agile Development

Page 20: Being Agile

team membersscrum masterproduct owner

Iteration

BacklogTeam

‘Done’

Page 21: Being Agile

7±2 committedco-locatedcross-functionalself-organizingIteration

BacklogTeam

‘Done’

Page 22: Being Agile

Inspect and adapt“Agility might be said to be about encountering all the problems so early and so often that the e!fort to fix them is less than the pain of enduring them.”

— Ron Jeffries

Page 23: Being Agile

When are we finished?Agile is a set of engineering best practices.

Jon Strickler, Defining Agile Development

Page 24: Being Agile

demonstrable valuedefinition of ‘done’team owns quality

Iteration

BacklogTeam

‘Done’

Page 25: Being Agile

Slices, not layers

Page 26: Being Agile

Done-done.“If we’re not shipping our software when it’s ready, it’s poor business practice. If we’re not sure whether our software is ready, it’s poor software practice.”

— Ron Jeffries

Page 27: Being Agile

What are your priorities?Agile is a business approach.

Jon Strickler, Defining Agile Development

Page 28: Being Agile

user storiesacceptance criteriaprioritized

Iteration

BacklogTeam

‘Done’

Page 29: Being Agile

The User StoryAs a USER I want GOAL so that VALUE

Page 30: Being Agile

Daily

Iteration

Release

Product

Portfolio

Strategy ExecutiveTeam

ProductManagement

DevelopmentTeam

Hours

Years

Months

Adapted from Rich Mironov/Enthiosys Planing Time Horizons

Planning

Page 31: Being Agile

Fail early, fail often.“By far the dominant reason for not releasing sooner was a reluctance to trade the dream of success for the reality of feedback.”

— Kent Beck

Page 32: Being Agile

Iteration

BacklogTeam

‘Done’

Page 33: Being Agile

What is Agile? Project Management Process

Leadership Philosophy

Engineering Practices

Business Approach

Jon Strickler, Defining Agile Development

Page 34: Being Agile

What is Agile?“Simplicity does not precede complexity, but follows it.”

— Alan Perlis

Page 35: Being Agile

being agileDavid Sturtz

[email protected]: @sturtz

Page 36: Being Agile

Recommended Reading

Page 37: Being Agile

Photo CreditsSekitei Garden by mrhayatahttp://www.flickr.com/photos/mrhayata/100841819/

Zen Gravel by Seldom Scene Photographyhttp://www.flickr.com/photos/old_dog_photo/4227016718/

Zen garden - Ginkakuji by Stéfanhttp://www.flickr.com/photos/st3f4n/2750491245/

Handful of Frogs at Coba by deanjhttp://www.flickr.com/photos/deanj/67607256/

Cascade by vandelizerhttp://www.flickr.com/photos/jeremy_vandel/208714007/

1/2 Kishu Roll by Geoff Peters 604http://www.flickr.com/photos/gpeters/3453508591/

eames shell chair by back garagehttp://www.flickr.com/photos/back_garage/3650087649/

Busy sprint by drewgstephenshttp://www.flickr.com/photos/dinomite/3219513356/

WikiData User Stories by psdhttp://www.flickr.com/photos/psd/3731275681/