Case Study: How The Home Depot Built Quality
Into Software Development.
Matt Mackenny
DO3T021S
DEVOPS – CONTINUOUS DELIVERY
Director of Software Quality
The Home Depot
2 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
© 2017 CA. All rights reserved. All trademarks referenced herein belong to their respective companies.
The content provided in this CA World 2017 presentation is intended for informational purposes only and does not form any type
of warranty. The information provided by a CA partner and/or CA customer has not been reviewed for accuracy by CA.
For Informational Purposes Only
Terms of this Presentation
3 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Abstract
This session will cover how The Home Depot built quality into its software development
as it migrated from waterfall to agile delivery.Matt
Mackenny
The Home Depot
Director of Software
Quality
Building Quality In
Our story of how we adopted Agile software development practices
Q4 2017
Who am I?
World’s Largest Home Improvement Retailer
 Stores: 2,281 (Q1 2017)
 Operations: U.S., Canada, Mexico
 Associates: more than 400,000
 Revenue: $94.6B USD (FY16)
 Member of DOW
 NYSE (HD) since 1981
Where do we start?
Reproduced from Hakan Forss http://hakanforss.wordpress.com
Define the Why
 Why - This is the core belief and the
why of what you drive towards.
 How - This is how you fulfill that
core belief.
 What - This is what you do to fulfill
that core belief.
https://www.ted.com/talks/simon_sinek_how_great_leaders_inspire_action
Define the Why: Cost of Handoff
1. WCS 7 Up:
Upgrade Website from
v5 – v7 WebSphere
Commerce
Code
Learn &
Test
Fix Handoff
Repeat
6+ Times
4. BOSS: Buy
Online and Ship to
Store
5. Compass:
Replace legacy order
mgmt with new
custom system
2. BORIS: Buy
Online Return In
Store
3. BOPIS: Buy
Online and Return In
Store
WaterfallWater-Scrum-Fall
Lesson learned:
It took us 3 times
longer to deliver
the work & it could
have been faster
Repeat
6+ Times
Repeat
4+ Times
Repeat
3+ Times
Repeat
2+ Times
Define the Why: Cost of Quality in Delay
2578
1180
760
504 365 288 278.5 216 120
41%
60%
72% 80% 86% 90% 95% 98%
100%
0%
20%
40%
60%
80%
100%
120%
0
500
1000
1500
2000
2500
3000
OutageHours
Series2
 Defect: Application defect blocking progress
 Configuration: How an application is
configured
 Application: Typically a reboot of the app
solved
 Network: Outage due to network not
responding
 Deployment: Packages deployed and
environment not starting without triage
 Maintenance: Activities to patch/update
resulted in outages.
 Code delayed: Late delivery of code
 Messaging: MQ specifically had to resolve.
 Deployment Issues: Wrong build deployed!
Defects Detection Time & Rate
REQ DESIGN
CODE & UNIT
TEST
SIT UAT
NumberofDefects
Typical Life Cycle
Early detection of Defects
Quality Engineering
driven Life Cycle
Cost avoided
• Early detection of defects
• Faster time to market
• Predictable delivery with faster turnaround time
• RM/IRB and other support function effort optimized
• Week end/late night support reduced significantly
Unquantified Benefits Cost Avoidance Details
$X M
• Dev capacity increased while QA Team capacity optimized by 25%
saving up to $X.XM
• Defects reduced significantly across releases saving $XM
• Minor/weekly releases supported additionally saving $XXXK
• Downtime due to immature code reduced saving $XXXK
Define the Why: Cost of Quality in Defects
Define the Why: Use the Seven Wastes
1. Partially Done Work
2. Extra Features
3. Relearning
4. Handoffs
5. Delays
6. Task Switching
7. Defects
The above seven wastes are defined in “Lean Software Development: An Agile
Toolkit” by Mary & Tom Poppendieck
13
Hindsight Shows we Targeted Three Broad Areas
1. Process. Moving from Waterfall, Water-Scrum-Fall, to XP & Kanban.
2. Re-tooling and re-aligning the Quality team. Building in development
skills & shifting them into writing code. (App coding, test automation,
aligning into dev).
3. Continuous Delivery. Created a common framework for consistency.
These are how’s
This is a what
Process
Process: Waterfall to Water-Scrum-Fall
Initiation
 Requirement
Consolidation
 Requirement
Prioritization
 Business
Approval
 Project
Charter
Planning
 Design
 Estimation
