Tech Agility at TD Ameritrade

VMware Tanzu
VMware TanzuVMware Tanzu
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
Tech Agility at TD Ameritrade
1 of 40

More Related Content

Similar to Tech Agility at TD Ameritrade(20)

Crossing the CI/CD/DevOps ChasmCrossing the CI/CD/DevOps Chasm
Crossing the CI/CD/DevOps Chasm
VMware Tanzu479 views
PCF Killed the ITSM StarPCF Killed the ITSM Star
PCF Killed the ITSM Star
Kyle Campos84 views
Driving Developers To Your APIDriving Developers To Your API
Driving Developers To Your API
Carlo Longino486 views
Experience + Education = EmpowermentExperience + Education = Empowerment
Experience + Education = Empowerment
VMware Tanzu224 views
DevOps Thinking for the Line of BusinessDevOps Thinking for the Line of Business
DevOps Thinking for the Line of Business
Sanjeev Sharma2.1K views

Recently uploaded(20)

Like SpecFlowLike SpecFlow
Like SpecFlow
Dmitry Dorogoy9 views
Build and Modernize Intelligent Apps​Build and Modernize Intelligent Apps​
Build and Modernize Intelligent Apps​
Lorenzo Barbieri32 views
linux-namespaces.pdflinux-namespaces.pdf
linux-namespaces.pdf
Ignat Korchagin17 views
The Case Against Frameworks - JFall 2023The Case Against Frameworks - JFall 2023
The Case Against Frameworks - JFall 2023
Jan-Hendrik Kuperus12 views
Streamlined CMS - DrupalCon SessionStreamlined CMS - DrupalCon Session
Streamlined CMS - DrupalCon Session
Smile I.T is open13 views

