Starting Agile in a Company

Post on 06-May-2015

2.425 views 3 download

description

Tips

Transcript of 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

Vaidas Adomauskas

Blog: http://scrum.agile.lt

Twitter: @adomauskas

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

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

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

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

Agenda

• Why teams?

• Organizing Teams

• Organizing Projects

• Organizing Support

• Summary and Q/A

Split your organization

Split your product

Optimize business value

$

$$$

Why teams?

Which group gets better results?

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

Which ones

they will be?

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

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!

My team in Adform

IMHO: it takes ~2 months to

grow to performing team

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

Permanent teams are most effective

Organizing Teams

Cross-functional

teams

Feature Team Component Team

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

How to split?

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)?

How many teams?

• #teams = #people / 7

Warning!

It seems easier to work in

smaller teams…

be aware more teams – more

“management”!

Anyone else?

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

Form cross-functional feature teams

Organizing Work

Create Product Backlog (Project Portfolio)

• List all projects

• Prioritize (order) them

Create Product Backlog (Product)

• Slice your product

• Prioritize slices

What tool to use?

Follow experiment @adomauskas

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)

Work for teams (not vise versa!)

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

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

Work for teams (not vise versa)

Organizing Support

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

Which one your company looks more alike to?

Planned work Unplanned work

Fires!

• Urgent client requests

• Production bugs

• Minor features

• Development bugs

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)

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)

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?

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

Team handles it

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

• Measure it!

• Get it to 0%!

Support team

• Good:• “Focus” on bug fixing

• Issues:• Knowledge of the

system

• Demotivating work

• No team ownership for good code

Support is our life…

• Are you sure??!

• Use Kanban!

Prevent the fires!

Summary

Courage

External help

Start NOW

Thank you

Vaidas Adomauskasv.adomauskas@gmail.com

http://scrum.agile.lt

Let’s Scrum!Let’s Scrum!