SPIN Kanban

Presentation for my Jun 11, 2009 talk at SPIN »
Wayne Allen

values
principles
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
* Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
    * Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
    * Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
    * Business people and developers must work together daily throughout the project.
    * Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
    * The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
    * Working software is the primary measure of progress.
    * Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
    * Continuous attention to technical excellence and good design enhances agility.
    * Simplicity--the art of maximizing the amount of work not done--is essential.
    * The best architectures, requirements, and designs emerge from self-organizing teams.
    * At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
lean
"Lean", is a production practice that considers the expenditure of resources for any goal other than the creation of value for the end customer to be wasteful, and thus a target for elimination.
eliminate waste
amplify learning
decide as late as possible
deliver as fast as possible
empower the team
build quality in
see the whole
agile practices: kaban
agility
eXtreme Programming (XP)
Scrum
Feature Driven Development (FDD)
Crystal
lean software
Specify value from the standpoint of the end customer by product family
Identify all the steps in the value stream for each product family, eliminating every step and every action and every practice that does not create value.
Make the remaining value-creating steps occur in a tight and integrated sequence so the product will flow smoothly toward the customer
As flow is introduced, let customers pull value from the next upstream activity
As these steps lead to greater transparency, enabling managers and teams to eliminate further waste, pursue perfection through continuous improvement
reduction of three types of waste:
muda  ("non-value-adding work")
muri  ("overburden")
mura  ("unevenness")
Pull processing
Perfect first-time quality
Waste minimization
Continuous improvement
Flexibility
Building and maintaining a long term relationship with suppliers
Autonomation (smart automation)
Flow (just-in-time)
Visual control
real options
related to financial options, but calculating the value of a real option isn't possible
Options have value
Options expire
Never commit early unless you know why

you always have 3 choices
a "right decision"
a "wrong decision"
"no decision"
for each decision identify all known options
identify the date or condition that is the last point a decision can be made (working backwards from delivery date and implementation time)
the first decision is made when the first option expires
until that date, look for new options
try to push back all decisions by increasing the execution speed
act as quickly as possible once you have to make a commitment
kanban
where kan means "visual," and ban means "card" or "board"

“The two pillars of the Toyota production system are just-in-time and automation with a human touch, or autonomation. The tool used to operate the system is kanban.” 

-Taiichi Ohno, Toyota Production System (adopted 1962)
background
software kanban
it is all about feature scheduling
no more time boxes
simple example
why?
prioritization
limit work in process (multi-tasking)
balancing capacity against demand
why #2?
chopping stories up to fit into a sprint seemed like waste
estimating seemed like a waste since it was the #1 priority - we were going to do it anyway
looking for good departmental metrics
what goes on a kanban board?
states - not roles
proposed - the backlog of features
specifying - enough research and analysis to start building
building - dev & test
UAT - user acceptance testing (not QA)
Release Ready - waiting for deployment into production
may have queues between states

stories/MMF are the units of work being pulled through
WIP limits
WIP limits are hard - don't exceed them!
how to determine WIP limits
1 per person working on items in that state
plus a couple extra to account for blocked work
watch out for people working on multiple states inflating your limits
adjust (downward) as necessary
lots of "in progress"
getting stuff done - added "blocked" and "QA" states
some real examples
credit: David Anderson - Corbis
credit: David Anderson - Corbis
wayne allen
wayne allen - wayne@consultantsguild.com
thanks!
push vs. pull
push rules:
flip one coin at a time
when you have flipped all 5 move them to the next person
pull rules:
flip one coin at a time
only move your coin if the next person dosen't have one
Assume 5 seconds to flip a coin to heads
With a batch size of 5 and 5 stages to complete before we're "done" the first completed work will be available in 125 seconds
With a batch size of 1 and 5 stages to complete before we're "done" the first completed work will be available in 25 seconds
credit: Karl Scotland
credit: Karl Scotland
books
Why?
Why do we build software?
Why do we build software the way we do?
How?
No Plan
Fully Plan
Plan as you go

Loading comments...

Please log in to add your comment.

Report abuse

More presentations by Wayne Allen

  • kaban

    Wayne Allen on

    Presentation for my Mar 3, 2009 talk at PADNUG