Top Banner
Intro to Agile (Scrum & Kanban) by Craig L. Jones [email protected] © Craig L. Jones, 2011-13. All rights reserved.
74

Intro to Agile: Scrum vs. Kanban

May 07, 2015

Download

Health & Medicine

Craig Jones

A whirlwind tour of Agile methodologies, focusing on Scrum and Kanban.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Intro to Agile: Scrum vs. Kanban

Intro to Agile(Scrum & Kanban)

by Craig L. Jones

[email protected]

© Craig L. Jones, 2011-13. All rights reserved.

Page 2: Intro to Agile: Scrum vs. Kanban

32 Years Software Development

14 Years Agile (mostly XP, Scrum, & Kanban)

CSM & Scrum Coach

Recovering Over-engineer-er

http://tech.picsauditing.com

Page 3: Intro to Agile: Scrum vs. Kanban

AgileScrum

Kaizen

Scrumban

Le a n

KanbanXP

Page 4: Intro to Agile: Scrum vs. Kanban

Late 40's (Japan & Europe) Late '90's (Global)

Agile

XP

Scrum DSDM

Crystal Clear

RUPkanban

Kaizen

Six Sigma

BSC

TQM

Lean

ISO 9000

CMM

Kanban

Drum-Buffer-Rope

MRP

CONWIP

ScrumScrumBan

Page 5: Intro to Agile: Scrum vs. Kanban

Scrum

Page 6: Intro to Agile: Scrum vs. Kanban

Scrum

Page 7: Intro to Agile: Scrum vs. Kanban

Scrum

Rugby term for “huddle” – refers to the “Daily Scrum” (stand-up meeting)

Page 8: Intro to Agile: Scrum vs. Kanban

Scrum Team

● One Product Owner (representing many stakeholders)

● One Scrum Master

● Many Developers (7 ± 2)

Page 9: Intro to Agile: Scrum vs. Kanban

Product Owner

● Represents all of the stakeholders - “a single, wringable neck”

● Understands the big picture and the value each story brings to it

● Considered the hardest job in the company (if done well)

Page 10: Intro to Agile: Scrum vs. Kanban

Scrum Master

● Coaches everyone on the Scrum process● Facilitates the ceremonies● Stats Tracker● Impediment Unblocker● Half-time job (if done well)● Might also Scrum Master a second team, or● Might also be a Developer● Must NOT also be the PO

Page 11: Intro to Agile: Scrum vs. Kanban

Developer

● Cross-Functional (anyone devoted to the product development)

● Programmers (front end, back end, database)● Designers (UX, packaging, industrial)● Writers (tech, copy)● Artists● Testers (SDET, ad-hoc, certification)

Page 12: Intro to Agile: Scrum vs. Kanban

Scrum “Ceremonies”

● Backlog Grooming (ongoing)● Sprint planning (first 5% of the Sprint time; thus

2-8 hours)● Daily Scrums (15 min)● Sprint Demo (1-2 hours)● Retrospective (<1 hour)

Page 13: Intro to Agile: Scrum vs. Kanban

Scrum Artifacts

● Vision & Mission Statements● Product Backlog● Definition of Ready● Definition of Done● Sprint Backlog● Burndown Charts● Burnup Charts● Velocity Record

Page 14: Intro to Agile: Scrum vs. Kanban

Definition of Ready / Done

● Service Level Agreements for inbound/outbound work.

● Ready: Guarantees made to the team before a ticket is placed in the “Ready” column for them to pick up and process

● Done: Guarantees made by the team when a ticket is completed.

● Done: Most importantly lists what's not done (e.g. internationalization/localization).

Page 15: Intro to Agile: Scrum vs. Kanban

Burndown Chart

Page 16: Intro to Agile: Scrum vs. Kanban

Sprint Planning

● Story 1 (13 pts)

● Story 2 (3 pts)

● Story 3 (8 pts)

● Story 4 (13 pts)

● Story 5 (20 pts)

● Story 6 (3 pts)

● Story 7

● Story 8

● Story 9

● Story 10

● Story 11

● Story 12

● Story 12 (1 pt)

● Story 9 (5 pts)

● Story 1 (13 pts)

● Story 2 (3 pts)

