SlideShare una empresa de Scribd logo
1 de 19
Little bits of cardboard	 A study of a project using Kanban processes
New infrastructure project Unknown and rapidly emerging requirements.  Architecture evolved as the project progressed. New clients for the product meant rapidly emerging requirements The application had to be deployed ASAP to meet contractual obligations Details
The project was at a standstill, cards were not moving across the board.  Large numbers of cards clogged the board and the team felt paralysed. It was difficult to prioritise, as the backlog was so big and undefined 4 months of development work done with no production deployment of any code. Problems
The board before Story card Ready  for test Test failed In test Backlog Signed off Blocked In Dev Ready for Dev Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Jim Jim Mel Mel Tom A story board can provide a lot of information about a team and how it is performing. The team board had a lot of signals about were problems were occuring
Problems Story card Ready  for test Test failed In test Backlog Blocked In Dev Ready for Dev Large backlog column: The backlog column contained upcoming stories for the entire project Competing priorities meant the development effort wasn’t focused Stand ups tended to focus on backlog items that hadn’t even made the “Ready for Dev” – (current sprint) column. Time was spent estimating and planning on stories that never ended up getting prioritised Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Jim Jim Mel Mel Tom
In Dev Story card Story card Story card Story card Jim Jim Mel Mel Tom Problems Team members were deployed across multiple cards, they found it frustrating and difficult to focus on getting things done.
Problems Story card Blocked ,[object Object]
The reasons for this were varied, but there was a lack of ownership or urgencyStory card Story card
After a few different approaches were discussed, we trialled a Lean/Kanban approach/process  This helped us focus on our constraints and get back to getting things done. What we did next
What is Kanban ,[object Object],Story card Limit Work In Progress Only start a new task/item when last item was complete Balance demand against throughput  The cards become signals  (Kanban) to indicate when something needs to happen Creates a pull system where an empty slot triggers a demand for a card further up the supply chain.
We started by limiting WIP (Work in progress) on the swim lanes, including the “In analysis” and “ready for Dev” lanes How we got there
Limiting WIP Story card Ready  for test 2 Ready for  Sign off 3 In Analysis 2 Ready for Dev 2 In test 2 Signed off Parking lot In Dev 2 Something to talk about tomorrow Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Ben Tom Mel Jim Cards on the lanes limited to available pairs in the sprint. New cards are demand pulled into the lanes to reach capacity as cards are completed and moved across. Developers only allowed to be on ONE card This ensured the cards coming through were really the “highest” priority Helped minimise discussion and pre-work on low priority cards
Worked out what the bare minimum was to get our “first” production release out, even if it meant the application was feature poor.  This was what is termed a “MMF” or “Minimum marketable feature” Allowed us to target incremental delivery rather than “big bang” if nothing else, this helped prove the “Path to Production” getting early feedback on performance across all your environments in invaluable. “Please, just let us release something!”
Release token/card Story card Ready  for test 2 Ready for  Sign off 3 In Analysis 2 Ready for Dev 2 In test 2 Signed off Parking lot In Dev 2 Something to talk about tomorrow Story card Story card Story card Story card Story card Story card Story card Story card Story card Ben Tom Mel Jim Release Card Tom JT We introduced a “Release” token which followed the last of the cards in the MMF across the board.  This card behaved just as any other card did, occupying slots and requiring owners Any card that followed the release card was not checked into the main trunk until after the release card was “signed off” – which meant deployed  We released when we had enough, not at the “end” of a sprint cycle.
Reducing clutter/confusion Story card Story card Story card Story card Story card Story card Story card Story card Mel Jim Ready  for test 2 Ready for  Sign off 3 In Analysis 2 Ready for Dev 2 In test 2 Signed off Parking lot In Dev 2 Something to talk about tomorrow Reduced the amount of clutter that was on the board by removing the backlog column Backlog items were removed and placed out of immediate sight  Removed the blocked column, changed how “blocked cards were dealt with”  Blocked cards had to find an owner, and therefore a swimlane, or were deprioritised
Adding buffers Story card Story card Story card Story card Story card Story card Story card Story card Mel Jim Ready  for test 2 Ready for  Sign off 3 In Analysis 2 Ready for Dev 2 In test 2 Signed off Parking lot In Dev 2 Something to talk about tomorrow We got excited about removing lanes so; We removed the test failed lane and created a buffer zone above “In Dev”. These cards were considered the highest priority in that lane. Buffers added to other lanes as well, these helped create strong signals of constraints in the system that needed to be acted upon.
Sprint cycle and release cycle were “uncoupled” Planning was done, as required, not by timetables  Retained sprint cadence for “retros” and “demos” Team aggressively split cards to look for smallest item of “business value” Having limited “fixed backlog” meant we could react very quickly to change Rolled technical stories into stories that deliver business value forced us to change course slowly and justify changes, also reduced Technical debt What changed
Delivering a constant stream of small but valuable stuff into production every week is VERY motivating. Splitting stories can reveal just how little business value certain aspects of stories contain We almost never get through everything that was “planned” We almost always ended up doing stories that weren’t “planned” Just-in-time stories can enable the business to leave decision of what’s important to the last possible moment. Trying to deliver everything to everyone can lead to delivering nothing at all to anyone  What did we learn?
Simplifies workflow Reduces confusion Encourages small incremental releases Accepts and encourages change Teams with highly flexible backlogs (BAU, support) are ideal candidates for Kanban Allows teams to focus on their constraints and support them Is motivating to developers Forces prioritisation by limiting WIP  Works well for new product development teams Take home message

