KFC Development Karl Scotland
Kanban Flow Cadence Controlling the Workflow The Work in the System KFC Development Kanban Controlling the Workflow Flow The Work in the System Cadence Commitment & Reliability
Controlling the Workflow Kanban Controlling the Workflow
Definition Kanban (in kanji 看板 also in katakana カンバン, where kan, 看 カン, means "visual," and ban, 板 バン, means "card" or "board")
Taiichi Ohno, Toyota Production System (adopted 1962) Origin “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) 1962
Kanban 101 … … Work Items Step 1 Step 2 Step n Done In Process In Queue Queue Queue …
Except for one more important element Kanban Limits That’s it Except for one more important element Kanban Limits Queue WIP
Kanban 101 - Again … … Work Items Step 2 Step n Done Step 1 In Process Queue Queue Queue …
Large enough to keep the team busy Queues / Buffers Large enough to keep the team busy Small enough to avoid premature prioritisation Ideally should be FIFO
Reduce multi-tasking Maximize throughput Enhances teamwork Work In Progress Reduce multi-tasking Maximize throughput Enhances teamwork
Reduce Multitasking 20% time lost to context switching per ‘task’
Reduce Multitasking Sequential yields results sooner Multitasking A B
Organizational overhead goes up as work in progress increases Throughput Maximize Throughput Organizational overhead goes up as work in progress increases Work In Progress Throughput
Little’s Law for Queuing Theory Throughput Little’s Law for Queuing Theory Therefore, to improve cycle time Improve Average Completion Rate Reduce Number of Things in Process Total Cycle Time = Number of Things in Process Average Completion Rate
Teamwork Enhances Teamwork Team focus on goals that add value not individual tasks
Guidelines Put your name on what you’re working on. Nothing to work on? Ask if you can help someone else. Don’t have the right skills for that? Find the bottleneck and work to release it. Pull in work from the queue. Can’t starting anything in the queue? Ask the product owner if there is anything lower priority to start looking at. They don’t have anything? Go find other interesting work.
Other interesting work is Being Blocked Other interesting work is Refactoring Tool Automation Personal Development Innovation But is NOT Anything which will create work downstream Sometimes when the system slows, people will not have the ability to help release the constraint. When this happens, Product Developers are trusted to find other interesting work. This work could be in Career Development, Product Innovation, development process improvements, defect reduction or anything else the Product Developer finds to be interesting. The only requirement is that it is work that can immediately be put down when the system speeds up and moving work within the Product Developer's responsibility is once again possible.
WIP limit can depend on type of work and size of team WIP Limit Sizes WIP limit can depend on type of work and size of team Should be adjusted to achieve maximum flow # people / 2 ?
Example But! It’s a whole team responsibility to progress work items 0.5 UED 6 Dev 0.5 QA 0.5 SE Work Items UED/Detail Development Testing Deployment Done In Process In Process In Process In Process But! It’s a whole team responsibility to progress work items Queue Queue Queue Queue Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Fill Me! Product Manager Prioritizes Fill Me! Fill Me!
Flow The Work in the System
Flow “In lean enterprises, traditional organizational structures give way to new team-oriented organizations which are centred on the flow of value, not on functional expertise.” http://www.poppendieck.com/papers/LeanThinking.pdf
Moving one piece at a time between stages in a workflow as opposed to One Piece Flow Moving one piece at a time between stages in a workflow as opposed to Moving batches of work between stages in a workflow
Minimal Marketable Features A feature that is minimal because if it was any smaller, it would not be marketable. It is marketable because when released in to production, people would use the feature. Photos idea for Mash. Tons of Ideas. It was broken down into MMFs. Let’s make it into a train of stuff. I just wanted users to upload a photo and display it. Comments, notes, tagging all of that could wait. If you could tell me I could build one minimum thing and launch it. That would be it. - It helps get the feature out the door - Engineers will have opinions, but you can explain that this is all they will need. They can focus on it. And get it out.
Minimal Marketable Features Why Minimal Marketable over Maximum Marketable? Progressive delivery (realize product sooner) Reduce feature bloat (the core features are the most important) A feature has a cost to a user (added complexity)
Minimal Marketable Features “I will be able to write an entry in our product blog about this new feature.” Fits the INVEST acronym Independent, Negotiable, Valuable, Estimable, Small, Testable Increases revenue or reduces cost when released Another way to think about this is INVEST: Independent, Negotiable, Valuable, Estimable, Sized appropriately, Testable Expect many MMFs per product. MMFs will be small when adding enhancements to existing features. MMFs will be larger for new functionality. It's okay to have multiple MMFs for the same feature.
Value Types Table Stakes Parity to the competition Minimum needed to be in the game Differentiator Differentiates from the competition Delights the customer Spoiler A competitors differentiator Raises the bar for parity Cost Reducer Reduces cost Improves the margin
Value Value flows up Suite - Interrelated products supported by a platform Product - Satisfies a consumer want or need Release - Deploy feature set to satisfy a goal when products interrelate -platform strategy, as platform and products usually are developed in parallel Activity: Identify products/releases being worked on. Are any downstream of others? This is your customer. Feature - Smallest unit of customer value
Commitment and Reliability Cadence Commitment and Reliability
Cadence If the team isn’t estimating or planning with fixed time-boxes, how can it make reliable commitments?
Cadence “A regular cadence, or ‘heartbeat,’ establishes the capability of a team to reliably deliver working software at a dependable velocity. An organization that delivers at a regular cadence has established its process capability and can easily measure its capacity.” http://www.poppendieck.com/pipeline.htm
Cycle Time - the length of time to complete a process Metrics Throughput - the amount of output of a process in a given period of time Cycle Time - the length of time to complete a process Throughput = WIP / Cycle Time
Cycle Time becomes an SLA with the business Commitment Cycle Time becomes an SLA with the business Throughput allows forecasting of future capability May need to size and/or classify MMFs where there is variation
Focus on quarterly goals and objectives Release Planning Focus on quarterly goals and objectives Prioritise MMFs to meet those goals and objectives Release regularly Trust the team to work to its full capacity
Cumulative Flow Diagram
Throughput Chart Features
Cycle Time Chart Features
Other Cadences Standup Meetings Retrospectives Operations Reviews
kjscotland@yahoo.co.uk http://availagility.wordpress.com Thank You! kjscotland@yahoo.co.uk http://availagility.wordpress.com
Games
Sequential (non multi-tasking) Parallel (multi-tasking) 3 Projects Write the 1st 10 digits in a column Write the 1st 10 letters in a column Write the 1st 10 roman numerals in a column Sequential (non multi-tasking) Column by column Parallel (multi-tasking) Row by row
Transforming Raw Materials (RM) into Finished Goods (FG) Workflow Transforming Raw Materials (RM) into Finished Goods (FG) 10 Days Each worker processes 1-6 units per day