Execution
 Coding
 Unit testing
Testing
 QA testing
 Performance
 UAT
Deployment
 I&B testing
 Prod
deployment
23 - 16 Week Release Cycle
 Change Requests
 Informal Req Changes
Waterfall
Analyz
e
Plan Build Build Deploy
7 Week Release Cycle
2 Weeks/Sprint 2 Weeks/Sprint2 Weeks/Sprint
Sprint 1:
• Develop new functions
• QA writes…
Sprint 1:
• Develop new functions
• QA writes…
Sprint 1:
• Develop new functions
• QA writes…
Analyze
Plan
Sprint 1:
• Develop new functions
• QA writes…Design
Build
Test
Design
Build
Test
Design
Build
Test
Water-Scrum-Fall
Process: Water-Scrum-Fall to XP & Kanban
17
Kanban – Support Teams
From https://en.wikipedia.org/wiki/Extreme_programming
XP – Core Development
From https://blogs.msdn.microsoft.com/jmeier/2014/06/06/extreme-programming-xp-at-a-glance-visual/
Re-tooling and re-aligning the Quality team
Re-tooling and re-aligning the Quality team
Manual Testing Automation
Testing Coding
Quality Code Exploratory Testing
+
2010 &
Before
2011 - 2015 2016
2017
Onwards
Re-tooling and re-aligning the Quality team
Focused on building a tool stack of in-house with open source & licensed solutions. Here are
some example tools we use:
This list does not include all the test, code coverage and other tools we use
REQ/BUGS/CHORES CODE GOV GATE DEPLOY MEASURE COLLABORATION INFRASTRUCTURETEST
Current
Tools Introduced In-house Retired
Selenium/
Test NG
Tomcat
Grid
Email/
IM
Excel based
Defect
Dashboard
IRB
Container
(SharePoint)
TSR
Generation
App (ALM )
Wiki
Fetch
HOMER
SeeTest
WDIO/
Protractor
Google
Cloud
Platform
Git Hub
Cassandra
Online
Defect
Dashboard
Etch
Wiremock
ServiceNow - RFC
Concourse
Experience
and
Product
Dashboard
Pivotal
Cloud
Foundry
Started us out and enabled us to:
1. Reduced the monolith of code
2. Allow for faster delivery of
application code.
3. Increase the speed at which
we could test
4. ROI was quickly met in
delivery
CA Service
Virtualization
Continuous Delivery
Continuous Delivery
Connecting Components of
Deployment
Steps of the Deployment Process
Focused on tracking core data
elements across core tools, freeing
teams to modify their CD approach as
needed and not being prescriptive in
how development work is done.
Continuous Delivery
26 40 152313
5016347328699541037
0
500
1000
1500
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
# of apps publishing test
results to Pipelines
13 629 2580
65295703
9630
23799
0
10000
20000
30000
Mar Apr May Jun Jul Aug Sept
# of Test Results Posted to
Quality Hub
Concourse Commons & Flow
• Flow – Reusable library for Concourse
with 12 + components
• 50+ Contributors & 1900+ commits
• 20+ Monthly workshops conducted for
IT teams
• Used by 820+ Applicationspipelines
Quality Hub
• Provides a standardized common solution
that can integrated into CICD processes to
capture, store and display pipeline build
events, their states, progress and test
results.
CI-CD Pipeline Adoption
Questions?
Stay connected at communities.ca.com
Thank you.
26 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Recommended Sessions
SESSION # TITLE DATE/TIME
DO3T035T
Case Study: Your Stubs and Mocks are Slowing You
Down: How CA Service Virtualization Helped Speed
Up FIS Mobile Development
11/15/2017 at 04:15 pm
DO3T058T
Case Study: Windstream's Session on Corporate
Challenges in Gaining Traction for Service
Virtualization
11/15/2017 at 05:00 pm
DO3T003S
Analyst Brief: Celebrating 10 Years of Service
Virtualization – A Look Ahead
11/16/2017 at 03:30 pm
27 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Must See Demos
Automate
Your
Ecosystem
End-to-end
Theater 3
308
Constraint
Free
Continuous
Testing
Theater 3
304
Test Data
for Any Need
Theater 3
307
28 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
Stay connected at communities.ca.com
Thank you.
29 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS
DevOps:
Continuous Delivery
For more information on DevOps: Continuous Delivery,
please visit: http://cainc.to/CAW17-CD