Prioritized Product Backlog Sprint Backlog

During Sprint planning, the developers suggest that, even though Story 12 is not highly valued by the PO, it's a quick win (1 point) and something everyone can rally around. They also suggest that Story 9 is high risk and ought to be tackled early. The PO agrees.

All other things being equal, Stories 1 & 2 are pulled from the top of the prioritized backlog.

Page 17: Intro to Agile: Scrum vs. Kanban

A Scrum Board

Ready Test DoneDevDesignStory

White = Story (4x6 cards and blue masking tape)Yellow = Sub-Task (3x3 Post-It note)

Page 18: Intro to Agile: Scrum vs. Kanban

A Scrum Board

Ready Test DoneDevDesignStory

Page 19: Intro to Agile: Scrum vs. Kanban

A Scrum Board

Ready Test DoneDevDesignStory

Stories stay in the left column while tasks progress to the right

Page 20: Intro to Agile: Scrum vs. Kanban

A Scrum Board

Ready Test DoneDevDesignStory

Page 21: Intro to Agile: Scrum vs. Kanban

A Scrum Board

Ready Test DoneDevDesignStory

Page 22: Intro to Agile: Scrum vs. Kanban

A Scrum Board

Ready Test DoneDevDesignStory

Page 23: Intro to Agile: Scrum vs. Kanban

A Scrum Board

Ready Test DoneDevDesignStory

Page 24: Intro to Agile: Scrum vs. Kanban

Product Backlog

● Epics● User Stories● Technical Stories● Bug Tickets

– or –

● Epics● Features

– User Stories– Technical Stories– Bug Tickets

Page 25: Intro to Agile: Scrum vs. Kanban

Product Backlog

● Portfolio of Epics (18 month horizon)● Program of Features (9 month horizon)● Roadmap of Stories (3 month horizon)

Page 26: Intro to Agile: Scrum vs. Kanban

Story Template

As a _______________________, I want ______________________ so that ______________________

“As an administrator, I want a way to control which users can perform which tasks, via roles and permissions, so that we can pass a Sarbanes Oxley audit.”

Page 27: Intro to Agile: Scrum vs. Kanban

Acceptance Test

Given _______ and _______When _______ and _______Then _______ and _______

Given that I am logged in as an administrator, when I create a user John, and I create a role Clerk, and I assign the ReconcileReport permission to the Clerk role, and I make John a Clerk, then John should be able to log in and print the Reoncile Report.

Page 28: Intro to Agile: Scrum vs. Kanban

INVEST = Well-Written Stories

● Independent● Negotiable● Valuable● Estimable● Small● Testable

Page 29: Intro to Agile: Scrum vs. Kanban

INVEST = Well-Written Stories

Small vs. Independent______

As small as possible, yet still has intrinsic value

Page 30: Intro to Agile: Scrum vs. Kanban

Kanban

Page 31: Intro to Agile: Scrum vs. Kanban

Kanban means “Sign Board”

Kanban is an element of just-in-time (JIT) production, as invented by Taiichi Ohno for

Toyota in the late 1940's – based on studies of inventory systems used in supermarkets

at the time.

Page 32: Intro to Agile: Scrum vs. Kanban

kanban card = “signal card”

“kanban” with a lower-case “K”

Page 33: Intro to Agile: Scrum vs. Kanban

kanban card = “signal card”

Page 34: Intro to Agile: Scrum vs. Kanban

“Kanban” System

“Kanban” with a Capital “K” refers to a system (framework) for tracking work in progress.

“Signal” Cards Work Cards

Page 35: Intro to Agile: Scrum vs. Kanban

Kanban & Scrum Share...

● Easy to Learn the Basics● Big, Visible Charts● Regular Cadence● Retrospectives (“Inspect & Adapt”)● Cross-Functional Collaboration● Maximizing Value (by Eliminating Waste)● Early Feedback ● Formal Definitions of Ready/Done

Page 36: Intro to Agile: Scrum vs. Kanban

Kanban vs. Scrum

● It's all just “Work”

● Steady “Flow” by Limiting Work in Progress (“WIP”)

● Measure Cycle Time & Throughput

● “Pull” System

● Stories, Epics & Tasks