Más contenido relacionado

Similar a Little bits of cardboard - a Kanban case study

How we integrate Machine Learning Algorithms into our IT Platform at Outfittery
How we integrate Machine Learning Algorithms into our IT Platform at OutfitteryHow we integrate Machine Learning Algorithms into our IT Platform at Outfittery
How we integrate Machine Learning Algorithms into our IT Platform at OutfitteryOUTFITTERY
 
Kanban At Roots 2011
Kanban At Roots 2011Kanban At Roots 2011
Kanban At Roots 2011ketilj
 
Matt carroll - "Security patching system packages is fun" said no-one ever
Matt carroll - "Security patching system packages is fun" said no-one everMatt carroll - "Security patching system packages is fun" said no-one ever
Matt carroll - "Security patching system packages is fun" said no-one everDevSecCon
 
How to write your database: the story about Event Store
How to write your database: the story about Event StoreHow to write your database: the story about Event Store
How to write your database: the story about Event StoreVictor Haydin
 
IntelNTU PDF
IntelNTU PDFIntelNTU PDF
IntelNTU PDFJosh Shih
 
Agile Requirements Stories and Backlogs
Agile Requirements Stories and BacklogsAgile Requirements Stories and Backlogs
Agile Requirements Stories and BacklogsPat Scherer
 
Vincent Kok - Microservices 5 things I wish I'd known - Codemotion Milan 2017
Vincent Kok - Microservices 5 things I wish I'd known - Codemotion Milan 2017Vincent Kok - Microservices 5 things I wish I'd known - Codemotion Milan 2017
Vincent Kok - Microservices 5 things I wish I'd known - Codemotion Milan 2017Codemotion
 
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017Vincent Kok
 
No estimates - a controversial way to improve estimation with results-handouts
No estimates - a controversial way to improve estimation with results-handoutsNo estimates - a controversial way to improve estimation with results-handouts
No estimates - a controversial way to improve estimation with results-handoutsVasco Duarte
 
Making the Most of In-Memory: More than Speed
Making the Most of In-Memory: More than SpeedMaking the Most of In-Memory: More than Speed
Making the Most of In-Memory: More than SpeedInside Analysis
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Storieskahgeh75
 
DevDay 2013 - Building Startups and Minimum Viable Products
DevDay 2013 - Building Startups and Minimum Viable ProductsDevDay 2013 - Building Startups and Minimum Viable Products
DevDay 2013 - Building Startups and Minimum Viable ProductsBen Hall
 
Deckible Beta U2
Deckible Beta U2Deckible Beta U2
Deckible Beta U2Nick Kellet
 
Introduction to Agile Project Management and Scrum
Introduction to Agile Project Management and ScrumIntroduction to Agile Project Management and Scrum
Introduction to Agile Project Management and ScrumVoximate
 
Introduction to Agile Project Management and Scrum
Introduction to Agile Project Management and ScrumIntroduction to Agile Project Management and Scrum
Introduction to Agile Project Management and ScrumEric Krock
 
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix ItPHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix ItMatt Toigo
 
Lean Kanban India 2017 | Damn… we missed the date again! | Sudipta Lahiri
Lean Kanban India 2017 | Damn… we missed the date again! | Sudipta LahiriLean Kanban India 2017 | Damn… we missed the date again! | Sudipta Lahiri
Lean Kanban India 2017 | Damn… we missed the date again! | Sudipta LahiriLeanKanbanIndia
 
LKIN17: Damn we missed the date again - Sudipta
LKIN17: Damn we missed the date again - Sudipta LKIN17: Damn we missed the date again - Sudipta
LKIN17: Damn we missed the date again - Sudipta Innovation Roots
 

Similar a Little bits of cardboard - a Kanban case study (20)

