This an old lecture I gave at CMU back in 2015, to cover the HOW (rather than the WHY and WHAT) of software development and best practices from my industry experience.
2. “Kanban is like water.
When running into a rock downstream, it doesn't
confront the rock, it goes around it.”
3. OUTLINE
• Intro
• Agile & Lean
• Scrum vs Kanban
• Flow Game
• Kanban origin and practices
• My journey from Scrum to Kanban
• Q&A
4. BACKGROUND
BARCELONA, BA TRANSLATION & INTERPRETING, MS COGNITIVE SCIENCES
& LANGUAGE, SCHOLARSHIP TO PURSUE GRAD STUDIES IN THE US: MS
AND PHD IN LANGUAGE AND INFORMATION TECHNOLOGIES, LTI, CMU.
5. ROLES (LAST 8 YEARS)
LANGUAGE EXPERT @VIVISIMO, UX TEAM MEMBER, TEAM LEAD,
UX LEAD, DEVELOPMENT (AND DESIGN) MANAGER @IBM, DESIGN
MANAGER, DESIGN PRINCIPAL, PROGRAM DIRECTOR
6. I ENJOY
CONTINUOUS LEARNING & IMPROVEMENT, BUILD SHARED UNDERSTANDING,
CROSS-DISCIPLINE COLLABORATION (DESIGN WORKSHOPS), DESIGN
THINKING, USER-CENTERED DESIGN, LEAN AND LEAN STARTUP. I <3 KANBAN
7. AGILE & LEAN - HOW
• “Bottom-up” values and principles for software
development.
• Both inform how teams (self-)organize to get the
work done.
• Both inform how fast teams can deliver software.
8. THE AGILE MANIFESTO
• Individuals and interactions over processes and
tools
• Working software over comprehensive
documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
9. AGILE PRINCIPLES
1. Highest priority is customer satisfaction
2. Welcome changing requirements
3. Frequent delivery of software
4. Business people & developers cooperating daily
5. Build projects around motivated people
6. Face-to-face conversation is best
10. AGILE PRINCIPLES CONT.
7. Progress measured by working software
8. Sustainable development pace
9. Continuous attention to technical excellence
10. Simplicity
11. Self-organizing teams
12. Regular reflection & adaptation
11. LEAN PRINCIPLES
• Lean comes from Lean Manufacturing and is a set of
principles for achieving quality, speed & customer
alignment:
!
1. Eliminate Waste
2. Build Quality In
3. Create Knowledge
4. Defer Commitment
5. Deliver Fast
6. Respect People
7. Optimize the Whole
–Mary Poppendieck
13. –Mary Poppendieck
“Organizations that are truly lean have a strong
competitive advantage because they respond
very rapidly and in a highly disciplined manner
to market demand, rather than try to predict the
future.”
15. !
“Scrum starts with the right context, Kanban
improves the existing context”
!
“Kanban visualizes what’s happening, Scrum
visualizes an ideal"
!
“Kanban is not always going to give you a
solution, but it might suggest a solution.”
16. SIMILARITIES
• Scrum and Kanban are both Agile and Lean
approaches to software development
• Scrum is more prescriptive than Kanban
• Scrum prescribes roles (PO/SM/team)
• Scrum prescribes time-boxed iterations
• Kanban limits WIP for per workflow state, Scrum limits
WIP per iteration
17. SCRUM VS KANBAN
• Both are empirical
• Scrum resists change within an iteration
• Scrum backlog items must fit in a sprint
• Scrum prescribes estimation and velocity
• Scrum prescribes a prioritized product backlog
18. MINOR DIFFERENCES!
• In Scrum, daily (people-oriented) meetings are
prescribed
• Kanban stand ups are optional and are board-
oriented, focused on bottlenecks and other
visible problems
• In Scrum, burndown charts are prescribed
23. –David Anderson
“Kanban is based on a very simple idea. Work-in-
progress should be limited, and something new
should be started only when an existing piece of
work is delivered or pulled by a downstream
function.”
24. KANBAN ORIGINS
• Lean Manufacturing at Toyota (1953), as a way to reduce
waste and manage flow, just-in-time production.
• “Kan-ban" (かんばん(看板) is a Japanese word that
literally means “signal card”.
• In a manufacturing environment, this card is used as a
signal to tell the upstream step in a process to produce
more. The workers at each step are not allowed to do
work unless they are signaled with a kanban from a
downstream step.
26. KANBAN METHOD - PRINCIPLES
• Start where you are
• Agree to pursue evolutionary change
• Initially respect people’s roles and responsibilities
• encourage leadership at all levels
28. KANBAN PRACTICES
• Make work visible
• Limit Work-in-Progress (WIP) explicitly
• Measure and Manage flow
• Make process policies explicit
• Use models to recognize improving opportunities
29. “Kanban is agnostic to the policies involved.
Policies could be optimistic or pessimistic, but it
encourages optimistic approaches and defers
decisions downstream”.
37. ADVANTAGES OF KANBAN
• You get a visual, real-time status of your team’s workflow
so you can be continually optimizing your process as
well as eliminating bottlenecks (or other problems) as
they occur (before they have a chance to compound).
• You can specify different workload capacities for
different disciplines based on your team’s capabilities
• The result is more feedback with the ability to adapt to
that feedback faster.