62
YOU THINK YOU KNOW AGILE? The where, what and how of agile @NathanGloyn nathangloy n Design Code Relea se [email protected]

You think you know agile

Embed Size (px)

DESCRIPTION

Combined slide decks from the presentation at Progressive.net 2011

Citation preview

Page 2: You think you know agile

Agenda

You Decide!

Page 3: You think you know agile

ROOTS...

Page 4: You think you know agile

Roots...

When agile was born… Heavy weight project management

processes Misunderstood requirements Missed deadlines or death march

projects Inability to change requirements Applications with lots of defects Increases the cost

Page 5: You think you know agile

Roots...

Scrum – first describedDSDM, Adaptive Software DevelopmentScrum

1986

1995

1996Extreme Programming (XP), Crystal Clear

1997 Feature Driven Development

2001 Agile Manifesto

2004 Kanban??

Page 6: You think you know agile

Roots...Agile Manifesto

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation Responding to change over following a plan

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

Page 7: You think you know agile

Roots...

Agile Manifesto – 12 Principles

Customer satisfaction by rapid delivery of useful software

Welcome changing requirements, even late in development

Working software is delivered frequently (weeks rather than months)

Page 8: You think you know agile

Roots...

Agile Manifesto – 12 Principles

Working software is the principal measure of progress

Sustainable development, able to maintain a constant pace

Close, daily co-operation between business people and developers

Page 9: You think you know agile

Roots...

Agile Manifesto – 12 Principles

Face-to-face conversation is the best form of communication (co-location)

Projects are built around motivated individuals, who should be trusted

Continuous attention to technical excellence and good design

Page 10: You think you know agile

Roots...

Agile Manifesto – 12 Principles

Simplicity Self-organizing teams Regular adaptation to changing

circumstances

Page 11: You think you know agile

CONCEPTS

Page 12: You think you know agile

Concepts

Control

Page 13: You think you know agile

Concepts

Communication

Page 14: You think you know agile

Concepts

Collaboration

Page 15: You think you know agile

Concepts

Cooperation

Page 16: You think you know agile

Concepts

Commitment

Page 17: You think you know agile

TEAM

Page 18: You think you know agile

Team

The team is: Critical to success Not a bunch of individuals No Hero’s Not dependent on any member Empowered Trusted

Page 19: You think you know agile

Team

Who is in the team? Team Member Product Owner Customer

Page 20: You think you know agile

Team

Who is a Team Member? Developer Tester Business Analyst Team Lead Architect Product Owner

Page 21: You think you know agile

Team

Do we need a product owner? Focus on what to deliver Customer Proxy Product Manager Project Manager not a good fit Not good idea to be a team lead or

manager

Page 22: You think you know agile

Team

Where does a Scrum Master/Coach fit in?

Guardian of the teams process Servant/Leader Helps foster the idea of “team” Should never be a team lead or

manager Focused on helping team deliver

Page 23: You think you know agile

Team

Do we need a project manager? Generally no Responsibilities distributed

Product owner Coach/Scrum Master

Some projects have to be waterfall

Page 24: You think you know agile

Team

GeneralistOR

Specialist?

Page 25: You think you know agile

Team

A Self <?> Team

1.Self Organising2.Self Directing3.Self Managing

Page 26: You think you know agile

METHODOLOGIES

Page 27: You think you know agile

Methodologies

Currently 3 main stream: Scrum XP Kanban

Page 28: You think you know agile

Methodologies: Scrum

Page 29: You think you know agile

Methodologies: Scrum

TO DO WIP Done

Page 30: You think you know agile

Methodologies: XP

Page 31: You think you know agile

Methodologies: XP

TO DO WIP Done

Page 32: You think you know agile

Methodologies: Kanban

Input Queue

In Proces

sDone

Available

capacity

Page 33: You think you know agile

Methodologies: Kanban

TO DO WIP (2)

Done

Page 34: You think you know agile

Methodologies

Commonalities: Visibility/Transparency User stories Pull Based Definition of done Sustainable pace Continuous Improvement

Page 35: You think you know agile

Methodologies: Helicopter View

Plan release

Plan iteration

Work through items

Release when “Done, Done”

Iteration Retrospective

Release Retrospective

Plan sprint

Work on items in sprint

Review

Retrospective

Input queuePull item to workWork until meets

done criteriaRepeat

Scrum

XP Kanban

