intro to agile

29
Introduction to AGILE 31. March 2011 Jeppe Cramon – [email protected]

Upload: jeppe-cramon

Post on 15-Jan-2015

1.045 views

Category:

Technology


2 download

DESCRIPTION

Introduction to what Agile development is, what it isn't, recommendations and the common pitfalls.

TRANSCRIPT

Page 1: Intro to agile

Introduction to AGILE

31. March 2011

Jeppe Cramon – [email protected]

Page 2: Intro to agile

Does this sound familiar?

• Do not Document• Do not handle and register Requirements• Do not do formalized testing• Do not plan more than 2 days in advance• Do not follow up on expenses and economy• Do not ____________________ (Fill in yourself)

• “We are doing Agile so we”:

Page 3: Intro to agile

From the movie “Clueless”

Page 4: Intro to agile

Same procedure as last year?

“Even a dead fish can float down a waterfall”

Page 5: Intro to agile

Can 9 women deliver a baby in 1 month?

• More developers on a project decreases developer efficiency – Communication overhead– More ceremony (Documents and Process)

• Close contact with product owner and business experts leads to effective developers

• Writing code typically only amounts to 30% of the total project time

Page 6: Intro to agile

Why Agile?• Focus on the Business and what they need• Focus on delivering quality• Doing the “right thing” – not just doing things right• Get feed-back often and act on it• Work on things that directly improves the end result• Minimize overhead

Do what we are paid for as Developers!

Page 7: Intro to agile

We need an Agile Machine!

Page 8: Intro to agile

Who?• Take 17 IT gurus:

– Kent Beck, Alistair Cockburn, Martin Fowler,…– Add them to a ski resort in Utah

• Let them simmer for 2 days:– February 11-13 2001

• You can now serve:– The Agile Manifesto, The Agile Principles– Agile Software Development Alliance

Page 9: Intro to agile

What? The Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it.

Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

Page 10: Intro to agile

According to the Oxford Dictionary• Agile

– “Able to move Quickly and Easily”– “Able to think Quickly and in an Intelligent way”

• Adaptive– “Concerned with Change”– “Able to change when necessary in order to deal

with different situations”

Page 11: Intro to agile

Can be?

Scrum

AGILE

Lean

Ste

rile

Un

ified

Pro

cess

XP

Virile

Confusing

Page 12: Intro to agile

eXtreme Programming (XP)

User DeveloperWhiteboard

Iteration Plan

Stories

Engineering Practices

Page 13: Intro to agile

XP Practices• The Planning Game• Small Releases• Metaphor• Simple Design• Testing• Refactoring

• Pair Programming• Collective Ownership• Continuous Integration• Normal work week• On-site Customer• Coding Standards

Page 14: Intro to agile

Scrum

Project Management Practices

Page 15: Intro to agile

Scrum Practices• Self managed teams• 30 days iterations, Sprints• Daily Scrum meetings• All participates in Planning• User Stories becomes Tasks• Customer on site

– Product Owner

• Tasks are not assigned but chosen• The Scrum Master is not “just”

project manager

• Estimates are made by those who will do the actual work

• All contact to the project is via the Scrum Master

• Teams on max 10 people• Everyone is in the same room• Use of Sprint and Product

Backlogs and burndown charts• “Pigs and Chickens”

Page 16: Intro to agile

How they compare?

XP

Scrum

Unified Process

Few DocumentsLittle Ceremony

Many DocumentsHigh Ceremony

Many short Iterations

Waterfall(One iteration)

CeremoniIterations

Source: Craig Larman: Agile & Iterative development, a managers guide

Page 17: Intro to agile

So, What’s next?

Page 18: Intro to agile

Please…..• Agile is not a solution. It’s a tool!

– Focus on your problems and how to solve them• There is no such thing as an Agile process!

– Agile is a way of thinking and not a product• You HAVE to work Iteratively to become Agile

– The only way to get feedback from our Customers• Trust in people

– Agile is Trust over Control

Page 19: Intro to agile

Pretty Please……..• Apply your learning's iteratively – It’s the least

expensive way• Pick the right tools for the right job• Use proper test approaches to ensure quality.

– This helps you discover when new learning’s break old assumptions

• Focus on importance and criticality

Page 20: Intro to agile

With sugar on top…….We need:• Smaller teams (5-10 people)• More skilled developers and managers• Close contact to Product owner and Business Experts• Higher level of Abstraction• High degree of Automation • Shorter feedback cycles• Make it cheaper to make mistakes and learn from it

Page 21: Intro to agile

Excerpts from a 3 hour seminar on how to fail with Agile and Iterative Development

Page 22: Intro to agile

Failing with Iterations• Waterfall iterations

– “Analysis iteration”, “Design Iteration”….• Remember to minimize technical risks early• A time box has a fixed length

– Max 1 month! Longer than that it’s no longer an iteration– Do not extend an iteration. Take things out!

• Done is Done!– Done is including TEST! No hidden work

• Changes are a part of the process. Not an exception

Page 23: Intro to agile

Failing on a Management level• Unclear goals. What are we trying to achieve?• Method = Product

– Buy a license and a consultant, then we are OK• Isolate Agile to one project alone• Going Agile is an iterative a process in itself• Use traditional follow-up and management

processes• You will NOT get pay-off from the day one

Page 24: Intro to agile

Failing on a larger scale• Agile affects the whole organization

– Users, business, management, test, deployment,..• Understand what you do. Try before dissing

– Scrum Buts: “We use Scrum, but……”• Be pragmatic and proactive

– Focus on results and not on following the book

Page 25: Intro to agile

What to do?• Communication, communication, …

– Make sure to involve people in the process– Listen, Learn and Adapt– Implement iteratively and actively by doing!

• Have realistic goals. Short and long term• Accept changes

– “Only 10% of what you worry about will ever happen”• Get professional help

Page 26: Intro to agile

How to supercharge AgilityA “radical” shift – to a larger degree of automation

Model Driven Development

Page 27: Intro to agile

Lean & Agile

Are both treatmenting Symptoms not providing a cure!

Page 28: Intro to agile

We can’t control everything

Rather than focus on being Agile which may lead to being successful, focus on being successful, which may lead you to being Agile

Page 29: Intro to agile

ThanksFor more information

[email protected]

or

@jeppec on Twitter