Agile product development and project management with Kanban

40
Kanban, Lean and Agile Product Development Alberto A. Caeiro Jr, PMP Partner and CTO Crihen Internet Ventures & Teckler.Inc.

description

Presentation made at 21212 workshop, covering agile concepts like lean, kanban, mpv applied to product development and project management in an startup environment.

Transcript of Agile product development and project management with Kanban

Page 1: Agile product development and project management with Kanban

Kanban, Lean and Agile Product Development

Alberto A. Caeiro Jr, PMPPartner and CTO

Crihen Internet Ventures & Teckler.Inc.

Page 2: Agile product development and project management with Kanban

Agenda

• Why Agile

• What is Agile (and what is not)

• What it Means

• Agile in Product Development

• What is Kanban

• Best Practices

• Practice (Dojo Session)

Page 3: Agile product development and project management with Kanban

“The only sure thing is uncertainty”

Page 4: Agile product development and project management with Kanban

Why Agile?

• Start up = Fast Growth, Change and Learning• It’s very difficult to get market-product fit at first,

so you have to test (change) a lot of things and learn what sticks

• (very) Rapid Growth is an expected outcome when you find your Product-Market Fit

• Agile• It’s a software development approach which helps

the team on focusing in what matters• One pillar of Agile teams is to “embrace and

welcome change”

Page 5: Agile product development and project management with Kanban

What is NOT Agile?

• It’s not a “No-Men” land, where everybody does what one wants

• It’s not a misaligned environment.

• It’s not caos or anarchy

Page 6: Agile product development and project management with Kanban

What is Agile?

• Most of all: it’s a new way of thinking and working

• Ideal for ever-changing environments like the ones faced by (tech) start-ups

• Very fast iteration and feedback loops

• Per si, it’s not a methodology, but a new way of thinking and behaving

• Deliver value to customer since the beginning

Page 7: Agile product development and project management with Kanban

The Agile Manifesto

• Welcome Change

• Deliver Working Software

• Business People and Tech team must work together

• Build the team with the right people and get them space and freedom to work

• Face to face interaction over documentation, emails, memos

• Maintain a constant pace

• Working software as a measure of progress

• Simplicity

• Technical Excellence

Page 8: Agile product development and project management with Kanban

“Agility is the new rule”

Page 9: Agile product development and project management with Kanban

What it really means

• Welcome in changing requirements (change is the only certainty you can count on)

• Listen to you customer/audience

• Embrace diversity (No distinction among business and tech team)

• Build (and ship) instead of theorize (the real test is the market)

• Simple is much (much) better than complex

• Test a lot of things (always/most of the time, from the business perspective)

• And keep learning…

• Measure progress against the right things (working software)

Page 10: Agile product development and project management with Kanban

“Excellence in Execution is paramount”

Page 11: Agile product development and project management with Kanban

Agile in Product Development?

• Listen your customer (Lean)

• Simplicity & Welcome Change (MVP)

• Value Stream Mapping/Analysis (Lean)

• Get rid of waste (unnecessary docs, unnecessary meetings, unnecessary features, etc) (Lean)

• Go to the heart of the matter (Lean)

• Continuous Delivery and Maintain a constant pace (Kanban)

• Pull System (Lean / Kanban)

• Face to Face Meetings (Kanban)

Page 12: Agile product development and project management with Kanban

(MVP)

Page 13: Agile product development and project management with Kanban

What is a MVP

• MVP = Minimal Viable Product• Is used to test you business

premises/assumptions• To validate your business model• To identify you real customer• To understand what your customer really wants

• In practical terms is the minimum set of features you should have to validate your assumptions

Page 14: Agile product development and project management with Kanban
Page 15: Agile product development and project management with Kanban

What is Lean

• It comes from the legendary TPS (Toyota Production System)

• Based on some pillars, the most useful for us:• Value stream mapping• Flow Creation• Waste reduction/elimination• Root-cause analysis• Pull System• Continuous Improvement

Page 16: Agile product development and project management with Kanban

Lean Toolset

• 8 Types of Waste• Defects• Overproduction• Waiting• Non Utilized

Resources/talent• Transportation• (excess of) Inventory• (unnecessary) Motion• Over Processing

• Root-Cause Analysis• 5 Whys, Ishikawa

Diagram

• “5S” Tools• Sort, Straighten, Scrub,

Standardize, Sustain

• Heavily Based on PDCA

• Value Stream Mapping

Page 17: Agile product development and project management with Kanban
Page 18: Agile product development and project management with Kanban

What is Kanban

• It’s a visual signboard process used to• Reduce/limit the Work in Progress• Balance demand against throughput• Create flow and constant pace of delivery• Identify and remove bottlenecks and problems• Keep the whole team synchronized and aligned• Shorten lead times to improve predictability

• It’s a lean tool

• Kanban per si is an agnostic “tool”, can be used both in agile and in waterfall approaches

Page 19: Agile product development and project management with Kanban

Recipe for Implementing Kanban

1. Focus on Quality (no Technical Debt)

2. Limit Work-In-Progress (enough of multi-tasking)

3. Deliver Often

4. Balance Demand against Throughput

5. Prioritize

