Agile or: how I learned to stop worrying and love changing requirements

Post on 02-Jul-2015

302 views 2 download

description

What is Agile development and how do I do it?

Transcript of Agile or: how I learned to stop worrying and love changing requirements

Agileor: how I learned to stop worrying and love

changing requirements

Eric Baerme@ericbaer.com

ReadyTalk

● Best company to work for in CO ('11-current)● Deloitte’s Technology Fast 500 ('08-current)● Best benefits in Colorado!

Labs/Open Source

Agile

Client: I am calling you about the folders you designed and printed.Me: Yes…Client: The prints are exactly as you showed us in the concept.Me: Yes…Client: We don’t want that

Waterfall AgilePhased Iterative

Working software in the final phase Working software at every build

Different people in different phases Same set of people

Verification is done in the final phase Verifiability driven

Predictive planning Adaptive planning

Less visibility - artifacts and prototypes More visibility - working software

Changes accepted at particular stages only

Changes embraced anytime

Key Differences

Manifesto for Agile Software Development

Individuals and interactions over processes and toolsWorking software over comprehensive documentation

Customer collaboration over contract negotiationResponding to change over following a plan

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

Story Sizing

● First, t-shirt sized (general)● Next, pointed (more specific - LOE)● Facilitates communication of assumptions

and unknowns● Process is more important than actual point

value

Devs

Scrum Master

Product Owner

● Self Organizing● Plans individual work though iteration● cross functional, collaborative● accountable to each other

Key Challenge: delivery as a team vs. individual tasks

Devs

● keeps the team on track● removes obstacles (process)● improves process by conducting retros● monitors throughput and cycle time to look for

bottlenecks

Key Challenge: Listens without trying to propose a direct solution

Scrum Master

● Leads the team● defines value and vision for a project (high level)● prioritizes backlog● creates user stories and acceptance criteria● reviews and rejects work at delivery time

key challenge: doesn't control which and how many items go into an iteration

Product Owner

Agile In The Wild

Agile In The Wild

Scrum: The Basics

Iterations/Sprints

● Story Pointing● Iteration Planning● What tasks are stories broken down into?● Development!● Demo.● Retrospective

Scrum

● Daily Standup● Max 15 minutes● Covers:

○ What I did yesterday○ What I’m planning on doing today○ Blocks

Retrospective

● Iteration Review● Demo of shippable products to PO● What worked? What didn’t?● What stories did we finish?● Re-prioritize backlog stories● Defines goals for next sprint

Adaptability

Inspect and Adapt CONSTANTLY!• Change from Scrum to Kanban• Retrospectives• More awesome, less suck.

Pull vs. Push

Push

Pull

Bad!

Rock and Roll

Welcome to the future

● prioritize on demand● story pointing is 1 5 10● weekly throughput● Kaizen through retros

○ brief weekly○ in depth monthly or as needed

SWAG!

Eric Baerme@ericbaer.com