Starting Agile in a Company
-
Upload
vaidas-adomauskas -
Category
Technology
-
view
2.424 -
download
3
description
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