Tech Agility at TD Ameritrade

  • 1. Tech Agility at TD Ameritrade Poornima Rajendhran Michael Dennis Mounika Kikkuru October 7–10, 2019 Austin Convention Center TD Ameritrade and Pivotal are separate unaffiliated companies and are not responsible for each other’s services, opinions or policies. Presentation content provided by and property of TD Ameritrade. TD Ameritrade is a trademark jointly owned by TD Ameritrade IP Company, Inc. and The Toronto-Dominion Bank. © 2019 TD Ameritrade
  • 2. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ • TD Ameritrade Institutional has been on a modernization and transformation journey. • Vision: transform software delivery process Introduction 2
  • 3. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Areas for growth… two years ago… • Project to product mindset • Story writing • Sprint planning • Balanced team • Testing • Code quality • Deployments • Sustainability
  • 4. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ • Introduction of Extreme Programming. (XP) practices like : • Test driven development (TDD) • Pair programming • CI / CD • Small releases • Collective code ownership • Strategies like domain driven design, consumer driven contracts, reactive programming Pivotal Enablement & Impact 4
  • 5. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Areas for growth • Project to product mindset • Story writing • Sprint planning • Balanced team • Testing • Code quality • Deployments • Sustainability
  • 6. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Discovery & Framing • Stakeholder meetings • User interviews • Problem exploration • Solutions/brainstorming • Goals/anti-goals • Tech stack decisions • Personas
  • 7. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Project mindset A project that meets • All deadlines • Within budget • Original scope BUT is it the right PRODUCT ? • Realizes a set of activities • Over an agreed period of time • Achieves a specific purpose
  • 8. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Product mindset • Focus on customer Empowered teams • Sustainable pace for continuous delivery • Enables measurement of business metrics • Adoption and retention • Revenue or cost savings
  • 9. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Areas for growth • Project to product mindset • Story writing • Sprint planning • Balanced team • Testing • Code quality • Deployments • Sustainability
  • 10. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Story writing Challenges: • 20+ point stories • Stories written based on developer skills & availability (horizontally sliced) Strategies:  Creating and representing the product strategy and vision  Focusing on achieving customer delight  Creating a product roadmap with frequent releases  Maximizing revenues and return-on-investment
  • 11. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ • Understanding of the needs, wants, and limitations of users • Analyzing and foreseeing how users are likely to use a product • Active involvement with users • Incorporating user insights to refine design User-Centered Design(UCD)
  • 12. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ User stories in XP • Used to capture a description of a software feature from an end-user perspective • Describes the type of user, what they want and why • Helps to create a simplified description of a requirement • Delivers clear user value • Vertically sliced requiring full stack development
  • 13. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Story writing Challenges of regular user research and feedback: • Difficulty in acquiring users on a regular cadence • Appropriate staffing for the job Business vs technical requirements: spikes for technically complex epics first
  • 14. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Areas for growth • Project to product mindset • Story writing • Sprint planning • Balanced team • Testing • Code quality • Deployments • Sustainability
  • 15. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Sprint Planning Challenges: • Scrum way of committing to fixed points on a sprint • Limited opportunity for innovation and spiking out new technologies Strategies:  Practice Kanban & rolling backlog  One week iterations  Metrics for team performance: Velocity & Volatility
  • 16. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Areas for growth • Project to product mindset • Story writing • Sprint planning • Balanced team • Testing • Code quality • Deployments • Sustainability
  • 17. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Challenges: • Lack of team stability • Individuals divided between multiple teams based on need & availability Balanced Team 1 7 Strategies:  Balanced team including Product, UX, Engineers, Quality Assurance  Minimal changes to team structure  Pairing  Full stack development  Collective code ownership
  • 18. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Insights: • Collaborative • Cross-disciplinary • Self-sufficient • Co-located (ideally) • Team discussions • OK to ask for help • Regular retrospectives in a safe setting Balanced Team 1 8
  • 19. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Areas for growth • Project to product mindset • Story writing • Sprint planning • Balanced team • Testing • Code quality • Deployments • Sustainability
  • 20. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Challenges: • Reliance on manual testing • Late discovery of bugs • Low confidence to refactor code Testing 2 0 Strategies:  Test Driven Development (TDD)  Shifting left
  • 21. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ RED: Create a unit tests that fails GREEN: Write code that makes that test pass REFACTOR: Clean up the code
  • 22. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ • Short feedback loops • Built-in regression • Supports iterative development • Facilitates CI/CD • Fewer bugs Benefits of TDD 2 2 • Confidence to refactor • More adaptable code • Increases “bus count” • Increases productivity • Decreases time to market
  • 23. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ What to test: • Must have a full understanding of the acceptance criteria • Anticipate what could happen • Define edge cases Testing 2 3 Test coverage: • Unit • Contract • Integration • Browser automation • Acceptance / E2E
  • 24. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Areas for growth • Project to product mindset • Story writing • Sprint planning • Balanced team • Testing • Code quality • Deployments • Sustainability
  • 25. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Challenges: • Accumulating tech debt • Waiting on code reviews / peer reviews • Legacy code risky to refactor Code Quality 2 5 Strategies:  Maintaining clean code through refactoring  Pay down tech debt early and regularly  Tests as documentation  Pair programming
  • 26. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ • Ping-pong pairing • Navigator-driver • Rotate pairs every day • “Mobbing” Pair Programming 2 6
  • 27. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Areas for growth • Project to product mindset • Story writing • Sprint planning • Balanced team • Testing • Code quality • Deployments • Sustainability
  • 28. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ • Integrate code into shared repo several times a day • Each commit – automated build & runs test suite Continuous Integration (CI) 2 8 • Trunk development • Fixing broken build is the priority for the team
  • 29. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Continuous Delivery / Deployment (CD) 2 9 • Frequent small deployments • Risk of deployment is low • Leverage feature flags for large functionalities • Same artifact for all environments • Homogenous environments • Production is another stage in the pipeline
  • 30. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Deployment tool 3 0 • Immutable release unit comprising binaries and configs from multiple services • Promoted to higher environments using a single command
  • 31. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Deployments – Before… 3 1 • Request VMs for new services • Setup the VM with required software & configs for the service • Setup Jenkins jobs manually and use scripts to deploy the app into running VM • 6 to 8 weeks release cycle • Release all-nighters
  • 32. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Deployments – After… 3 2 • Write and commit code
  • 33. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Impact of PaaS 3 3 • Faster time to market • More responsive • Greater efficiency • Increased productivity • Resource utilization • Automation • Self-service • Cost offset 0 20 40 60 80 Time to market Before After Developer efficiency improvement 25% to 30%
  • 34. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 3 4
  • 35. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Dev or Ops or DevOps ? 3 5 • We are a Dev team, not a DevOps team • Responsibilities of our Ops team: • Setting up & configuring Pivotal Platform environments and spaces • Deployment tool • Releases • Dev / Ops / DevOps: Vigilance about who is responsible for what
  • 36. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Areas for growth • Project to product mindset • Story writing • Sprint planning • Balanced team • Testing • Code quality • Deployments • Sustainability
  • 37. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ • Enablement with other teams • Sharing of knowledge • Continuous discussions and feedback • Cross-over pairing • Coopertition (Cooperation + Competition) Sustainability 3 7
  • 38. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ What all of this helped us achieve… 3 8 • RESTful microservices architecture • Implement Spring Cloud Gateway as routing app for our backend-for- frontends (BFFs) • Domain driven design + consumer driven contracts + other testing patterns • Demo app for our site providing incredible value to sales & marketing to promote the site
  • 39. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ • Service discovery & registry for microservices architecture • Client side load balancing and Circuit breaker patterns • Deploy each microservice independently • Acceptance test suite that will eventually replace Enterprise QA cycle Road Ahead 3 9 “”When the road ahead seems too long, look back to see how far you’ve come. For, even if the hill before you is steep, the view gives you hope to finish the journey” - Adira Daniella Kessler
  • 40. Thank you Please reach out if you have any questions #springone@s1p