How we integrate Machine Learning Algorithms into our IT Platform at Outfittery
How we integrate Machine Learning Algorithms into our IT Platform at OutfitteryHow we integrate Machine Learning Algorithms into our IT Platform at Outfittery
How we integrate Machine Learning Algorithms into our IT Platform at Outfittery
 
Kanban At Roots 2011
Kanban At Roots 2011Kanban At Roots 2011
Kanban At Roots 2011
 
Matt carroll - "Security patching system packages is fun" said no-one ever
Matt carroll - "Security patching system packages is fun" said no-one everMatt carroll - "Security patching system packages is fun" said no-one ever
Matt carroll - "Security patching system packages is fun" said no-one ever
 
How to write your database: the story about Event Store
How to write your database: the story about Event StoreHow to write your database: the story about Event Store
How to write your database: the story about Event Store
 
IntelNTU PDF
IntelNTU PDFIntelNTU PDF
IntelNTU PDF
 
Maximizing Big Data ROI via Best of Breed Technology Patterns and Practices -...
Maximizing Big Data ROI via Best of Breed Technology Patterns and Practices -...Maximizing Big Data ROI via Best of Breed Technology Patterns and Practices -...
Maximizing Big Data ROI via Best of Breed Technology Patterns and Practices -...
 
Agile Requirements Stories and Backlogs
Agile Requirements Stories and BacklogsAgile Requirements Stories and Backlogs
Agile Requirements Stories and Backlogs
 
Vincent Kok - Microservices 5 things I wish I'd known - Codemotion Milan 2017
Vincent Kok - Microservices 5 things I wish I'd known - Codemotion Milan 2017Vincent Kok - Microservices 5 things I wish I'd known - Codemotion Milan 2017
Vincent Kok - Microservices 5 things I wish I'd known - Codemotion Milan 2017
 
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017
 
No estimates - a controversial way to improve estimation with results-handouts
No estimates - a controversial way to improve estimation with results-handoutsNo estimates - a controversial way to improve estimation with results-handouts
No estimates - a controversial way to improve estimation with results-handouts
 
Making the Most of In-Memory: More than Speed
Making the Most of In-Memory: More than SpeedMaking the Most of In-Memory: More than Speed
Making the Most of In-Memory: More than Speed
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
DevDay 2013 - Building Startups and Minimum Viable Products
DevDay 2013 - Building Startups and Minimum Viable ProductsDevDay 2013 - Building Startups and Minimum Viable Products
DevDay 2013 - Building Startups and Minimum Viable Products
 
Deckible Beta U2
Deckible Beta U2Deckible Beta U2
Deckible Beta U2
 
QtEmbedded
QtEmbeddedQtEmbedded
QtEmbedded
 
Introduction to Agile Project Management and Scrum
Introduction to Agile Project Management and ScrumIntroduction to Agile Project Management and Scrum
Introduction to Agile Project Management and Scrum
 
Introduction to Agile Project Management and Scrum
Introduction to Agile Project Management and ScrumIntroduction to Agile Project Management and Scrum
Introduction to Agile Project Management and Scrum
 
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix ItPHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
 
Lean Kanban India 2017 | Damn… we missed the date again! | Sudipta Lahiri
Lean Kanban India 2017 | Damn… we missed the date again! | Sudipta LahiriLean Kanban India 2017 | Damn… we missed the date again! | Sudipta Lahiri
Lean Kanban India 2017 | Damn… we missed the date again! | Sudipta Lahiri
 
LKIN17: Damn we missed the date again - Sudipta
LKIN17: Damn we missed the date again - Sudipta LKIN17: Damn we missed the date again - Sudipta
LKIN17: Damn we missed the date again - Sudipta
 

Último

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 

