Kanban at radical_fusion

30
Kanban at RadicalFusion Sam McAfee, Co-Founder

description

Sam McAfee talks about how they have applied Kanban and lean methodologies at RadicalFusion during the San Francisco Agile User Group meeting at Atlassian.http://youtu.be/RkV1WgeQX8A

Transcript of Kanban at radical_fusion

Page 1: Kanban at radical_fusion

Kanban at RadicalFusion

Sam McAfee, Co-Founder

Page 2: Kanban at radical_fusion

About Me

• Moved to Bay Area in 1997. • Freelanced as web developer starting in late 1999.• Co-founded RF in 2002.

 

Page 3: Kanban at radical_fusion

About Me

• Started as the only developer. Gradually morphed into...o Lead Developero Project Managero Sales / Business Development

• Now, slowly moving back to coding again. 

Page 4: Kanban at radical_fusion

About RadicalFusion

• Founded in SF 2002. • Moved to Oakland in 2008. • Virtual, first 8 years.• Opened office space in 2010.

Page 5: Kanban at radical_fusion

About RadicalFusion

• Web development agency serving:o Non-profits / Unions (because we care)o Start-ups (because it's fun)o Established companies (because we must)

Page 6: Kanban at radical_fusion

About RadicalFusion

• Small team:o 2 co-founderso 5 engineerso 1 business analyst o 1 project managero outsource VD and UX (but hiring...)

Page 7: Kanban at radical_fusion

Early Methodology

• 2002 to 2004: Waterfallo Constantly exceeding estimateso Frequent disputes with client over scope o High defect rates, poor code quality

• Inexperienced developers (namely, me!)

Page 8: Kanban at radical_fusion

Early Agile Adoption

• Started hiring other developers around 2004. • Started incorporating Agile around the same time:

o Iterations instead of phases o Test-driven developmento Gradual adoption of design patterns

• No particular style. Hybrid of Scrum, XP, FDD and others.

Page 9: Kanban at radical_fusion

Early Agile Adoption

• Local, but virtual team though, so...o No pair-programming, obviouslyo No daily stand-upso No retrospectives (not "officially", anyway)

Page 10: Kanban at radical_fusion

Maturing Agile Adoption

Gradually added: • Automated builds• Continuous integration• Automated acceptance tests

Page 11: Kanban at radical_fusion

Early Tool Use: Version One

• Started using Version One in 2006.o Release Planning with stories, epicso Iterations built-into work-flowo Tracks Burn-down, velocity automatically

• Used tool to enforce the processo Not very Agile, true.o But virtual teams are hard to manage!

Page 12: Kanban at radical_fusion

Early Tool Use: Version One

• Too "Enterprisey" for uso Most projects were 1 release anywayo Cluttered UIo Features overkill: maybe used 10% of ito Pricey!

Page 13: Kanban at radical_fusion

Later Tool Use: Pivotal Tracker

• A friend showed us Pivotal in 2009.o Simple UIo Story-board look and feelo Lots of automatic time-sensitivity (velocity, iterations).

Page 14: Kanban at radical_fusion

Later Tool Use: Pivotal Tracker

• Did not fit our process very well:o Hard to track builds, tests from other systemso Hard to manage acceptance criteriao Poor tracking, reporting features

Page 15: Kanban at radical_fusion

Pivotal vs. VersionOne

• Both tools have limitations:o VersionOne is too complexo Pivotal is too simple

• Considering moving away from online tools entirely! • What will we do then?

Page 16: Kanban at radical_fusion

Enter Kanban...

• How did we find out about it? • Searching for Agile resources online...

o Net Objectives o Lean Software Developmento Taiichi Ohnoo Kanban!

Page 17: Kanban at radical_fusion

Enter Kanban...

• Kanban is part of Lean. Lean must be properly understood in order to make use of Kanban.

• Applying Lean Principles:o Value stream mappingo Cycle time o Queues and Bottleneckso Work in Process (WIP) Limitso Measuring Progress o Stop the Line

Page 18: Kanban at radical_fusion

Value Stream Mapping

• Visual representation of how value flows through your production process.

• Start with origin of concept or ideao Customer requesto Feature ideao Infrastructural requirement

• End with consumption of the resulto Request processedo Feature deliveredo System in place

• Map every step in between needed to produce it

Page 19: Kanban at radical_fusion

Cycle Time

• How long does it take one item of work to get from initial concept to delivery to the customer?

• This is your cycle time.• Delays in a process represent waste.• The longer it takes to produce, the greater the risk of

increased waste.• Your goal is to reduce cycle time.

Page 20: Kanban at radical_fusion

Queues

• Between steps in the value stream, items sit in a queue.• Items of work spend most of their time here.• Managing queues is critical to managing cycle time. 

o How long are your queues?o Can you reduce the size of the queue?o Figure out what the bottle-neck is and eliminate it.

Page 21: Kanban at radical_fusion

WIP Limits

• Multi-tasking is evilo Teams and individuals can easily become overloadedo Partially completed work = wasteo Items wait longer in the queue = more waste

• Focus on just one thing at a time•  Our approach:

o No more than x items worked on at a time, where x = team size / 2.

o Everything can be paired on. Pairing = better codeo No-one works alone (unless it really only makes sense to

do so).o Thus Lean encourages better Agile practices

Page 22: Kanban at radical_fusion

Measuring Progress

• Measure the right things. o Measure cycle time.o Measure queues.o Measure WIP.o Measure value produced, if possible.

• Use the feedback you get to optimize the whole process.

Page 23: Kanban at radical_fusion

Stop the Line

• Empower the team to halt the production line if a defect is discovered.

• Examples in software:o Broken builds trigger a "swarm".o Fix defects first, then continue feature development.o Adjust the process immediately, when not working.o Ask for help.

Page 24: Kanban at radical_fusion

Barriers to Kanban at RadicalFusion

• Team was not co-located.• Projects were silos.• Iterations were a false "cadence".• Not measuring the right the metrics.

Page 25: Kanban at radical_fusion

Barriers to Kanban at RadicalFusion

• Opened an office. Co-located the team.• Set up the board to merge all projects into a single queue.• Moved to continuous deployment model.• Started tracking cycle time, wait time, and work time.

Page 26: Kanban at radical_fusion

The Kanban Board

First attempt:

Page 27: Kanban at radical_fusion

The Kanban Board

Second attempt:

Page 28: Kanban at radical_fusion

The Kanban Board

Current attempt:

Page 29: Kanban at radical_fusion

Barriers to Kanban at RadicalFusion

• Still face some challenges:o Estimates are not part of Kanban, but clients want them

anyway.o Fixed-scope contracts are a reality.o Keeping work-item sizes relatively uniform.

Page 30: Kanban at radical_fusion

Thank You!

Questions?• [email protected]• @sammcafee • http://radicalfusion.net