Starting Agile in a Company

48
Starting Agile in a Company Tips how to organize projects/products portfolio and cross- functional teams Vaidas Adomauskas 2011-10-06

description

Tips

Transcript of Starting Agile in a Company

Page 1: Starting Agile in a Company

Starting Agile in a Company

Tips how to organize projects/products portfolio and

cross-functional teams

Vaidas Adomauskas2011-10-06

Page 2: Starting Agile in a Company

Vaidas Adomauskas

Blog: http://scrum.agile.lt

Twitter: @adomauskas

SlideShare: http://www.slideshare.net/vaidasa

LinkedIn: http://www.linkedin.com/in/vaidas

Page 3: Starting Agile in a Company

Adform (www.adform.com)

• Founded in 2002 in Copenhagen, Denmark

• Handling campaigns in more than 25 countries

• 10 offices

• 130+ employees(100+ in Lithuania)

• 60+ developers

Page 4: Starting Agile in a Company

Agile in organization

January

April

Split your organization

Split your product

Spilt timeOptimize business value

Optimize process

$

$$$

Burndown

Unplanned items

Notchecked out Done! :o)

Write f ailing test

DAO

DB design

I ntegr test

Migration tool

Write f ailing test

GUI spec

Tapestry spikeI mpl.

migrat ion

2d

Code

cleanup

Deposit

2d1d 0.5d1d

2d

8d

1d2d

2d

BackofficeLogin

BackofficeUser admin

Write f ailing test

3d

2d

1d2d

I mpl GUI

1dI ntegr. with

J Boss2d

Write f ailing test

3d

I mpl GUI

6d

Clarif y require-ments

2d

GUI design (CSS)

1d

Fix memory leak(J I RA 125)2d

Sales support

3d Write whitepaper

4d

SPRINT GOAL: Beta-ready release!

Next

WithdrawPerf testWithdraw

checked out

Write f ailing test

Create product in increments

Henrik Kniberg “The essence of Agile” AgileEE 2010

Page 5: Starting Agile in a Company

Agenda

• Why teams?

• Organizing Teams

• Organizing Projects

• Organizing Support

• Summary and Q/A

Split your organization

Split your product

Optimize business value

$

$$$

Page 6: Starting Agile in a Company

Why teams?

Page 7: Starting Agile in a Company

Which group gets better results?

Page 8: Starting Agile in a Company

Viktorija Trubačiūtė http://www.slideshare.net/AgileLietuva/vieno-pilotinio-projekto-istorija, Lietuvos Agile Diena 2011

Which ones

they will be?

Page 9: Starting Agile in a Company

No common purpose…

Group of people

Common purpose

Performing team!

A team comprises a group of people or animals linked

in a common purpose.http://en.wikipedia.org/wiki/Team

Page 10: Starting Agile in a Company

http://en.wikipedia.org/wiki/Forming-storming-norming-performing

Bruce Tuckman model: http://3.bp.blogspot.com/-H9_AmIgf464/TaJeGbKuyQI/AAAAAAAAARs/H_lLhVAXyeQ/s1600/Tuckmans+model.png

It takes TIME to build performing team!

Page 11: Starting Agile in a Company

My team in Adform

IMHO: it takes ~2 months to

grow to performing team

Page 12: Starting Agile in a Company
Page 13: Starting Agile in a Company

Anyone else?

• … ir vienas svarbiausių dalykų - darbuotojai pradėjo dalintis žiniomis ir kartu siekti bendro tikslo, kartu atsakyti už klaidas, neįvykdytus įsipareigojimus. "Ashburn International"

• … one of the most important things – employees started sharing knowledge and seek for common goal together, care for mistakes and not fulfilled commitments together. "Ashburn International"

http://www.linkedin.com/groups/Scrum-CSM-CSP-95979.S.71543428

Page 14: Starting Agile in a Company

Permanent teams are most effective

Page 15: Starting Agile in a Company

Organizing Teams

Page 16: Starting Agile in a Company

Cross-functional

teams

Page 17: Starting Agile in a Company

Feature Team Component Team

Craig Larman, Bas Vodde - “Practices for Scaling Lean & Agile Development”: http://www.craiglarman.com/

How to split?

Page 18: Starting Agile in a Company

