EventStorming; Continuous discovery beyond software modelling

Moving towards a microservices architecture

We see a lot of companies are moving towards a microservice architecture. The big pitfall of microservices architecture is to focus on the technology, how big the microservice needs to be, how many lines of codes, what entities do we put in a microservice, and using rest as the communication between them. But to succeed we need to focus on the problem space, by crunching domain knowledge and do domain modelling. EventStorming is a perfect fit for domain modelling, and almost all the microservices leaders seem to agree. Even ThoughtWorks finally put EventStorming on ‘adopt’ in their most recent rendition of their technology radar. But EventStorming has grown to be more than just a tool for domain modelling and to be successful and create autonomous teams you need to use EventStorming for more than only domain modelling.

Read more →

Agile Toolkit

  Pull coaching

Traditional Agile Coaching goes like this: we take a look at what you are doing and we advise you what we think is a good next step in your growth and Agile Maturity. These next steps are supported by exercises, simulations, insights and experience that come from our own personal Agile Backpack. At my last assignment, we wanted to learn the teams how to become more self-organizing and self-learning, to take initiative in their own growth path so that they really become owners of it. We decided to support the teams by pull coaching instead of push coaching. The Agile Toolkit was created to support this aid.

Read more →

Pub-Sub messaging with AWS SNS and SQS

When setting up a new application or platform, one of the most important things that you will need is messaging. As every part of the platform has a certain need for data, either realtime or after the fact, messages from other services within the application boundary need to be processed as efficiently as possible. This inter-executable messaging can go from simple notifications about something that happened in a domain (‘customer X changed his name to Y’) to a queue of outstanding jobs that are to be executed by workers. In any architectural case, be it (distributed) monolith, microliths, microservices or anything in between, messages will be there.

Read more →

FarmBot (Part 2): ‘Temporary’ raised bed

A couple of weeks ago we decided to continue building all FarmBot parts. After constructing these in large segments, we would assemble them together on top of the supportive construction, which was still missing.

To get more speed, I asked Sjuck – our house carpenter – to create a temporary solution made of wood. Since our motto still is Quality without Compromise, we were really happy when we saw the piece of art.

Read more →

Building Conversational Interfaces with Dialogflow

Ever since Siri became a standard feature on iOS, voice commands and conversational interfaces have gone through a renaissance of sorts, finally passing a threshold from gimmicky tech demos or science fiction to actual usability. They started out rough at first, being little more than voice command runners, but soon after they became fully conversational – that is, able to understand natural language instead of voice commands, able to ask follow-up questions.

Finally, they developed something of a personality, making them more human-sounding – done initially by adding self-aware sounding responses, often referencing Asimov’s philosophical work on AIs or Turing’s work on discerning an AI from a real person.

Read more →

EventStorming and how to monitor Domain Events for product management

We design, model, and create software to solve a problem for our customer (this can also be a customer from within the same company). Only when we do so, we focus naturally on solving the happy path and want to deliver that value as soon as possible. The only problem here is that we will always come to a point where we get corner cases or business exceptions, and the question starts to arise, what shall we do? Is it worth the effort to invest in building a solution for this, or can we leave this function out of the system because it is not worth it? To answer these question, we want, if possible, feedback from the system to know this. We can quickly get this feedback making it explicit in the form of a Domain Event during our EventStorming and start monitoring it. This way we can leave the options open until we know what to do.

Read more →

Test automation — From basics to advanced

This article answers the following questions:

  1. What are the prerequisites for test automation?
  2. What do you achieve by automating tests?
  3. What steps do you take to get test automation in place?

You’ve decided you need test automation. Awesome! Next phase: Get cracking! You’ve read what considerations to keep in mind when creating a successful automated testing strategy. So you’re good to go. Or are you?

Test automation is the process of automating tests. A set of checks distilled from test cases that are a translation of acceptance criteria. Clear user stories are the first prerequisite for test automation.

Read more →

Share This