Kanban was originally created as a scheduling system to help manufacturing organizations determine what to produce, when to produce it, and how much to produce. Although this may not sound like software development, these lean principles can be successfully applied to development teams to improve the delivery of value through better visibility and limits on work in process.
This webinar will provide an overview of the Kanban method, including the history and motivation, the core principles and practices, and how these apply to efficiency and process improvement in software development.
Come join us for this free Webinar!
Driving Behavioral Change for Information Management through Data-Driven Gree...
Introduction to Kanban
1. Introduction to The Kanban Method
Discover how the Kanban Method can Kick Start
a Culture of Continuous Improvement
for
Your Organization
2. Your Speaker
Dave White
Technical Program Director
Imaginet Resources Corp. - Microsoft Partner
• Management Board - Lean-Kanban University
• Advisory Board - LKU’s Accredited Kanban
Training program
– Accredited Kanban Trainer (AKT)
– Kanban Coaching Professional (KCP)
• numerous Microsoft certifications
– Microsoft Certified Trainer
• 15 years of experience
• specializes in helping organizations mature their
software development and information
technology practices
• passionate about Application Lifecycle
Management tooling, techniques, and mindsets
and regularly talks and teaches on a wide range
of ALM topics
http://www.agileramblings.com
4. Symptom
Release Date: in 9-12 months
“We don’t have staff for that project/work”
Lead time for Feature: 12 months
ETA of Bug Fix: ???
“That isn’t what we wanted.”
“We have to get this out right away!”
“The business unit built that?”
“That feature doesn’t matter anymore.”
“We’re really late.”
“We’re waiting on other teams.”
“We’ve got 100s of bugs waiting.”
5. Problem
Lots of work, not enough
capacity
• Quality suffers
• Features delayed
• Technical debt
• How much…
• Work??
• Capacity??
Disengaged people!
8. What We’ve Tried So Far
We’ve tried…
• Chaos is … chaotic
• Waterfall not well suited
• Large batch, single pass,
long duration workflow
“If we just do it better…”
• Scrum is well suited
• prescriptive without
understanding context
12. The Kanban Method is…
…an approach to incremental, evolutionary
process change for organizations.
http://en.wikipedia.org/wiki/Kanban_(development)
13. Kanban Method allows us to…
Our motivation for building kanban systems is
to
prevent overburdening,
control variability in flow
and encourage an evolutionary
approachto change
murimura
14. What causes overburdening and variation?
1. Invisible work
2. Non-instant availability of specialist skills or
collaborators
3. Information fails to arrive before it is needed
4. Hidden/Implicit classes of service that cause
work to be interrupted to process other work
5. Variety in work (complexity & size)
6. Changing priorities related to variety in risks
associated with work (e.g. cost of delay)
7. Capacity constrained specialist skilled workers
or other resources
Are any of these present in your work environment?
15. Organizational Evolution
So Why The Kanban Method
• Designed to…
• Be context sensitive
• Foster organizational learning
• Be evolutionary
• Simple rules to govern complex
systems
• Teams of people are systems
• Agile methods can emerge
• Fully embraces Agile Manifesto
• Lean methods can emerge
• Fully embraces Lean Software
Development Principles
• Tactic-agnostic
• Catalyst for organizational
improvement
kaizen
To make better
16. Kanban Method
… and it’s easy to get started
Kanban Method
agile
lean
• 4 principles
• 6 practices
17. Kanban Method Principles
start with what you do now
agree to pursue incremental,
evolutionary change
initially, respect current roles,
responsibilities & job titles
encourage acts of leadership
18. 6 CORE PRACTICES
visualize
limit WIP
manage flow
make process policies
explicit
develop feedback mechanisms
improve collaboratively
27. WHY ARE WE DOING ALL THIS?
To create a LEARNING capability in our organization
that enables CONTINUOUS IMPROVEMENT!
We must…
• Have time to discover and implement kaizen
opportunities
• Create theories and experiment
• Give ourselves opportunities to fail
• Learn from your mistakes
28. The Benefits You’ll Experience
• Deeper understanding of
demand and capacity
• Constantly improving teams
• Exposed constraints
• Increased predictability
• Reduced overburdening
Happy People
29. Better Teams = Better Business
• Predictability
• Agility
• Risk Management
• Governance
• Change Management
30. Kaizen Opportunities
For development teams, three areas often need improvements:
Process
The Kanban Method will expose process challenges
Technical
Visualization of work will allow for the capture of metrics that
point to technical limitations
Development Platform
Visualization of workflow will lead to platform improvement
opportunities
31. Inter-dependant
ProcessBottle necks & constraints, hand-offs, overburdening, multi-
tasking, wait times
Technical
Unit Testing, SOLID, DI,
MVC, Technical debt
Development
Platform
Automation (build, quality,
collaboration)
Institutional memory, risk
mitigation
32. Solutions Are Just Waiting to be Discovered
• Work is understood!
• Designed to understand demand
• Discover capacity
• People improve the
system
• People are engaged!
• Empowered
• Own the improvements
• Pull work
• Solving Our Problem
• Our processes are
important
• Learning-focused
approach
34. Team Foundation Server 2012
Team Foundation Server 2012
Visual Studio Team Foundation Server 2012
(TFS) is the collaboration platform at the core
of Microsoft's application lifecycle
management (ALM) solution.
35. Kanban on TFS 2012
Kanban on TFS starts with…
http://vsarkanbanguide.codeplex.com/
https://tfs.visualstudio.com/
Ability to track work
Ability to visualize work and flow
41. Where to Start
1. Find a Leader
2. Get Foundational
Knowledge
3. Visualize Your Work
4. Limit your WIP
5. Focus on HIGH Quality
42. Call to Action
• Engage
• Attend our Accredited Core Kanban class with our
Visual Studio day
• Reach out to Dave
• @agileramblings or dwhite@imaginet.com
• Join the Community!
• Lean-Kanban University
• Visit Lean Kanban North America 2014 in San Francisco!
• kanbandev group (Yahoo)
• Limited WIP Society or your local Kanban User Group
Dave White is a Technical Program Director at Imaginet Resources Corp., a Canadian based Microsoft Partner and Microsoft ALM Partner of the Year for 2011. Currently, Dave is serving on the Management Board for Lean-Kanban University, the global standards body for The Kanban Method. He is also on the Advisory Board for LKU’s Accredited Kanban Training program. He holds numerous Microsoft certifications including Microsoft Certified Trainer. With over 15 years of experience, Dave specializes in helping organizations around the world realize their potential through maturing their culture and improving theirsoftware development and information technology practices. Dave is passionate about Application Lifecycle Management tooling, techniques, and mindsets and regularly teaches around the world on a wide range of ALM topics.
Personalize the experience around meMy journey as a consultant working with lots of companiesBecome the “Luke Skywalker” of the presentation
Longer and longer lead times for features/fixesCompetitor is firstMarket has changed – no longer neededAre we doing the right things? (business-driven development)Internal “solution” developed by business
Teams are getting burned outToo much work, not enough timeQuality goes down (uh oh…)Bug fixing times takes up more of our time (Wasteful!!)New features sit in the backlogOr get crammed in with low quality (Wasteful!!!)Are we doing things right? (technically)Disengaged!!! (oh no…)Now we’re in trouble...http://www.istockphoto.com/stock-photo-20586125-frustrated-businessman.php?st=7645278
WHY?“I don’t know!”“The business is unrelenting”“We’re working as hard as we can!!”“We’ve tried and given up”Our industry is so driven to produce solutions for other people’s problem, we often fail to solve our problems!We don’t have the experience to know what is wrong with ourselvesWe don’t know how to discover what is wrongLearning about our problems is not built in to our processesNot given time and space to figure it out and improveOur efficiency problems are mostly non-technicalhttp://www.istockphoto.com/stock-photo-18251736-confused-young-woman-scratches-head.php?st=79dbc5f
What I did to solve my problemshttp://www.istockphoto.com/stock-illustration-4261767-old-map.php?st=e9d038d
http://www.istockphoto.com/stock-photo-19914666-work-in-progress.php?st=93dd0d6So what did I find out there?!?Chaos (Doesn’t matter what we do. Let’s all just scramble!)Waterfall (Still? Really?? )Agile (Scrum, XP, home-grown methodology)Why (there is that word again) didn’t it work?Chaos (self-evident and sneaky – kinda looks like Agile)Waterfall (not well suited to knowledge work)Large batch, single pass, long duration workflow (usually)Agile (well suited, but book methodologies are prescriptive without understanding context)Lack of leadership in adoptionsWe have LOTS of grey-matter horsepower… often pulling in opposite directions
I found a method that was …Learning focusedContext awareSpecific about leveraging teams/people to solve problemsEvolutionary, NOT revolutionaryhttp://www.istockphoto.com/stock-photo-17496132-businessman-has-idea.php?st=6c18412
The Kanban Method is a proven evolutionary, change management approach built on numerous best practices that are intended to target specific problems across the whole knowledge work lifecycle.
The Kanban Method is a proven evolutionary, change management approach built on numerous best practices that are intended to target specific problems across the whole knowledge work lifecycle.
The Kanban Method is a proven evolutionary, change management approach built on numerous best practices that are intended to target specific problems across the whole knowledge work lifecycle.
Why I love The Kanban MethodFocused on the peopleBusiness drivenSimple rules that scale to complex situationsLearning focusedEasy to start!!
So we said that the Kanban Method is a simple set of rules that help us govern complex systems and that really is the case. In fact, the Kanban Method consists of 4 principles that we use to encourage specific behaviour and 6 practices that give us some tactics that allow us to start learning about ourselves and finding solutions to the process problems as they exist in our environments. One of the key advantages of the Kanban Method over other approaches is how easy it is to get started and use so that we can continue to learn and grow over the course of time. http://www.istockphoto.com/stock-photo-20042058-marathon-runners-at-the-starting-line.php?st=dabb4dd
The Kanban Method is easy to get started because of the first principle, which is to start this improvement initiative what modeling how you work today without any changes. The Kanban Method advocates this approach as it has two positive effects that are important in any change initiative. First, we want to be able to understand the current state and create a baseline on which to compare any improvement activities. We want to find the best places to invest our precious time. Secondly, it will minimize the emotional impact to everyone involved. The second principle is a commitment to small, incremental improvement activities. Small increments are excellent learning opportunities where we minimize the cost and impact of sub-optimal changes. And these learning opportunities help teams plan out the next small improvement.The third principle acknowledges that engaged, happy people a key success factor in the delivery of business value and that we need to provide a respectful and safe environment for the people involved in these improvement activities.And finally, we need to create an environment that allows for and encourages the spontaneous display of acts of leadership at all points of the workflow. These acts of leadership will lead to improvement activities that were not anticipated but will arise to specific problems that the team encounters in their day to day activities.
Now that we have some principles to govern our behaviour, the Kanban Method also provides 6 core practices that support the needs of a team that is looking to continuously improve and grow their Kanban Method maturity level. The sixcore practices of the Kanban Method are:VisualizeLimit Work In Process (WIP)Manage flowMake policies explicitDevelop feedback mechanismsImprove collaboratively (using model-driven experiments/scientific method)When adopting the Kanban Method, it is not required to practice all six of these concepts. All teams should start at the top in what is called a “shallow” Kanban implementation. As they grow in maturity and capability, teams then adopt more of the core practices as they move to a “deep” Kanban implementation.
Humans love to see things! We’re very visually oriented. (percentage of brain attributed to visual stimuli?)SoVisualize – This simple tactic suggests that we create a visual representation of the flow of work through the system. In order to do this, we need to describe:Work Item Types in the system (user stories, bugs, improvement activities, support work)Workflow for these Work Item typesAny special behaviours that are associated with work item types (production defects expedited over user stories, only 1 improvement activity in flight at a time)The boundaries of the process being visualizedThe visualization of all of this information will be a powerful tool in impacting the behaviour of the consumers of the information.
Can anyone see where the problem is in this system?
Limit Work In Process (WIP) – systems that limit the amount of work in process tend to reduce overburdening on people and help to identify bottlenecks in the process
Once WIP limits are in place, we formally acknowledge capacity constraints within a phase of our workflow and we can then start to change those constraints
Manage flow – there are many different ways that we can improve the flow characteristics of work through the system and the Kanban Method explains specific tactics for improving flow in the system
Make policies explicit – In making process policies explicit or “writing them down”, we’re providing information to everyone who needs to understand how the system is operating
Develop feedback mechanisms at workflow, inter-workflow and organizational levels – In order to continuously learn and improve, feedback mechanisms must be created and sustained as a part of the way the team works. And these feedback mechanisms are used to manage broader concerns of the organization around the team adopting the Kanban Method.
Improve collaboratively (using experiments/scientific method) – The last practice is to theories couple with observation and measurements to drive improvement activities. This is often described as using a scientific method to guide our improvement activities. Using a scientific method, we would describe an expectation or a “theory” on the impact of a change, ensure we are able to measure the change, and validate our choices.
Kanban is an unapologetic, realistic, representation of the law of physics. – Daniel Vacanti @danvacanti
Many of our clients have experienced real, measurable benefits when they have adopted the Kanban Method as a way to manage their systems. Teams have quantitative information regarding demand in the form of work item types and the frequency at which these work items are introduced. And they understand their capacity to do work in the form of flow time and throughput.And now that teams understand demand and capacity in a quantitative fashion, we can measurably improve using flow improvement tactics or the elimination of bottlenecks in the workflow.Empowered to innovate Scientific approach (PDSA • LMB • OODA)Exposed ConstraintsSelf-imposedTeam & Organization scopeCan be rectified once exposedAnd on a more qualitative note, we very often see that team members are happier now that they have been given the permission and the tools necessary to improve the software development process. And since we can see when people are overburdened, we can proactively help teams achieve a sustainable pace and reduce the overburdening that burns out teams and causes employee dissatisfaction.http://www.istockphoto.com/stock-photo-15520861-elegant-middle-aged-woman-with-her-arms-crossed-against-white.php?st=fd67935
Several of the observed benefits to the business when knowledge work teams use the Kanban Method include: Increased predictabilityImproved agilityBetter risk managementImproved governanceImproved change management@agilemanager: Predictability, improved agility, better governance, evolutionary change, better risk management
Kanban is an unapologetic, realistic, representation of the law of physics. – Daniel Vacanti @danvacanti
People Solving Problem - http://www.istockphoto.com/stock-photo-12107866-group-of-business-people-looking-at-a-chart.php?st=25d7c05So lets revisit our original process problems and look at how the Kanban Method can help teams find solutions to these problems.To much work, not enough capacityDesigned to discover capacityEvolve your capability (build more capacity)Give people the time and space to improve both quality and processDisengaged peopleSelf-directed teams that are empowered to do the right thingOwn the opportunity to improveThe mountain of work is no longer on their shouldersNot Solving Our ProblemOur problems are mostly process relatedA learning-based approach to change that encourages evolution through a kaizen culture
The Tools That I’ve used with my teamshttp://www.istockphoto.com/stock-illustration-4261767-old-map.php?st=e9d038d
People Solving Problem - http://www.istockphoto.com/stock-photo-12107866-group-of-business-people-looking-at-a-chart.php?st=25d7c05To much work, not enough capacityDesigned to discover capacityEvolve your capability (build more capacity)Give people the time and space to improve both quality and processDisengaged peopleSelf-directed teams that are empowered to do the right thingOwn the opportunity to improveThe mountain of work is no longer on their shouldersNot Solving Our ProblemOur problems are mostly process relatedA learning-based approach to change that encourages evolution through a kaizen culture
What I did to solve my problemshttp://www.istockphoto.com/stock-illustration-4261767-old-map.php?st=e9d038d