Component Teams…

Good

• Easy start - developers know components, not features

• Cross-functional - testers/analysts divided to teams

Consider

• How to divide components?

• How to run valuable sprint reviews?

• How to plan features?

Warning!

Are you really that big

(more than 50 people)?

Page 19: Starting Agile in a Company

How many teams?

• #teams = #people / 7

Warning!

It seems easier to work in

smaller teams…

be aware more teams – more

“management”!

Page 20: Starting Agile in a Company

Anyone else?

• Company: “We need to split our departments in different cities and organize them around our products.”

Page 21: Starting Agile in a Company

Form cross-functional feature teams

Page 22: Starting Agile in a Company

Organizing Work

Page 23: Starting Agile in a Company

Create Product Backlog (Project Portfolio)

• List all projects

• Prioritize (order) them

Page 24: Starting Agile in a Company

Create Product Backlog (Product)

• Slice your product

• Prioritize slices

Page 25: Starting Agile in a Company

What tool to use?

Page 26: Starting Agile in a Company

Follow experiment @adomauskas

Page 27: Starting Agile in a Company

What if our projects are big?

• Break it to minimal marketable features (MMF)

Project 1 Project 3Project 2

(3 months)

P1F1 P2F1 Project 3P1F2 P2F2P1F3

Time to Complete Project 1 (4 months)

Page 28: Starting Agile in a Company

Work for teams (not vise versa!)

http://www.solutionsiq.com/Portals/93486/images/many-teams-many-backlogs-one-backlog-agile.png

Page 29: Starting Agile in a Company

Anyone else?

• Big insurance system • cars, houses, life insurance; customers data,

integration with banks, accounting and billing, authorization flows…

• Insure a car • No integrations, billing…• Insure Volvo cars

• Insure Volvo V70

Page 30: Starting Agile in a Company

Work for teams (not vise versa)

Page 31: Starting Agile in a Company

Organizing Support

Page 32: Starting Agile in a Company

http://at2010.agiletour.org/files/5_AgileTour2010Vilnius_AKovaliov.pdf

Page 33: Starting Agile in a Company

Which one your company looks more alike to?

Planned work Unplanned work

Page 34: Starting Agile in a Company

Fires!

• Urgent client requests

• Production bugs

• Minor features

• Development bugs

Page 35: Starting Agile in a Company

Urgent client requests

• Is it urgent? • Yes!

• Will you use it tomorrow?• No…

• Will you use it next week?• Yes…

• Great, we will do it during in next sprint (NOT urgent)

Page 36: Starting Agile in a Company

Urgent client requests

• Is it urgent? • Yes!

• Will you use it tomorrow?• Yes…

• Really, we will check?• Ok.. Maybe next week

• Great, we will do it during in next sprint (NOT urgent)

Page 37: Starting Agile in a Company

Urgent client requests

• Is it urgent? • Yes!

• Will you use it tomorrow?• I need it yesterday!!!

• OK, Get on it right now (urgent)

• How we can plan this next time?

Page 38: Starting Agile in a Company

Fires!• Urgent client requests• Only small %• Plan most in product backlog

• Production bugs• Critical ones – yes, decrease them!• Major/minor – plan them in product backlog

• Minor features• NO, plan them in product backlog

• Development bugs• NO, this is part of sprint task

Page 39: Starting Agile in a Company

Team handles it

• Time “pillow” • Max 30% of sprint• Visualize on sprint board

• Measure it!

• Get it to 0%!

Page 40: Starting Agile in a Company

Support team

• Good:• “Focus” on bug fixing

• Issues:• Knowledge of the

system

• Demotivating work

• No team ownership for good code

Page 41: Starting Agile in a Company

Support is our life…

• Are you sure??!

• Use Kanban!

Page 42: Starting Agile in a Company

Prevent the fires!

Page 43: Starting Agile in a Company

Summary

Page 44: Starting Agile in a Company
Page 45: Starting Agile in a Company

Courage

Page 46: Starting Agile in a Company

External help

Page 47: Starting Agile in a Company

Start NOW

Page 48: Starting Agile in a Company

Thank you

Vaidas [email protected]

http://scrum.agile.lt

Let’s Scrum!Let’s Scrum!