Último (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 

Little bits of cardboard - a Kanban case study

  • 1. Little bits of cardboard A study of a project using Kanban processes
  • 2. New infrastructure project Unknown and rapidly emerging requirements. Architecture evolved as the project progressed. New clients for the product meant rapidly emerging requirements The application had to be deployed ASAP to meet contractual obligations Details
  • 3. The project was at a standstill, cards were not moving across the board. Large numbers of cards clogged the board and the team felt paralysed. It was difficult to prioritise, as the backlog was so big and undefined 4 months of development work done with no production deployment of any code. Problems
  • 4. The board before Story card Ready for test Test failed In test Backlog Signed off Blocked In Dev Ready for Dev Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Jim Jim Mel Mel Tom A story board can provide a lot of information about a team and how it is performing. The team board had a lot of signals about were problems were occuring
  • 5. Problems Story card Ready for test Test failed In test Backlog Blocked In Dev Ready for Dev Large backlog column: The backlog column contained upcoming stories for the entire project Competing priorities meant the development effort wasn’t focused Stand ups tended to focus on backlog items that hadn’t even made the “Ready for Dev” – (current sprint) column. Time was spent estimating and planning on stories that never ended up getting prioritised Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Jim Jim Mel Mel Tom
  • 6. In Dev Story card Story card Story card Story card Jim Jim Mel Mel Tom Problems Team members were deployed across multiple cards, they found it frustrating and difficult to focus on getting things done.
  • 7.
  • 8. The reasons for this were varied, but there was a lack of ownership or urgencyStory card Story card
  • 9. After a few different approaches were discussed, we trialled a Lean/Kanban approach/process This helped us focus on our constraints and get back to getting things done. What we did next
  • 10.
  • 11. We started by limiting WIP (Work in progress) on the swim lanes, including the “In analysis” and “ready for Dev” lanes How we got there
  • 12. Limiting WIP Story card Ready for test 2 Ready for Sign off 3 In Analysis 2 Ready for Dev 2 In test 2 Signed off Parking lot In Dev 2 Something to talk about tomorrow Story card Story card Story card Story card Story card Story card Story card Story card Story card Story card Ben Tom Mel Jim Cards on the lanes limited to available pairs in the sprint. New cards are demand pulled into the lanes to reach capacity as cards are completed and moved across. Developers only allowed to be on ONE card This ensured the cards coming through were really the “highest” priority Helped minimise discussion and pre-work on low priority cards
  • 13. Worked out what the bare minimum was to get our “first” production release out, even if it meant the application was feature poor. This was what is termed a “MMF” or “Minimum marketable feature” Allowed us to target incremental delivery rather than “big bang” if nothing else, this helped prove the “Path to Production” getting early feedback on performance across all your environments in invaluable. “Please, just let us release something!”
  • 14. Release token/card Story card Ready for test 2 Ready for Sign off 3 In Analysis 2 Ready for Dev 2 In test 2 Signed off Parking lot In Dev 2 Something to talk about tomorrow Story card Story card Story card Story card Story card Story card Story card Story card Story card Ben Tom Mel Jim Release Card Tom JT We introduced a “Release” token which followed the last of the cards in the MMF across the board. This card behaved just as any other card did, occupying slots and requiring owners Any card that followed the release card was not checked into the main trunk until after the release card was “signed off” – which meant deployed We released when we had enough, not at the “end” of a sprint cycle.
  • 15. Reducing clutter/confusion Story card Story card Story card Story card Story card Story card Story card Story card Mel Jim Ready for test 2 Ready for Sign off 3 In Analysis 2 Ready for Dev 2 In test 2 Signed off Parking lot In Dev 2 Something to talk about tomorrow Reduced the amount of clutter that was on the board by removing the backlog column Backlog items were removed and placed out of immediate sight Removed the blocked column, changed how “blocked cards were dealt with” Blocked cards had to find an owner, and therefore a swimlane, or were deprioritised
  • 16. Adding buffers Story card Story card Story card Story card Story card Story card Story card Story card Mel Jim Ready for test 2 Ready for Sign off 3 In Analysis 2 Ready for Dev 2 In test 2 Signed off Parking lot In Dev 2 Something to talk about tomorrow We got excited about removing lanes so; We removed the test failed lane and created a buffer zone above “In Dev”. These cards were considered the highest priority in that lane. Buffers added to other lanes as well, these helped create strong signals of constraints in the system that needed to be acted upon.
  • 17. Sprint cycle and release cycle were “uncoupled” Planning was done, as required, not by timetables Retained sprint cadence for “retros” and “demos” Team aggressively split cards to look for smallest item of “business value” Having limited “fixed backlog” meant we could react very quickly to change Rolled technical stories into stories that deliver business value forced us to change course slowly and justify changes, also reduced Technical debt What changed
  • 18. Delivering a constant stream of small but valuable stuff into production every week is VERY motivating. Splitting stories can reveal just how little business value certain aspects of stories contain We almost never get through everything that was “planned” We almost always ended up doing stories that weren’t “planned” Just-in-time stories can enable the business to leave decision of what’s important to the last possible moment. Trying to deliver everything to everyone can lead to delivering nothing at all to anyone What did we learn?
  • 19. Simplifies workflow Reduces confusion Encourages small incremental releases Accepts and encourages change Teams with highly flexible backlogs (BAU, support) are ideal candidates for Kanban Allows teams to focus on their constraints and support them Is motivating to developers Forces prioritisation by limiting WIP Works well for new product development teams Take home message

Notas del editor

  1. This shows a typical agile story board. There is an area for the sprint backlog, the Work in progress and signed off work.
  2. Japanese for “visual (kan) card(ban)”Kaizen – improvement (pause, reflect, adapt)Muda - waste