6. Attack Sources of Variability to Improve Predictability

* From David J. Anderson (Kanban: Successful Evolutionary Change For your Technology Business)

Page 20: Agile product development and project management with Kanban

Product Development covers a lot of things:

Page 21: Agile product development and project management with Kanban

Product Development

• Product Development (Technical)• Feature Set (in the proper order)• User Interactions and User Experience (UX)• Wire-frames, Information Architecture• Visual Design

• Product Development (Non Technical)• Positioning, Marketing and Advertising• Communication and PR• Pricing• Distribution and Logistics• Vendors, Partnerships, etc.

NOT COVERED TODAY

Page 22: Agile product development and project management with Kanban

Product Development

• Feature Set• Which features should be built• (most important) In which order

• MVP• Which are the most fundamental assumptions

I need to test/validate/learn• What are the most critical features in terms of

value proposition• How will I measure this learning

Page 23: Agile product development and project management with Kanban
Page 24: Agile product development and project management with Kanban

Product Development

• User Interactions• How the user will interact with the product

you are designing.• Which steps are needed to perform the

actions/tasks proposed that add value• How all components fit together (from a

business perspective)• Focus on the customer• It should be done before or alongside the

wire frame.

Page 25: Agile product development and project management with Kanban

Product Development

• Wire-frames• It’s like a building’s blue-print• In practical terms is the “realization” of the

User Experience & Information Architecture• No concerns about the beauty of visual

design• No colors specs, no animation effects,

nothing blinks• The main idea is to get a more tangible idea

on HOW the user interaction will take place.

Page 26: Agile product development and project management with Kanban

Wire Frames

Page 27: Agile product development and project management with Kanban

Product Development

• Visual Design• The real look and feel• Colors, CSS, Images, etc.• The beauty of the site• Complements the UX reinforcing the

product positioning (marketing)

Page 28: Agile product development and project management with Kanban

Best Practices for Agile Product Development

• Define/Identify Key Business/Learning Metrics

• Test your business assumptions through the MVP

• Use A/B test to gather a better understanding of your customer needs and pains

• Implement some kind of feedback loop.

• Implement a Visual Control System

• Use a pull system (or a Time-Boxed Approach)

• Daily Meetings

• Go back to step 1…

Page 29: Agile product development and project management with Kanban

Minimum Viable Product

Page 30: Agile product development and project management with Kanban

A/B Testing

• A testing methodology used to understand how specific changes can affect user behavior and thus your bottom-line KPIs• One (or more) testing group(s) “receives”

the testing • One (or more) group (control group)

receive the “normal” feature

• Comparing KPIs allow you to identify what is more effective for each group

Page 31: Agile product development and project management with Kanban

Visual Control System

Page 32: Agile product development and project management with Kanban

Kanban Board

• Map you production flow/process

• Identify the capacity of each component

• Limit work in progress for whole system by the component with the less capacity

• Keep everything in sight (i.e.: visual control is a MUST)

• Dynamically (and ongoing) identify the bottlenecks

• Maintain the flow/pace

• Use a Pull-system approach to handle work

Page 33: Agile product development and project management with Kanban

Kanban Board

System Capacity

Value Chain

Page 34: Agile product development and project management with Kanban

Pull System (Kanban Way)

• No Inventory

• One feature is only schedule to be built upon “customer” request

• Development is always driven by the market/customer, to supply a specific demand

• In practical terms:• Put on your do-to queue only when there is someone willing to

pay for it

• Spec only when you are about to code/design

• Code only when you are about to ship

• Ship only when the need is clear

• No “predefined” sprints. The focus is to achieve flow and a constant pace of delivery.

Page 35: Agile product development and project management with Kanban

Time-Boxed Approach

• Time is the only fixed constraint• 1 week, 2 weeks (rarely more than this)

• So you can change (reduce/increase) • feature-set• quality standards (not recommended)• scope coverage

• But you are always delivering/shipping at the same rate, in a constant pace.• Increased visibility

Page 36: Agile product development and project management with Kanban

Daily (Stand Up) Meetings

Page 37: Agile product development and project management with Kanban

Daily StandUp Meetings

• Address Problems and Bottlenecks in “Real Time”

• Keep track of progress

• Keep communication channels open

• Keep the team focus

• Clarify/Address concerns

• Allow prompt route adjustments

• Allow for queue replenishments

Page 38: Agile product development and project management with Kanban

Practical Session

• Map your value stream/workflow

• MVP to prioritize your Backlog

• Kanban to daily execute/control/manage your development activities• System Capacity• 2 iterations - Time-Boxed (2hs for the

sessions)

Page 39: Agile product development and project management with Kanban

Q & A

• Feel free. It’s time now!

Page 40: Agile product development and project management with Kanban

About Me

• Who the hell is this guy?• Responsible for Tech Operations, Architecture

and Project Management as well as tech staffing and recruiting at Crihen Internet Ventures & Teckler.Inc. • Former Head of Software Development at

Match.com and WW CTO of Automatos Inc - an Intel Capital Company, where he led all tech group covering operations in USA, India, Europe, Australia and South America. Had worked as Global Project Manager at the Internet Division of Bowne Global Solutions (bought by Lionbridge).