Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Experience Report
1. www.scrumindia.in
Applying ‘Kanban’ in Enterprise-Class
Products Sustaining Engineering
~ An Experience Report ~
Tathagat Varma
@tathagatvarma
http://managewell.net
http://slideshare.net/managewell
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
1
Name: TV
2. www.scrumindia.in
Discussion Topics
• 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?
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
2
Name: TV
5. www.scrumindia.in
Other major OS and tools timeline
https://en.wikipedia.org/wiki/Solaris_(operating_system) https://en.wikipedia.org/wiki/Bugzilla
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
5
Name: TV
6. www.scrumindia.in
As a contrast, what are consumer internet companies doing?
• Continuous Integration -> Continuous Delivery ->
Continuous Deployment
• 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)
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
6
Name: TV
7. www.scrumindia.in
Desktop OS Market share (Nov 2012)
http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=10&qpcustomd=1
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
7
Name: TV
8. www.scrumindia.in
Our Product
• Network Management domain
• Windows-based specialized hardware (“Appliances”)
• Installed in data centers for traffic monitoring,
analysis and network troubleshooting
– but not generally on production network
• Typical users are technical folks – CIO, Network
Manager, Network Engineers
• Selling cycles typically align with quarterly or annual
budget cycles
• Many sales require implementing customer specials
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
8
Name: TV
9. www.scrumindia.in
Old Process, circa 2003
• Customer Bugs prioritized based on multiple business
parameters, including (partial list) -
– Severity
– Impact on Revenue, Volume, Competitive, etc.
– Case age
• PMO would prepare Maintenance Release Plan of Record (MR
POR) and get buy-in for various types of MRs -
– Service Packs – bunch up ~50-60 bugs typically every quarter
– Hot Fixes – 1-2 high-urgency bugs that can’t wait until next SP
– Patches – workaround for customer-specific issues
• SPs would have
– Above The Line (ATL) requirements – must fix
– Below The Line (BTL) requirements – fix if time permits
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
9
Name: TV
10. www.scrumindia.in
A typical support timeline
http://itconvergence.blogspot.in/2012/10/oow-12-elison-extradata-oracle-r122.html
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
10
Name: TV
11. www.scrumindia.in
Problems with Old Process
• 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
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
11
Name: TV
13. www.scrumindia.in
Our Kanban Process in action…
Dev Team = 15
Tech Support
GUI
GUI
PMO
Product A
Product A
W
IP
=
Queue = 0
3 Backend
Backend WIP = 1wk
W
WIP = 15 Product B
Product B
IP
=
QA Team
QA Team
4
Queue = 0
WIP = 2
Product C
Product C
CST Manager
Product D
Product D WIP = 1wk
3
=
Protocols
Protocols
IP
W
3
=
IP
W
Decide Drivers
Decide Drivers
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
13
Name: TV
17. www.scrumindia.in
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
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
17
Name: TV
18. www.scrumindia.in
Did this move the needle?
• Bugs addressed each quarter
• Quality of bug fixes
• “Homes” for bugs
• Total bugs open
• Open days open
• People motivation
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
18
Name: TV
19. www.scrumindia.in
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)
100 100
96 97 96
70 66 94 100
92 92 93
91
88
87
85 90
60 80
Percentage of released 80
Maintenance Releases
50 (Service Packs,
Patches, Hots Fixes) 70
that addressed
customer reported
Total Maintenance 60
40
Releases (Service
Packs, Patches, Hot
62 32 50
Fixes) for this
30 30
Hot Fixes quarter. 28
30 27
26
25 25 25 40
Patches 22
Service 30
20
Packs 15 28
16 27
12 18 28
20 26
26 24 20
21
10 7 11
8
2 5 10
3
1 0
2 1 1
5 4 4 4 4 0 1 0 0
2 3 2 2 2 0 2 3 0
0 0 1 1 0
Q3 03 Q4 03 Q1 04 Q2 04 Q3 04 Q4 04 Q1 05 Q2 05 Q3 05 Q4 05 Q1 05 Q2 06 Q3 06 Q4 06
Service Packs Patches Hot Fixes % Successful
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
19
Name: TV
23. www.scrumindia.in
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
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
23
Name: TV
24. www.scrumindia.in
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.
https://en.wikipedia.org/wiki/Kanban
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
24
Name: TV
25. www.scrumindia.in
A Kanban System at my Toyota dealership
https://twitpic.com/het3u
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
25
Name: TV
26. www.scrumindia.in
How does it work?
http://www.toyota-global.com/company/vision_philosophy/toyota_production_system/just-in-time.html
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
26
Name: TV
27. www.scrumindia.in
How Kanban helps achieve “Just-in-Time”
• 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.
http://www.toyota-global.com/company/vision_philosophy/toyota_production_system/just-in-time.html
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
27
Name: TV
28. www.scrumindia.in
Kanban for Software
• Visualize the Workflow: Represent the work items
and the workflow on a card wall or electronic board
• Limit Work-in-Progress (WIP): Set agreed upon
limits on how many work items are in progress at a
time
• Measure and Manage Flow: Track work items to
see if they are proceeding at a steady, even pace
• Make Process Policies Explicit: Agree upon and
post policies about how work will be handled
• Use Models to Evaluate Improvement
Opportunities: Adapt the process using ideas from
Systems Thinking, Deming, etc.
Kanban: Successful Evolutionary Change for your Technology Business – David Anderson
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
28
Name: TV
29. www.scrumindia.in
Why Kanban in Software Engineering?
https://leanandkanban.files.wordpress.com/2009/04/kanban-for-software-engineering-apr-242.pdf
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
29
Name: TV
30. www.scrumindia.in
What did We learn?
• Process improvement should be
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!
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
30
Name: TV
31. www.scrumindia.in
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 !!
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
31
Name: TV
32. www.scrumindia.in
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,
http://timothyfitz.com/2009/02/10/continuous-deployment-at-imvu-doing-the-impossible-fifty-
times-a-day/
• A New Version of Google Chrome now due every six weeks,
http://techcrunch.com/2010/07/22/google-chrome-versions/
• In praise of continuous deployment: The WordPress.com story,
http://toni.org/2010/05/19/in-praise-of-continuous-deployment-the-wordpress-com-story/
• CONWIP, https://en.wikipedia.org/wiki/CONWIP
• Kanban applied to Software Development: from Agile to Lean,
http://www.infoq.com/articles/hiranabe-lean-agile-kanban
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
32
Name: TV
33. www.scrumindia.in
Q&A
Questions and Answers?
Date: 7-9 Dec 2012 ScrumIndia.In Proprietary Information
33
Name: TV