Blog

Shift Left but Right - Richard Seidl

Written by Richard Seidl | Nov 13, 2024 4:54:49 PM

The integration of Shift Left and Shift Right into the development process offers holistic quality assurance. Shift Left promotes early testing to avoid bottlenecks and increase development efficiency. Shift Right complements this with monitoring in the production phase to analyze real-world usage data and enable continuous improvement. Together, these approaches ensure robust and reliable software quality.

Podcast on Shift Left and Shift Right

Today I’m talking to Björn Scherer about shift left and shift right. We look at how to efficiently distribute testing activities across the entire development process and why it makes sense to test intensively in the production phase too. Björn shares valuable insights and concrete examples from his work, such as the use of synthetic monitoring for proactive error detection. Our conversation shows how a holistic approach can significantly improve software quality. An inspiring episode for anyone interested in advanced testing methods!

“If things are going great and something falls over, we have fixed it before the first customer has noticed that something is broken.” - Bjoern Scherer

Björn Scherer has been passionate about software quality assurance for over 18 years. For more than 10 years he has been working in the Generali Group, where he helps development teams to use test automation as a booster for their software development process through sustainability, stability and insights from the test results. For several years he has been working as Lead Test Engineer for CosmosDirekt, where he supports the transition to a DevOps organization by further developing the test methodology and automation. Previously, Björn helped many projects with load & performance tests to achieve stable load behavior in the service of the T-Systems TestFactory.

Highlights of the Episode

  • There are challenges when test activities are bundled at the end of the development process.
  • The shift-left principle recommends starting test activities early in the development process and parallelizing them.
  • The shift-right principle includes testing and monitoring in the production environment.
  • Acceptance Test Driven Development (ATDD) is important for parallel development and testing.
  • Synthetic monitoring makes it possible to continuously monitor the user experience.

Synthetic monitoring and shift right

Shift Left: Early testing for greater efficiency and quality

At the end of a development process, there are often bottlenecks in testing activities. Despite agile methods and DevOps practices, this problem persists. The shift-left principle aims to carry out tests as early as possible in the development process. This approach allows potential problems to be identified and resolved early on before they become costly. It is crucial to design tasks in parallel to avoid bottlenecks and ensure an efficient workflow.

Shift Right: Quality assurance in production

In contrast to the shift-left approach, shift-right aims to carry out quality assurance measures after the go-live. Often, not all tests can be fully completed before going live, so a minimal test set is sufficient to enable the go-live. This is where increased monitoring in production is added to monitor the system under real conditions and react to potential problems at an early stage. This approach enables continuous improvement of application quality through actual usage data and direct feedback from production.

Combination of Shift Left and Shift Right for comprehensive quality assurance

Both approaches - Shift Left and Shift Right - offer valuable advantages and, in combination, can ensure more comprehensive quality assurance. While Shift Left enables parallelization through early testing and detects errors at an early stage, Shift Right provides valuable insights into the actual use and stability of the application in productive operation. An integrative approach, for example through the use of Acceptance-Test-Driven Development (ATDD), closely links development and test processes and thus promotes end-to-end quality assurance.

Synthetic monitoring: proactive early problem detection

A central component of the shift-right approach is synthetic monitoring. This proactive test procedure comprises regularly executed scenarios that ensure that the system functions properly even without active users. Synthetic monitoring plays a particularly important role in user interfaces (UI-based applications), as these are often more prone to errors. It helps to identify and resolve potential problems before they have a negative impact on users and therefore contributes significantly to the stability and reliability of the application.

Test data management in productive environments

A particular challenge in synthetic monitoring is the management of test data in production environments. It is essential to create synthetic test data that resembles real customer data but does not contain any real personal data. Careful handling of this data enables real use cases to be tested realistically without compromising the user experience or operational data. Effective test data management thus ensures the consistently high quality of the tests carried out while protecting the integrity of the production environment.

Frequently asked questions about Shift Left and Shift Right