Mais conteúdo relacionado

Apresentações para você(20)

Similar a Case Study: How The Home Depot Built Quality Into Software Development(20)


Mais de CA Technologies(20)


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

  1. 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. 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 Our story of how we adopted Agile software development practices Q4 2017
  5. Who am I?
  6. 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
  7. Where do we start? Reproduced from Hakan Forss
  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.
  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 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
  14. Process
  15. 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
  16. Process: Water-Scrum-Fall to XP & Kanban 17 Kanban – Support Teams From XP – Core Development From
  17. Re-tooling and re-aligning the Quality team
  18. Re-tooling and re-aligning the Quality team Manual Testing Automation Testing Coding Quality Code Exploratory Testing + 2010 & Before 2011 - 2015 2016 2017 Onwards
  19. 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
  20. Continuous Delivery
  21. 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.
  22. 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
  23. Questions?
  24. Stay connected at 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 Thank you.
  28. 29 COPYRIGHT © 2017 CA. ALL RIGHTS RESERVED#CAWORLD #NOBARRIERS DevOps: Continuous Delivery For more information on DevOps: Continuous Delivery, please visit: