agile conference2010 upstream-kanban_at_ctct

46
Upstream Kanban Process Evolution in the Constant Contact Website Team Rick Simmons – Mike Fitterman This work is licensed under the Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported License.

Upload: mike-fitterman

Post on 17-Dec-2014

236 views

Category:

Technology


0 download

DESCRIPTION

Transformation of the Website Team at Constant Contact through Kanban

TRANSCRIPT

Page 1: Agile conference2010 upstream-kanban_at_ctct

Upstream KanbanProcess Evolution in the Constant Contact Website Team

Rick Simmons – Mike Fitterman

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

Page 2: Agile conference2010 upstream-kanban_at_ctct

MikeEngineering Mgr, Web Team

20 years in dev leadership Tried many processes: “All can

work” Interested in process beyond

utilization and deadlines

[email protected] Twitter @cutshot

RickDirector, Agile Practices

22 years in dev/ops leadership Tried many processes: “Some

work better than others” Interested in change and

maturity at organization level

[email protected] @simmons3k

Now Directorof Engineering

Now Agile Coach

Page 3: Agile conference2010 upstream-kanban_at_ctct
Page 4: Agile conference2010 upstream-kanban_at_ctct

Kanban:quantitative

workflow management

Kanban flow

Your roles, competencies,

processes,etc.

R

Page 5: Agile conference2010 upstream-kanban_at_ctct

Map the “value stream”

Put it on the wall

Pick some WIP limits

Pull work through

Measure

Watch, tackle, improve

How do you Kanban?

Cycle Time

5 2 2 4

X

R

Page 6: Agile conference2010 upstream-kanban_at_ctct

• Convert visitors to trialers

Constant Contact Website:

Login portal

R

Page 7: Agile conference2010 upstream-kanban_at_ctct

EngineeringProduct Strategy

Organization Before

PRODUCT DELIVERYProduct Mgt Dev Ops

Design

190 ppl

Web team: 15

R

Page 8: Agile conference2010 upstream-kanban_at_ctct

Upstream?

Web Team: Service

Organization

StakeholdersMarketing

R

Page 9: Agile conference2010 upstream-kanban_at_ctct

Milestones

6/09 4/1011/09

Launch

Policies

Team reorganization

Metrics

Upstream board

Upstream WIP limits

R

Page 10: Agile conference2010 upstream-kanban_at_ctct

Team Makeup and Process, 2009

Engineering4 Java/J2EE Developers+ Manager

Design4 Design/Web Developers+ Manager

SharedPOs, QA

Scrum• Weekly Releases• HTML/JSP/CSS only changes• 1 ½ days testing to ship

• Monthly Releases• Delivered “hard” changes – Java code, integrations, etc.• Week-long Regression to ship

6/09 4/1011/09

Launch

M

Page 11: Agile conference2010 upstream-kanban_at_ctct

Silo development

Disjoint cycles

Split QAlower quality

Upstream dependencies

?Plan/retro time12-24 hr/mo per

member

Small change

from retros

Reputation for slow delivery

Redundancy

ChallengesM

Page 12: Agile conference2010 upstream-kanban_at_ctct

Initial Goals

Smooth out delivery flow

Function as one team

Gain back some time

Iterate fast and make change as we go

• Have teams work together• Release more things more often

• Eliminate Developer and QA problems from 2 teams working on code base

• Coordinated planning meetings

• Eliminate PO/Scrum Master/QA time split

• Shorter planning meetings, but more often

M

Page 13: Agile conference2010 upstream-kanban_at_ctct

First Board

Swim lanes WIP limits Verify col.

R

Page 14: Agile conference2010 upstream-kanban_at_ctct

Week 2: overloaded, hidden work

Verify column over limit

Blocked Items

Work not on board

R

Page 15: Agile conference2010 upstream-kanban_at_ctct

Week 4: Board mods and policies

6/09 4/1011/09

Policies

Wait states Less columns Team adding policies

R

Page 16: Agile conference2010 upstream-kanban_at_ctct

Policies on wiki page…

…but no one ever went there

