Shift Left and Shift Right Development Methodologies

Jul 17, 2024

Shift Left and Shift Right Development Methodologies

Introduction

  • Presenter: Alex USA Days
  • Topic: Shift Left and Shift Right Development Methodologies
  • Context: Last video in the development methodologies section
  • Next Section: Types of testing, test plans, test creation, and test management

Shift Left Methodology

  • Core Idea: Move testing activities earlier in the development process (design & development stages)
  • Objectives: Emphasize problem prevention, early bug detection
  • Approach:
    • Engage in early test planning during grooming sessions with product owners/managers
    • Developers focus on unit and integration testing during development
    • Lower-level testing (e.g., API and database testing) prioritized
    • Quality is integral to product planning, design, and architecture
  • Popular Frameworks:
    • TDD (Test Driven Development): Write tests first, then code
    • BDD (Behavior Driven Development): Describe system behavior in plain English using Gherkin language, then code

Shift Right Methodology

  • Core Idea: Focus testing activities closer to production (post-production and maintenance stages)
  • Objectives: Controlled production testing, monitoring
  • Approach:
    • Canary Releases: Deploy changes to a small subset of users first, monitor, then gradually increase
    • Feature Flags: Toggle new features on/off in production without user impact
    • Monitoring: Keep an eye on production logs for errors, response times, load handling
    • Automated Regression Testing: Run clean end-to-end tests in production

Combined Approach

  • Optimal Strategy: Implement elements from both Shift Left and Shift Right
  • Benefits:
    • Early bug detection and prevention
    • Ensuring stability and performance in production
  • Practical Considerations:
    • Resource availability
    • Testing time frames

Conclusion

  • Presenter's Advice: Balance both methodologies to achieve thorough test coverage and stable production
  • Next Steps: Transition to discussing various types of testing, test plan creation, and QA best practices

Additional Resources

  • Links for detailed reading on TDD, BDD, and other terminologies mentioned in the lecture

Subscribe for more content on becoming a QA professional.