● Incremental Delivery via (2 week) Sprints

● Measure Velocity

● Sprint Planning/ Negotiating

Page 37: Intro to Agile: Scrum vs. Kanban

How to Choose?

Kanban:● Operations Work● Software

Maintenance Work● Coming from Rigid

Legacy Methods (Waterfall)

● Compartmentalized, Siloed Teams

Scrum:● Greenfield Project● Many Stakeholders● Must Coordinate

Around a “Roadmap”● Lots of Epic Stories

Page 38: Intro to Agile: Scrum vs. Kanban

A Simple Kanban Board

Ready Doing Done

No distinction between Stories and Subtasks. They are all just Tasks.

Page 39: Intro to Agile: Scrum vs. Kanban

A Simple Kanban Board

Ready Doing Done

Vertical “Lanes”

Page 40: Intro to Agile: Scrum vs. Kanban

A Simple Kanban Board

Ready Doing Done

“Sub Lanes”

Page 41: Intro to Agile: Scrum vs. Kanban

A Simple Kanban Board

Ready Doing Done

Horizontal “Swim Lanes”

!

Page 42: Intro to Agile: Scrum vs. Kanban

A Simple Kanban Board

Ready (3) Doing (3) Done

“WIP Limits”

Page 43: Intro to Agile: Scrum vs. Kanban

A Software Dev Kanban Board

Ready (6) Test (5) Done

Example of a team workflow with progressive steps (by different handlers)

Dev (3)Design (3)

Page 44: Intro to Agile: Scrum vs. Kanban

An Event-Planning Kanban Board

Ready (6) Finalize (5)

Done

Example of a (one-person) workflow with phases – nothing to do with engineering work

Short List (3)

Research (3)

Page 45: Intro to Agile: Scrum vs. Kanban

The Broader Picture

Ready (3) Doing (3) DoneBacklog Reflect

Page 46: Intro to Agile: Scrum vs. Kanban

A Typical Kanban Board for Software Development

Ready (6) Test (5) DoneDev (3)Design (3)

Page 47: Intro to Agile: Scrum vs. Kanban

“Pulling” Kanban Cards

Ready (6) Test (5) Done

Sub-lanes show when steps are completed (ready to be pulled)

Dev (3)Design (3)

Available to be pulled

Still in progress

Page 48: Intro to Agile: Scrum vs. Kanban

Why Limit Ready Column?

● Enforces delaying decisions until last responsible moment

● It's how the Product Owner “negotiates” with the team – PO (representing stakeholders) decides what, Team decides in what order (by pull)

● Work is tracked according to the time it enters the Ready column until it lands in the Done column (“lead time”). A ready limit makes that meaningful.

Page 49: Intro to Agile: Scrum vs. Kanban

Highlighting Priorities

Ready (6) Test (5) Done

!

Some options: Notation symbols on the cards, color coding of the cards, sub-lanes, or a combination thereof.

Dev (3)Design (3)

!

B A

Page 50: Intro to Agile: Scrum vs. Kanban

Differentiating Work

Ready (6) Test (5) Done

Feature (value to customer)

Dev (3)Design (3)

! !

Infrastructure (value to team)

For example...

Page 51: Intro to Agile: Scrum vs. Kanban

Flagging Impediments

Ready (6) Test (5) Done

Impeded

Dev (3)Design (3)

! !

Page 52: Intro to Agile: Scrum vs. Kanban

Flagging Impediments

Ready (6) Test (5) Done

Impeded

Dev (3)Design (3)

! !

Impeded work is still WIP-limited

Page 53: Intro to Agile: Scrum vs. Kanban

What About Story Size?

Ready (6) Test (5) Done

It doesn't seem to matter. Kanban case studies, so far, indicate that it's much more lucrative to be concerned

with idle time between activity than the activity time itself.

Dev (3)Design (3)

Adjust them? Denote them? Track them?

Page 54: Intro to Agile: Scrum vs. Kanban

Kanban Analysis Types

● By reflecting on outlier stories● By looking for patterns on the Kanban Board● By tracking cycle time● By tracking flow

Page 55: Intro to Agile: Scrum vs. Kanban

Reflecting on Outlier Stories