Case Study: How The Home Depot Built Quality Into Software Development

  • 1.
    Case Study: HowThe Home Depot Built Quality Into Software Development. Matt Mackenny DO3T021S DEVOPS – CONTINUOUS DELIVERY Director of Software Quality The Home Depot
  • 2.
    2 COPYRIGHT ©2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS © 2017 CA. All rights reserved. All trademarks referenced herein belong to their respective companies. The content provided in this CA World 2017 presentation is intended for informational purposes only and does not form any type of warranty. The information provided by a CA partner and/or CA customer has not been reviewed for accuracy by CA. For Informational Purposes Only Terms of this Presentation
  • 3.
    3 COPYRIGHT ©2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS Abstract This session will cover how The Home Depot built quality into its software development as it migrated from waterfall to agile delivery.Matt Mackenny The Home Depot Director of Software Quality
  • 4.
    Building Quality In Ourstory of how we adopted Agile software development practices Q4 2017
  • 5.
  • 6.
    World’s Largest HomeImprovement Retailer  Stores: 2,281 (Q1 2017)  Operations: U.S., Canada, Mexico  Associates: more than 400,000  Revenue: $94.6B USD (FY16)  Member of DOW  NYSE (HD) since 1981
  • 7.
    Where do westart? Reproduced from Hakan Forss http://hakanforss.wordpress.com
  • 8.
    Define the Why Why - This is the core belief and the why of what you drive towards.  How - This is how you fulfill that core belief.  What - This is what you do to fulfill that core belief. https://www.ted.com/talks/simon_sinek_how_great_leaders_inspire_action
  • 9.
    Define the Why:Cost of Handoff 1. WCS 7 Up: Upgrade Website from v5 – v7 WebSphere Commerce Code Learn & Test Fix Handoff Repeat 6+ Times 4. BOSS: Buy Online and Ship to Store 5. Compass: Replace legacy order mgmt with new custom system 2. BORIS: Buy Online Return In Store 3. BOPIS: Buy Online and Return In Store WaterfallWater-Scrum-Fall Lesson learned: It took us 3 times longer to deliver the work & it could have been faster Repeat 6+ Times Repeat 4+ Times Repeat 3+ Times Repeat 2+ Times
  • 10.
    Define the Why:Cost of Quality in Delay 2578 1180 760 504 365 288 278.5 216 120 41% 60% 72% 80% 86% 90% 95% 98% 100% 0% 20% 40% 60% 80% 100% 120% 0 500 1000 1500 2000 2500 3000 OutageHours Series2  Defect: Application defect blocking progress  Configuration: How an application is configured  Application: Typically a reboot of the app solved  Network: Outage due to network not responding  Deployment: Packages deployed and environment not starting without triage  Maintenance: Activities to patch/update resulted in outages.  Code delayed: Late delivery of code  Messaging: MQ specifically had to resolve.  Deployment Issues: Wrong build deployed!
  • 11.
    Defects Detection Time& Rate REQ DESIGN CODE & UNIT TEST SIT UAT NumberofDefects Typical Life Cycle Early detection of Defects Quality Engineering driven Life Cycle Cost avoided • Early detection of defects • Faster time to market • Predictable delivery with faster turnaround time • RM/IRB and other support function effort optimized • Week end/late night support reduced significantly Unquantified Benefits Cost Avoidance Details $X M • Dev capacity increased while QA Team capacity optimized by 25% saving up to $X.XM • Defects reduced significantly across releases saving $XM • Minor/weekly releases supported additionally saving $XXXK • Downtime due to immature code reduced saving $XXXK Define the Why: Cost of Quality in Defects
  • 12.
    Define the Why:Use the Seven Wastes 1. Partially Done Work 2. Extra Features 3. Relearning 4. Handoffs 5. Delays 6. Task Switching 7. Defects The above seven wastes are defined in “Lean Software Development: An Agile Toolkit” by Mary & Tom Poppendieck 13
  • 13.
    Hindsight Shows weTargeted Three Broad Areas 1. Process. Moving from Waterfall, Water-Scrum-Fall, to XP & Kanban. 2. Re-tooling and re-aligning the Quality team. Building in development skills & shifting them into writing code. (App coding, test automation, aligning into dev). 3. Continuous Delivery. Created a common framework for consistency. These are how’s This is a what
  • 14.
  • 15.
    Process: Waterfall toWater-Scrum-Fall Initiation  Requirement Consolidation  Requirement Prioritization  Business Approval  Project Charter Planning  Design  Estimation Execution  Coding  Unit testing Testing  QA testing  Performance  UAT Deployment  I&B testing  Prod deployment 23 - 16 Week Release Cycle  Change Requests  Informal Req Changes Waterfall Analyz e Plan Build Build Deploy 7 Week Release Cycle 2 Weeks/Sprint 2 Weeks/Sprint2 Weeks/Sprint Sprint 1: • Develop new functions • QA writes… Sprint 1: • Develop new functions • QA writes… Sprint 1: • Develop new functions • QA writes… Analyze Plan Sprint 1: • Develop new functions • QA writes…Design Build Test Design Build Test Design Build Test Water-Scrum-Fall
  • 16.
    Process: Water-Scrum-Fall toXP & Kanban 17 Kanban – Support Teams From https://en.wikipedia.org/wiki/Extreme_programming XP – Core Development From https://blogs.msdn.microsoft.com/jmeier/2014/06/06/extreme-programming-xp-at-a-glance-visual/
  • 17.
  • 18.
    Re-tooling and re-aligningthe Quality team Manual Testing Automation Testing Coding Quality Code Exploratory Testing + 2010 & Before 2011 - 2015 2016 2017 Onwards
  • 19.
    Re-tooling and re-aligningthe Quality team Focused on building a tool stack of in-house with open source & licensed solutions. Here are some example tools we use: This list does not include all the test, code coverage and other tools we use REQ/BUGS/CHORES CODE GOV GATE DEPLOY MEASURE COLLABORATION INFRASTRUCTURETEST Current Tools Introduced In-house Retired Selenium/ Test NG Tomcat Grid Email/ IM Excel based Defect Dashboard IRB Container (SharePoint) TSR Generation App (ALM ) Wiki Fetch HOMER SeeTest WDIO/ Protractor Google Cloud Platform Git Hub Cassandra Online Defect Dashboard Etch Wiremock ServiceNow - RFC Concourse Experience and Product Dashboard Pivotal Cloud Foundry Started us out and enabled us to: 1. Reduced the monolith of code 2. Allow for faster delivery of application code. 3. Increase the speed at which we could test 4. ROI was quickly met in delivery CA Service Virtualization
  • 20.
  • 21.
    Continuous Delivery Connecting Componentsof Deployment Steps of the Deployment Process Focused on tracking core data elements across core tools, freeing teams to modify their CD approach as needed and not being prescriptive in how development work is done.
  • 22.
    Continuous Delivery 26 40152313 5016347328699541037 0 500 1000 1500 Jan Feb Mar Apr May Jun Jul Aug Sep Oct # of apps publishing test results to Pipelines 13 629 2580 65295703 9630 23799 0 10000 20000 30000 Mar Apr May Jun Jul Aug Sept # of Test Results Posted to Quality Hub Concourse Commons & Flow • Flow – Reusable library for Concourse with 12 + components • 50+ Contributors & 1900+ commits • 20+ Monthly workshops conducted for IT teams • Used by 820+ Applicationspipelines Quality Hub • Provides a standardized common solution that can integrated into CICD processes to capture, store and display pipeline build events, their states, progress and test results. CI-CD Pipeline Adoption
  • 23.
  • 24.
    Stay connected atcommunities.ca.com Thank you.
  • 25.
    26 COPYRIGHT ©2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS Recommended Sessions SESSION # TITLE DATE/TIME DO3T035T Case Study: Your Stubs and Mocks are Slowing You Down: How CA Service Virtualization Helped Speed Up FIS Mobile Development 11/15/2017 at 04:15 pm DO3T058T Case Study: Windstream's Session on Corporate Challenges in Gaining Traction for Service Virtualization 11/15/2017 at 05:00 pm DO3T003S Analyst Brief: Celebrating 10 Years of Service Virtualization – A Look Ahead 11/16/2017 at 03:30 pm
  • 26.
    27 COPYRIGHT ©2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS Must See Demos Automate Your Ecosystem End-to-end Theater 3 308 Constraint Free Continuous Testing Theater 3 304 Test Data for Any Need Theater 3 307
  • 27.
    28 COPYRIGHT ©2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS Stay connected at communities.ca.com Thank you.
  • 28.
    29 COPYRIGHT ©2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS DevOps: Continuous Delivery For more information on DevOps: Continuous Delivery, please visit: http://cainc.to/CAW17-CD