Photo of Michael Kutz drinking tea in a fine suit Michael Kutz


I've been working in professional software development for more than 10 years now. I love to write working software and I hate fixing bugs. Hence I developed a strong focus on test automation, continuous delivery/deployment and agile principals.

Since 2014 I work at digital as a software engineer and since 2018 as quality engineer. As such my main objective is to support our development teams in QA and test automation to empower them to write awesome bug-free software fast.


These are my talk appointments. Videos and slides will be added to past events when available.


2020-05-06…07 German Testing Day
Kap Europa, Frankfurt am Main
2020-04-21…23 SAEC-Days
From Monolith Testing to Microservice Quality Assurance (extended), Exploratory Testing Workshop & Intensive Coaching Session with Georg Haupt NH München Ost Konferenzcenter
2020-03-26…28 Greach Conference
Spock Testing Workshop with Leonard Brünings & Geb Testing Workshop with Marcin Erdmann Google for Startups Campus, Madrid
2020-03-17…19 JavaLand
Team-Driven Microservice Quality Assurance Phantasialand Brühl


2019-11-06 Agile Testing Days
Team-Driven Microservice Quality Assurance Dorint Sanssouci Potsdam
2019-07-02 Agile Testing
Team-Driven Microservice Quality Assurance NH München Ost Konferenzcenter
2019-05-28 Gr8Conf
How to Build a Test Library for a Microservices-Based Web Application with Geb & Spock IT University of Copenhagen
2019-05-22 REWE digital Köln Meetup
Vertrauen ist gut besser, Kontrolle ist besser schädlich & Team-getriebene Microservice-Qualitätssicherung REWE Digital GmbH, Cologne
2019-05-16 Hands-On Conference: Agiles Arbeiten trifft auf Softwareentwicklung
Team-getriebene Microservice-Qualitätssicherung tarent solutions GmbH, Rochusstraße, Bonn
2019-03-30 Greach Conference
How to Build a Test Library for a Microservices-Based Web Application with Geb & Spock Video (full talk) Teatro Luchana, Madrid
2019-06-06…07 German Testing Day
Vertrauen ist gut besser, Kontrolle ist besser schädlich & Team-Driven Microservice Quality Assurance Kap Europa, Frankfurt am Main
2019-01-15 Agile QA Cologne Meetup
Team-Driven Microservice Quality Assurance REWE Digital GmbH, Cologne


From Monolith Testing to Microservice Quality Assurance

When REWE digital started to sell groceries online, we launched with a massive monolithic piece of software developed in only six months by a software agency.

Right after launch we started to build up our own software teams to take over further development, but we had a hard time developing new features without breaking existing functionality…

…today the monolith is still in place, but most of its functionality has been replaced by microservices which are communicating via asynchronous messaging and deliver their own frontends.

In this session we will talk about challenges we faced over the past three years:

  • optimizing the monolith's architecture for faster feature development
  • breaking it apart into microservices
  • adjusting the QA strategy from a single deployment release process to 40 teams deploying their services whenever they want to
  • developing new types of testing for microservices and microfrontends
  • solving problems with testing asynchronously-communicating microservices
  • organizing QA in a rapidly growing company

new English slides, old English slides, old German slides, Video from REWE digital Meetup Ilmenau (German)

Team-Driven Microservice Quality Assurance

While the Microservice architectural style has a lot of benefits, it makes certain QA practices impractical: there is no big release candidate that can be tested before put to production, no single log file to look into for root cause analysis and no single team to assign found bugs to. Instead there are deployments happening during test runs, as many log files as there are microservices and many teams to mess with the product.

At REWE digital we took a strictly team-driven QA approach. Our teams tried a lot of good and bad ideas to QA our microservice ecosystem. This involves automated testing, but also monitoring, logging and alerting practices.

In this talk I will present some of the best of those ideas, like testing microservices in isolation including UI tests, posting deployment events to a chat room, add team names to log lines or team-driven monitoring on service metrics.

Also I will talk about some of the ideas that failed for us, like building a comprehensive test suit for the overall product or a company-wide QA guild.


How to Build a Test Library for a Microservices-Based Web Application with Geb & Spock

At REWE digital we are building & maintaining a Microservice based e-commerce web application. Our service teams work quite autonomous & are responsible for their own services' quality. They decide which measures are appropriate & efficient in order ensure no bugs in production. Many have a reasonable code coverage via unit tests, a good lot of service tests –including UI tests– & a sufficient monitoring & alerting system.

However, several teams felt the need for a more integrated testing of the whole system to prevent CSS clashes, errors due to interface changes or eventual inconsistency disasters & many many unforeseen issues.

To support these teams, we decided turn our old retired comprehensive test suite into a test library to enable teams to write their own system tests without the need to implement every stupid step in every team.

In this talk I'd like to present our lessons learned & developed design patterns from implementing such a test library with Geb & Spock.

Slides, Video from Greach 2019

Vertrauen ist gut besser, Kontrolle ist besser schädlich (Pecha Kucha)

Klassisch werden Software-Projekte häufig mit separierten Entwicklungs- und Test-Teams durchgeführt, während in der ageilen Softwareentwicklung in der Regel Tester und Entwickler in einem Team zusammengefasst werden. Letzters fühlt sich für mich persönlich sehr viel besser an, aber warum ist das so?

In diesem Vortrag gehe ich auf verschiedene Aspekte ein, die aus meiner Sicht die Verwendung eines separaten Test-Teams regelrecht umständlich und sogar kontroproduktiv ist und was den agilen Ansatz so viel erfolgreicher und sinnvoller macht.



Exploratory Testing Workshop

In this workshop I explain the basics of exploratory testing.

By taking this workshop, you will learn what exploratory testing is and how it might be useful to you. In the exercises you will either explore your own product or a similar commonly known one in order to deepen you understanding of the priciples of exploration.


Spock Testing Workshop

This workshop is about the Groovy-based testing framwork Spock.

By taking this workshop, you will learn how to add the framework to an existing JVM project and its benefits for your testing.


Geb Testing Workshop

This workshop is about the Groovy and Selenium-based web testing framwork Geb.

By thaking this workshop, you will learn how to create readable, semantic and maintainable tests for an existing web site or application.


Groovy Workshop for Java™ Developers

This workshop introduces the Groovy language as an alternative to Java™.




Technically Responsible (§ 5 TMG)

Michael Kutz
Corkstraße 19
51103 Köln

Responsible for Content (§ 55 Abs. 2 RStV)

Michael Kutz
Corkstraße 19
51103 Köln