:(

Eventually we put them on the board

M

Page 17: Agile conference2010 upstream-kanban_at_ctct

Week 5: Broke down code queue

Items Tasks

M

Page 18: Agile conference2010 upstream-kanban_at_ctct

A few days later….

Deploy states

No work not on board

M

Page 19: Agile conference2010 upstream-kanban_at_ctct

Engineering

Product Strategy

Marketing

Large-scale Reorganization

“Kaikaku”

R

Page 20: Agile conference2010 upstream-kanban_at_ctct

EngineeringProduct Strategy

Before re-org

Rest of org

Marketing

Web Design Web Eng

PO PO

PM

R

Page 21: Agile conference2010 upstream-kanban_at_ctct

Product Strategy

Web Team

After re-org

Rest of org

Marketing

Delivery team

Engineering

Engineering

Design

Kanban

GM

POs

R

Page 22: Agile conference2010 upstream-kanban_at_ctct

Strategy aligned with Execution Eliminated redundant functions Made team made self sufficient

– Approve own work, remove wait states

Reorganization

6/09 4/1011/09

Team reorganization

R

Page 23: Agile conference2010 upstream-kanban_at_ctct

2 teams, 1 board: single flowM

Page 24: Agile conference2010 upstream-kanban_at_ctct

Month 5: Metrics & Mike’s lesson■ Ability to watch and tune

■ From intuition to quantitative management

6/09 4/1011/09

Metrics

M

Page 25: Agile conference2010 upstream-kanban_at_ctct

What the metrics showed■ QA is many times overloaded

■ Needed to get them below their limits ■ Worked on “constant” delivery

■ Delivering late causes overload and quality problems

Before After

M

Page 26: Agile conference2010 upstream-kanban_at_ctct

How We Smoothed Out FlowWork on separate dev branches Test in parallel on other QA Environments Earlier testing, less work at endMore policies Automation/unit testing;

add known bugs to tests Increase functional testing;

added Cubic Test Unit Testing to constant

improvement

Metrics are the KEY

M

Page 27: Agile conference2010 upstream-kanban_at_ctct

6 Months

Explicit policies, but no WIP limit

New Class of Service: Bugs & “Footprints”

M

Page 28: Agile conference2010 upstream-kanban_at_ctct

Visibility up 200%, extends up to GM Eliminated redundant Excel data Collaborative prioritization

Upstream board to marketing

6/09 4/1011/09

Upstream Board

PO’s idea!

M

Page 29: Agile conference2010 upstream-kanban_at_ctct

9 Months: Too much stuff

Downstream capacity:5 to 7 items per week

4X capacity upstream…Need to limit upstream WIP

M

Page 30: Agile conference2010 upstream-kanban_at_ctct

10 Months: WIP Limits on PO BoardCurrent Board

6/09 4/1011/09

Upstream WIPLs

Old Board

M

Page 31: Agile conference2010 upstream-kanban_at_ctct

Month 10: Single queue

Produce

Todo Item and task

type by color

WIPL = 6 full items

Bugs & Footprints on board

Visible policies

M

Page 32: Agile conference2010 upstream-kanban_at_ctct

Improvement just from the visualizing flow Manager is responsible to make improvement

happen– Not the Team, although they are empowered to

Change should be based on metrics Value in measuring change

– Know that it was a “good change”– Show effectiveness to team– Show improvement to organization

Kanban… “It’s really about management” –Mike

M

Page 33: Agile conference2010 upstream-kanban_at_ctct

“It’s really about

improvement”

–Rick

Kanban…R

Page 34: Agile conference2010 upstream-kanban_at_ctct

Business Value Metrics (Sticky Color)

Managers care about bugs

PO/PMs care about where time is going overall

M

Page 35: Agile conference2010 upstream-kanban_at_ctct

Throughput metrics

Possible inverse correlation between items and bugs?

M

Page 36: Agile conference2010 upstream-kanban_at_ctct

Cycle TimesClass of Service

SLA to Production

Footprint 7 Calendar Days

Bug 12 Calendar Days

Small 15 Calendar Days

Medium 56 Calendar Days

Large Class of Service: unpredictable… eliminatedCycle Time is an SLA is for the Product Mgt TeamWill extend to “Lead Time”, a Stakeholder SLA

M

Page 37: Agile conference2010 upstream-kanban_at_ctct

11 Items

Interim Adjustment Example - CFD

8 Items

Bugs increased after an increase in WIP

M

Page 38: Agile conference2010 upstream-kanban_at_ctct

Control Chart - Smalls

This is perfect! Just what we would expect… very predictable

M

Page 39: Agile conference2010 upstream-kanban_at_ctct

Control Chart - Mediums

Just enough to start being significantErratic scatter – more likely to miss SLAExperimenting with breaking Mediums into Smalls

M

Page 40: Agile conference2010 upstream-kanban_at_ctct

Silo development

Disjoint cycles

Split QAlower quality

Upstream dependencies

?Plan/retro time12-24 hr/mo per

member

Small change from

retros

Reputation for slow deliveryRedundancy

Challenges -> benefits

Replaced with design & code

reviews, JIT tasking

Meeting waste reduced by 51

person-hrs

Kaizen has taken root

in the whole team

M

Page 41: Agile conference2010 upstream-kanban_at_ctct

Silo development

Disjoint cycles

Split QAlower quality

Upstream dependencies

?Plan/retro time12-24 hr/mo per

member

Small change from

retros

Reputation for slow deliveryRedundancy

Challenges -> benefits

Design: less wait statesEngineering: 4X pace of delivery

Increased pace of delivery for

both teams

Collaboration is way up

M

Page 42: Agile conference2010 upstream-kanban_at_ctct

Silo development

Disjoint cycles

Split QAlower quality

Upstream dependencies

?Plan/retro time12-24 hr/mo per

member

Small change from

retros

Reputation for slow deliveryRedundancy

Challenges -> benefits

WIPLs transformed upstream prioritizing

& approval cycles

Collapsed redundant marketing functions

M

Page 43: Agile conference2010 upstream-kanban_at_ctct

Silo development

Disjoint cycles

Split QAlower quality

Upstream dependencies

?Plan/retro time12-24 hr/mo per

member

Small change from

retros

Reputation for slow deliveryRedundancy

Challenges -> benefits

• Goal team with real metrics

• See issues as they happen rather than long after

• Understand why they happened rather than intuit it

Reputation transformed

Managing by metrics

M

Page 44: Agile conference2010 upstream-kanban_at_ctct

Organizational Change and Rick’s lesson…

Value from small change influences big change

R

Page 45: Agile conference2010 upstream-kanban_at_ctct

EngineeringProduct Strategy

PRODUCT DELIVERYProduct Mgt Dev Ops

Organization After

?

?

Rest of org ??

?

3 teams trying

5 teams thinking

5 teams LIVE

1

23

4* *

*

5

R

Page 46: Agile conference2010 upstream-kanban_at_ctct

Silo development

Disjoint cycles

Split QAlower quality

Upstream dependencies

?Plan/retro time12-24 hr/mo per

member

Small change from

retros

Reputation for slow deliveryRedundancy

The best thing about success… influencing change

Thanks for coming!

Upstream Kanban by Rick Simmons and Mike Fitterman is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.