1 www.scrumindia.in Date: 7-9 Dec 2012 Name: TV ScrumIndia.In Proprietary Information Applying ‘Kanban’ in Enterprise- Class Products Sustaining Engineering ~ An Experience Report ~ Tathagat Varma @tathagatvarma http://managewell.net http://slideshare.net/managewell
33
Embed
Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Experience Report
My presentation at Agile-Scrum International Summit, Bangalore on a 'Kanban' implementation we did in 2004-05.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
www.scrumindia.in
Date: 7-9 Dec 2012Name: TV
ScrumIndia.In Proprietary Information
Applying ‘Kanban’ in Enterprise-Class Products Sustaining Engineering
• Enterprise-class Software Products• Our Product • Old Process• Problems with Old Process• New Process• Did this move the needle?• What is Kanban?• Kanban in Software Engineering• What did we learn?
• On ‘good days’, Flickr releases a new version every half an hour (Jun 20, 2005)
• IMVU pushes a revision of code to the website every nine minutes (Feb 10, 2009)
• The other day we passed product release number 25,000 for WordPress. That means we’ve averaged about 16 product releases a day, every day for the last four and a half years! (May 19, 2010)
• A new version of Google Chrome now due every six weeks (Jul 22, 2010)
• Facebook does code push twice a day (Aug 4, 2012)
• Dev team had no bandwidth to take on maintenance releases• Huge pile of customer escalations without “home”• Compounded by high incoming field rate• Low closure rate (largely due to no dedicated resources)• Large wait for customers to get bug fixes• Tech Support often tasked team directly and broke the process• Hot fixes not always available to all customers• Sometimes, a new bug fix might break a hot fix• If a hot fix failed in the field, rollbacks would be very difficult• Difficult to estimate time to resolve a bug and give an ETA• High-priority bugs could arrive at any time• Customer specials could arrive anytime with top priority• High internal rejection rate of bug fixes by Tech Support
12
www.scrumindia.in
Date: 7-9 Dec 2012Name: TV
ScrumIndia.In Proprietary Information
New Process, 2004-05
13
www.scrumindia.in
Date: 7-9 Dec 2012Name: TV
ScrumIndia.In Proprietary Information
Product C
Product D
Product C
Product D
ProtocolsProtocols
Decide DriversDecide Drivers
Backend
Product B
Backend
Product B
GUI
Product A
GUI
Product A
Our Kanban Process in action…
PMO
CST Manager
QA TeamQA Team
Dev Team = 15
WIP = 15
WIP = 3
WIP = 4
WIP
= 2
WIP
= 3
WIP
= 3
WIP = 1wk
WIP = 1wk
Tech Support
Qu
eue
= 0
Queue = 0
14
www.scrumindia.in
Date: 7-9 Dec 2012Name: TV
ScrumIndia.In Proprietary Information
Process improvement…the beginnings…
15
www.scrumindia.in
Date: 7-9 Dec 2012Name: TV
ScrumIndia.In Proprietary Information
Cumulative Hot Fix Process
16
www.scrumindia.in
Date: 7-9 Dec 2012Name: TV
ScrumIndia.In Proprietary Information
Weekly Build Process
17
www.scrumindia.in
Date: 7-9 Dec 2012Name: TV
ScrumIndia.In Proprietary Information
So, what is happening?
• Though not an originally stated vision or goal, the “Work in Progress” (WIP) is being limited to # of team members
• At any time, one developer is assigned only one piece of work, thereby achieving “One-Piece Flow”
• New work is only assigned when current work is completed (or cancelled/stalled), and a team member is available
• No wait state or switching costs at an individual level• Smaller lead time for bugs (in contract to lead time for SP)• The process is allowing ‘continuous deployment’ of each
of the hot fixes – even though it is only being practiced in a limited manner
• Finally, the flexibility gained is not a zero-sum game – there is no penalty on performance in rest of the process
18
www.scrumindia.in
Date: 7-9 Dec 2012Name: TV
ScrumIndia.In Proprietary Information
Did this move the needle?
• Bugs addressed each quarter• Quality of bug fixes• “Homes” for bugs• Total bugs open• Open days open• People motivation
19
www.scrumindia.in
Date: 7-9 Dec 2012Name: TV
ScrumIndia.In Proprietary Information
Shift from SPs to Cumulative Hot Fixes while maintaining High Quality
Maintenance Releases (Service Packs, Patches, Hot Fixes) Q3 2003 Through Q4 2006 (Fiscal Year)
Avg Days Open Severity 1 Severity 2 Severity 3 Severity 4 Severity 5
23
www.scrumindia.in
Date: 7-9 Dec 2012Name: TV
ScrumIndia.In Proprietary Information
People motivation
• Started with 16 people dev team• We had zero attrition in the team• Once the backlog started coming down, engineers were
ramped off the team to do new features• Eventually dismantled the team and rolled-up engineers into
dev teams when backlog came down to single digits
24
www.scrumindia.in
Date: 7-9 Dec 2012Name: TV
ScrumIndia.In Proprietary Information
What is Kanban?
• Kanban (literally signboard or billboard) is a scheduling system for lean and just-in-time (JIT) production. According to its creator, Taiichi Ohno, kanban is one means through which JIT is achieved.
• Kanban is not an inventory control system; it is a scheduling system that helps determine what to produce, when to produce it, and how much to produce.
• The need to maintain a high rate of improvement led Toyota to devise the kanban system. Kanban became an effective tool to support the running of the production system as a whole.
• In addition, it proved to be an excellent way for promoting improvements because reducing the number of kanban in circulation highlighted problem areas.
• For example, to efficiently produce a large number of automobiles, which can consist of around 30,000 parts, it is necessary to create a detailed production plan that includes parts procurement. Supplying "what is needed, when it is needed, and in the amount needed" according to this production plan can eliminate waste, inconsistencies, and unreasonable requirements, resulting in improved productivity.
driven by business needs – and NOT because some process looks sexy!
• Don’t let a process limit your potential – think beyond gurus!
• Don’t let absence of a process limit your potential – do whatever it takes to
serve customer better!
31
www.scrumindia.in
Date: 7-9 Dec 2012Name: TV
ScrumIndia.In Proprietary Information
Thanks guys!
• To the wonderful Customer Sustaining Team (Dev and QA), Program Management and Tech Support at Network Associates / Network General in Bangalore and San Jose for some great stuff !!
32
www.scrumindia.in
Date: 7-9 Dec 2012Name: TV
ScrumIndia.In Proprietary Information
Resources
• Was that Kanban? - http://finance.groups.yahoo.com/group/kanbandev/message/4131 and http://finance.dir.groups.yahoo.com/group/kanbandev/message/4166
• http://refcardz.dzone.com/refcardz/getting-started-kanban• Ship early and ship twice as often, https://www.facebook.com/notes/facebook-
engineering/ship-early-and-ship-twice-as-often/10150985860363920• How we built Flickr,
http://www.plasticbag.org/archives/2005/06/cal_henderson_on_how_we_built_flickr/• Continuous Deployment at IMVU: Doing the impossible fifty times a day,