Page 36: You think you know agile

Methodologies: Meetings

Release Planning

Iteration Planning

StandupIteration

RetrospectiveRelease

Retrospective

Daily Stand-upSprint ReviewSprint

RetrospectiveSprint PlanningBacklog grooming

None

Scrum

XP Kanban

Page 37: You think you know agile

Methodologies: Roles

CustomerCoachTeam

CustomerProduct OwnerScrum MasterDevelopment

Team

What ever youcurrently have

Scrum

XP Kanban

Page 38: You think you know agile

Methodologies: Artifacts

BoardChartsMore

charts!

Card BoardBacklogDefinition of

DoneBurndown

BoardWhat ever

reports you wish to create

Scrum

XP Kanban

Page 39: You think you know agile

Methodologies: Metrics

Velocity

Velocity Lead timeCycle timeThroughput

performanceDue date completionetc

Scrum

XP Kanban

Page 40: You think you know agile

Methodologies:Continuous Improvement

Iteration retrospectives

Release retrospective

Inspect & Adapt

Sprint retrospective

Kaizen cultureKaizen blitzSlack

Scrum

XP Kanban

Page 41: You think you know agile

Methodologies: Differentiators

Scrum Estimation Commitment Forecasting Iterations Team decide what to pull into an

iteration

Page 42: You think you know agile

Methodologies: Differentiators

XP Short Iterations “Done, Done” Rules

5 Values 14 Principles 24 Practices

Page 43: You think you know agile

Methodologies: Differentiators

Kanban Flow Cadence Policies Classes of Service

Page 44: You think you know agile

Methodologies: ComparisonScrum XP Kanban

Visibility/transparency User stories Pull Based Product Backlog Definition of Done Sustainable pace Continuous Improvement Iterations –Technical practices

Meetings

Roles

Page 45: You think you know agile

LEAN

Page 46: You think you know agile

Lean

What is Lean? From manufacturing

Toyota Production System (TPS) Just In Time (JIT) production Kanban card Kaizen

Poppendicks Lean Software Development: An Agile Toolkit

(2003) David J Anderson

Kanban - Successful Evolutionary Change for your Technology Business

Page 47: You think you know agile

Lean: Principles

Eliminate Waste

Page 48: You think you know agile

Lean: Principles

Build Quality In

Page 49: You think you know agile

Lean: Principles

Create Knowledge

Page 50: You think you know agile

Lean: Principles

Defer Commitment

Page 51: You think you know agile

Lean: Principles

Deliver Fast

Page 52: You think you know agile

Lean: Principles

Respect People

Page 53: You think you know agile

Lean: Principles

Optimise the whole

Page 54: You think you know agile

WHAT’S NEXT?

Page 55: You think you know agile

What’s next?

ScrumBan Lean Startup The rise of lean Death of the Iron triangle?

Page 56: You think you know agile

What’s next: Scrumban

Mixture of Kanban & Scrum Workflow of Kanban

Backlog column for iteration Ready column for higher priority work

Meetings of Scrum

Page 57: You think you know agile

What’s next: The rise of lean

The next best thing? Beware marketing speak Can help whatever process you are

using Kanban

Page 58: You think you know agile

What’s Next: Lean Startup

“new methodology” Focused on getting product “out

there” More a business methodology Kanban great fit Beware comparisons to agile

Page 59: You think you know agile

What’s Next: Lean StartupAgile Lean Startup

Product Roadmap Business Model Canvas

Product Vision Product Market Fit

Release Plan Minimal Viable Product

Sprint Kanban

Sprint Review Pivot or Persevere Decision

On-Site Customer "Get Out Of The Building"

User Story Hypothesis

Backlog "To Learn" List

Definition of Done Validated Learning

Red-Green-Refactor Learn-Measure-Build

Customer Feedback Customer Validation

Acceptance Test Split Test

Velocity AARRR

Mock Object Feature Fake

Continuous Integration Continuous Deployment

Certified Scrum Master Customer Success Manager

Page 60: You think you know agile

What’s next: Death of the Iron triangle?

Cost exists anyway Quality should be a given Scope flexible Possibly in enterprises Unlikely with external clients

Page 61: You think you know agile

SUM UP

Page 62: You think you know agile

Summary

Lots of ideas Pull in what works Throw away what doesn’t Create your own process Stay true to principles

@NathanGloyn

nathangloyn

Design Code Release

[email protected]