Ready (3) Doing (3) Done

_

Backlog Reflect

____

_

__

Outlier: Work with Extra-Long, or Extra-Short Cycle Time

.

Page 56: Intro to Agile: Scrum vs. Kanban

Reflecting on Outlier Stories

Ready (3) Doing (3) Done

_

Backlog Reflect

☹☺

____

_

__

Outlier: Work that was Particularly Pleasant or Unpleasant

.

Page 57: Intro to Agile: Scrum vs. Kanban

Possible Actions: Outliers

● Is it a problem/opportunity?● Dig deep (“5 Whys?”) to get from the

proximate cause to the root cause● How might the delay have been mitigated?● Retool &/or Retrain● Definition of Ready issue?

Definition of Done issue?

Page 58: Intro to Agile: Scrum vs. Kanban

Development Bottleneck

Ready (6) Test (5) Done

Step-completed still counts in WIP Limit

Dev (3)Design (3)

Page 59: Intro to Agile: Scrum vs. Kanban

Testing Bottleneck

Ready (6) Test (5) Done

Step-completed still counts in WIP Limit

Dev (3)Design (3)

Page 60: Intro to Agile: Scrum vs. Kanban

Design Bottleneck

Ready (6) Test (5) DoneDev (3)Design (3)

Page 61: Intro to Agile: Scrum vs. Kanban

Possible Actions: Bottlenecks

Note: Occasional bottlenecks are good. They interject welcomed slack time. What you want is a roughly even distribution of slack time across the functions. If not, then ...

● Cross-functional “swarming”● Add manpower● Retool &/or Retrain● (DO NOT just increase WIP Limits)

Page 62: Intro to Agile: Scrum vs. Kanban

Recurring Impediments

Ready (6) Test (5) Done

Impeded

Dev (3)Design (3)

! !

Page 63: Intro to Agile: Scrum vs. Kanban

Possible Actions: Impediments

● Revise the Definition of Ready – Don't start the work until you know it won't be impeded that way

● Reassign responsibility for impediment-causing work to the Team (i.e. make the external resource join the team)

● (Rarely) revise the Definition of Done to exclude the impeded work (i.e. pushing responsibility for that part off the Team)

Page 64: Intro to Agile: Scrum vs. Kanban

Tracking Cycle Times

Ready (3) Doing (3) Done

Backlog Reflect

Born Begin WIP Done

Page 65: Intro to Agile: Scrum vs. Kanban

Cycle Time

Ready (3) Doing (3) Done

Backlog Reflect

Page 66: Intro to Agile: Scrum vs. Kanban

Lead Time

Ready (3) Doing (3) Done

Backlog Reflect

Page 67: Intro to Agile: Scrum vs. Kanban

Counting Flow

Ready (6) Test (5) DoneDev (3)Design (3)

3 1 5 2

Page 68: Intro to Agile: Scrum vs. Kanban

Cumulative Flow Diagram

Done

Test

Dev

Design

Page 69: Intro to Agile: Scrum vs. Kanban

Actions: Encroaching Channels

This is basically early detection for bottlenecks, so...● (Same actions as Bottlenecks)

Page 70: Intro to Agile: Scrum vs. Kanban

Control Chart

X-axis: One column per story completed

Trend line (running average)

Y-axis: Lead time (subtract Begin date from Done date)

Page 71: Intro to Agile: Scrum vs. Kanban

Control Charts Compared

Page 72: Intro to Agile: Scrum vs. Kanban

Possible Actions: Wavy Trendline

Can the hiccups be explained? If not, then...● Smaller stories● Reduce the WIP limits (yes, reduce)● Attend to impediments● Remove distractions

Page 73: Intro to Agile: Scrum vs. Kanban

Take-Aways

All of the various Agile Methodologies attempt to...

1. Eliminate waste. They “Maximize the work not done.”

2. Only provide a framework. You must “Inspect & Adapt”

3. Only illuminate problems. There is no silver bullet.

4. Boost communication. When stakeholders and developers are on the same page, the methodology has done its job.

Page 74: Intro to Agile: Scrum vs. Kanban

© Craig L. Jones, 2011-13.All rights reserved.

[email protected]://tech.picsauditing.com