How to succeed at Progressive Delivery

There is a lot of buzz around the practice of Progressive Delivery lately. Rightfully so, as it’s a great addition to continuous delivery. By gradually exposing new versions to a subset of users, you’re further mitigating risks. As usual with new and shiny things, many of us are eager to try it out, learn about the tools and shift to this way of working. But as is also common, there are reasons to do it, reasons to not do it, and reasons you might not succeed at it. Let me save you some trouble by elaborating on a few of them. 

Read more →

Quality pattern 2: Automate your acceptance tests

Welcome to my second blog in the series of five quality patterns in Agile development that can help you to deliver the right software with great quality. In my previous blog, I’ve introduced Example Mapping as a method to get to specific examples for scenarios or rules that your user story is made up of. The output of the refinement sessions are your requirements and thus your tests. In this blog, we will take a further look at these test cases and why it is important to automate these acceptance tests. Not just from a development team perspective, but also what they can bring to your business.

Read more →

A layman’s introduction to socio-technical systems

Nowadays, there is an increasing interest and mentioning of socio-technical engineering, socio-technical systems. And although the words do not strike as odd on its own I personally have struggled quite a bit with the different meanings of the terms and understanding the field of socio-technical systems. So in this article, I will provide a layman’s introduction to socio-technical systems. Knowledge about socio-technical engineering can help you to understand what constraints might prevent or help you to succeed in your current project.

Read more →

How to reduce AWS Lambda latency using custom runtimes

When using AWS Lambda functions you typically want to return a response to the client ASAP. However, imagine a situation where you calculate the response for the client and want to do some actions after sending the response to the client (e.g., write some metrics). Since standard AWS Lambda functions do not allow you to execute any actions after returning the response,  the client will experience extra latency due to the other actions which must be completed first. This blog explains how to use AWS Lambda custom runtimes to reduce the added latency and still do the additional processing.

Read more →

How product quality is affected by the test automator role

What is happening to product quality?

Throughout my career as a quality engineer, I have developed a deep passion for quality. This passion goes way beyond the quality of software products. It is also about the quality of all interactions, quality of processes, and quality of work and life experience. I strive to bring excellence to every aspect of my life, and it hurts to see when greatness is lacking.

In my working life, I’ve seen the market focus shift more and more from quality to speed. We build more products than ever before; unfortunately, many of them are not up to par.

How IT organizations have tried to fix the degradation of quality until now confuses me sometimes.

Read more →

Mocking Vuex in Storybook and Vue Test Utils

tl;dr: Scroll down to Conclusion immediately

  • In Storybook, each story is a new Vue app
    register Vuex plugin on Vue prototype
  • In Vue Test Utils, each test reuses the existing Vue constructor
    register Vuex plugin on local Vue instance

This blog post demonstrates how to set up a simple unit test and story for a component that is connected to a Vuex store. These components usually are smart/container components.

In my current project assignment I have the honor to help 4 teams starting to improve code quality and to release more often. Unfortunately there are not a lot of dumb components, which are easier to test and to write stories for.

There is no safety net (tests + stories) created yet, so refactoring is kind of risky. The perfect Chicken and Egg problem! How can I still test these components? How do I mock the Vuex store?

Read more →

Advent of Code, day 24 + 25: Think out of the box

Bugs in recursion

Lets first talk about Day 24 – “Planet of Discord”. This puzzle reminded me of the fascinating Conway’s Game of Life that dates back to 1970.

Part one was about finding a repeating pattern in the ever-changing constellation of bugs. Now my loop detector that I had prepared earlier on day 12 to solve “The N-Body Problem” came in handy. So this part was quickly resolved. So let’s continue with the typical more advanced part.

Read more →