Kanban experience @ Sky's lightning talks 17-12-2013
-
Upload
mattia-battiston -
Category
Technology
-
view
267 -
download
0
description
Transcript of Kanban experience @ Sky's lightning talks 17-12-2013
Kanban Experience
Evolutionary software development - by Mattia Battiston -
Tales of...
Welcome to P-Lab!
● IT consulting agency (custom software for companies + support)
● about 8 devs + 3 managers ● one big bank client
● Joined in October 2011 (until september 2013) ● found total chaos! ● Waterfall, command & control, micro management,
continuous interruptions, etc. etc. etc. ● Demotivated people, low quality products, fire fighting, long
hours
Nothing was ever improving!
Mattia
new big project: CFI
WE’RE GOING ON AN ADVENTURE!
Rewrite a COBOL app
But can’t talk to users
QA at the end
600 days; will 400 do?
discovering Kanban...
MANAGE FLOW
EVOLVE EXPERIMENTALLY
FEEDBACK LOOPS
EXPLICIT POLICIES
LEADERSHIP AT ALL LEVELS
INCREMENTAL, EVOLUTIONARY CHANGES
START WITH WHAT YOU DO
RESPECT CURRENT ROLES
VISUALIZE
LIMIT WIP
values
practices
Visualize
Step 1: value stream mapping
Visualize
Step 2: first board
Step 3: evolve to keep aligned with reality
Visualize
Visualize: lesson learnt
Reflect reality Be creative & use different levels
Visualize: NIM
From this...
Visualize: NIM
...value stream mapping...
Visualize: NIM
...to this!
NIM: The horizon
Limit WIP
WIP Limits in action
TODO DEV (2) DEPLOY INT. (2)
TEST INT. (2) DONE
A
B
C
D
E
F
One day in Kanban-land
WIP Limits in action
TODO DEV (2) DEPLOY INT. (2)
TEST INT. (2) DONE
A
B
C
D
E
F
MAMMA MIA, THE DEPLOY IS BROKEN!
One day in Kanban-land
WIP Limits in action
TODO DEV (2) DEPLOY INT. (2)
TEST INT. (2) DONE
A
B
C
D
E
F
YEAH, C IS FINISHED! HANG ON, I CAN’T MOVE IT FORWARD!
One day in Kanban-land
WIP Limits in action
TODO DEV (2) DEPLOY INT. (2)
TEST INT. (2) DONE
A
B
C
D
E
F
LET’S WORK TOGETHER AND FIX THE DEPLOY
One day in Kanban-land
WIP Limits in action
TODO DEV (2) DEPLOY INT. (2)
TEST INT. (2) DONE
A
B
C
D
E
F
I COULD START D, BUT...I BETTER FINISH A FIRST AND THEN CONCENTRATE ON D
One day in Kanban-land
WIP Limits in action
TODO DEV (2) DEPLOY INT. (2)
TEST INT. (2) DONE
A
B
C D
E
F
One day in Kanban-land
Limit WIP: lesson learnt
● Avoid local optimization, always look at the whole process ● Made problems emerge
○ where things got stuck it meant we had a problem, the process had to improve ● Forced us to solve the problems
○ when something was stuck we had to unblock it ● Forced us to finish stories rather than starting new ones
○ when choosing what to do we always preferred to work on something on the right to get it done
● Forced us to concentrate just on what we were doing ○ reduced context switch -> work faster ○ higher quality
● Forced us to have slack (or “extra capacity”) ○ when the limit was full we’d help others, discuss improvements, refactor, etc. ○ great for dealing with interruptions
● Start generous and keep tightening ● Play games to gain hindsights
WIP LIMITS ARE COUNTERINTUITIVE
PEOPLE ARE WATCHING YOU, AND MIGHT NOT UNDERSTAND
Limit WIP: NIM
Manage Flow: standup
Standup: from zombies...
I WORKED ON A STORY
I WORKED ON A STORY
RELEASE TESTING
I CAN’T REMEMBER
Manage Flow: standup
… to FLOW
2 questions: ● what can be pulled to DONE today? ● what’s stopping each card from flowing
to DONE?
read from right to left
Manage Flow: iteration
Monday morning checkpoint: “iteration planning” ● week review: what have we done last week? ● on the fly informal retrospective: what has slowed us down? what would make us go
faster? ● bigger view: where are we in the project? how much is left to do? will we make it at
this pace? ● this week: what should we work on?
Manage Flow: story size
● features broken into very small tasks e.g.: draw simple page using dummy service; implement one happy path in the service; implement another happy path; handle errors; make list paginated on the page; etc.
● each task flowed through the board ● benefits: easy to know when task is done; easy to test; sense of accomplishment;
often parallelizable; reactive to interruptions; can decide to stop at any point;
SMALL TASKS AND WIP LIMIT MADE US REALLY FAST!
Manage Flow: metrics
PROJECT BURNUP CHART CUMULATIVE FLOW DIAGRAM
VELOCITY
TRACKING TASKS AT PROJECT LEVEL PROVED TOO FINE GRAINED
AT THE TIME WE WERE DOING IT WRONG. NOW I KNOW IT’S VERY USEFUL
CONFIRMED OUR FEELINGS, GREAT FOR FORECASTING
Manage Flow: lesson learnt
● small tasks with WIP limit made us go very fast ● focus on what you can finish instead of what you can start ● difficult to get metrics right: collect data instead and wait until you’re sure ● visualize at different levels: portfolio, project, iteration
NIM: CFD
WIP
LEAD TIME
Feedback loops
● ● team culture: don’t blame people, blame the process => ● celebrate problems! it’s the process telling you loud and clear where you can improve
SOFT ON PEOPLE, HARD ON PROCESS
“95% of the performance of an organization is attributable to the system and 5% is attributable to the people” - E. Deming
Moral: Kanban values
● start with what you do now & respect current roles ○ we didn’t and resulted in fights with management
● agree to pursue incremental, evolutionary change ○ visualize, limit wip, manage flow, feedback loops ○ improve everyday, don’t wait for a retro ○ your board, your charts, your metrics, your people, are trying to tell you
something: listen!
● encourage act of leadership at all levels ○ don’t let politics stop you from improving
Books + references