Model Exploration Whirlpool – Domain-Driven Design: The First 15 Years

with EventStorming and Example Mapping

This article was published in the leanpub book: Domain-Driven Design: The First 15 Years

Introduction

People often ask for more concrete guidance on how to explore models, especially in an Agile or Lean setting. The model exploration whirlpool is Eric Evans attempt to capture such advice in writing. It is not a development process, but a process that fits in most development processes. The central theme revolving the process is to keep challenging the model. While the process itself for most is straightforward and easy to understand, there are not many concrete examples to find on how to do such a model exploration whirlpool. Most people when starting to use Domain-driven design (DDD) are looking for these practical examples. In this article, I will tell you my story of how I used the model exploration whirlpool by combining EventStorming, a technique that came from the DDD community, and Example Mapping, a technique from Behaviour Driven Development (BDD) community.

Read more →

Going from a Value Stream Map to Value Stream Optimisation

Read this blog if you already have a Value Stream Map (VSM) and you are wondering how to reap its benefits using a structured process. If you need to know why and how you should make a VSM, please read the article ‘How to create a Value Stream Map’ written by my colleague Michiel Sens. Don’t forget to return here.

1. Read your VSM

So, how does a VSM look like? Depending on the linearity of a process people either display the process based on activities per role or by a flow of process steps.

Fig 1a. Process steps as a flow

VSM Linear process

Fig 1b. Activities per role
VSM activities per role

Even better is to combine the two approaches to get an idea of work per role as well as the overall process flow.
Read more →

Build and secure containers to support your CI/CD pipeline

There are 2 systems in any company that are critical: the payroll system, and the CI/CD system. Why? You may ask…
If the payroll system doesn’t work, people will leave the company and the company (may) face legal problems; the CI/CD system is the gateway to production. If it is down and there is a bug in production, it will affect your business; loss of revenue, loss of customers, loss of money, just to name a few.

Usually, I find these problems regarding the CI/CD tooling:

  • Poor Software Lifecycle Management, with outdated software, containing critical vulnerabilities
  • Ancient capabilities in the build agents. In extreme cases, frameworks and tools that are no longer supported by the vendors
  • Drifting agents. It means that teams had to do some sorcery to get the software build
  • Lack of proper isolation between different builds. It means that a build could access to another build files
  • Lead teams to upgrade or install a new framework
  • Outdated and strict rules mandated by a operations team. Usually from people that outdated heuristics on how software should be developed

Read more →

Building an Elixir runtime for AWS Lambda

At the most recent AWS Re:invent, Amazon announced support for custom runtimes on AWS Lambda.

AWS has support for quite a few languages out of the box. NodeJS being the fastest, but not always the most readable one. You can edit Python from the AWS Console, while for Java, C# and Go you’ll have to upload binaries.

The odd thing, in my opinion, is that there are no functional languages in the list of supported languages1. Although the service name would assume something in the area of functional programming. The working of a function itself is also pretty straightforward: an input events gets processed and an out put event is returned (emitted if you like).

Therefore it seemed a logical step to implement a runtime for a functional programming language. My language of choice is Elixir, a very readable functional programming language that runs on the BEAM, the Erlang VM.
Read more →

Product Adoption in IT: The Problem With Free Trials

A lot of articles and blogs describe how the customer journey should unfold and what gets in the way of achieving real success. Very few have been written about the problem of one of the most common steps for buying a technical product: the free trial. But free trials are often badly implemented.

The customers of Instruqt are mostly tech vendors who have products or features they need to sell. What Instruqt discovered is that success begins at the first touch with the product. As a tech vendor, you need to show your prospect the value of your product immediately. And the advantage of the free trial is that your prospect gets to know your product in their own environment. So, often this “first-touch” happens through the free trial. After 15, 30 or 60 days of using a product or service, the prospect can then decide if they’re actually going to buy it.

But showing the real value of your product with a free trial is really difficult. There are a lot of hurdles your prospect has to take before he knows how your product is solving his problem. In her article, Heily will show you how to overcome these hurdles.

Curious? Read Heily’s blogpost on LinkedIn.

 

Theming in Vue single file components

There are situations where it’s beneficial to build different CSS files for the same web app. An often seen example is theming an application. When you’re using Vue with its single file component Webpack loader, you’re in luck! You get a lot of flexibility that makes it straightforward to build such a feature.

Read more

Even more Physical tools for Scrum Masters and their teams

This is the 3rd post in a series. You can find the older posts here:

Based on LinkedIn and Twitter feedback on previous posts some additions from the field!

Using perforation reinforcement to stick things to the wall

This tip comes all the way from Japan. I love it how it uses something for which it wasn’t intended. These little circular stickers are normally used to reinforce perforation holes. And with the small dispenser, they can also be used as strong, small sticky tapes!

Make things stick with these small circular pieces of sticky tape in a simple dispenser.

Read more →

Celebrating one year of Scrum Boosters!

History

In 2014 I started at Xebia in the business unit Agile Consultancy and Training (ACT). Colleague Nicole Belilos took me under her wings and helped me develop and grow within this group of Agile coaches. Together with Laurens Bonnema we formed a group who had experienced a lot of bad Scrum, fake Scrum, Scrum and…We wanted to do something about that, because we really believe in the power of Scrum, when done well. We started a cluster called Xcellent Scrum, a group within our business unit with a real focus on helping organizations in improving Scrum. We became certified trainers for Scrum Alliance and Scrum.org and we developed the Scrum Master Academy together with Jesse Houwing.

We encountered a new issue rising in the organizations where we were hired as Agile Coaches and part of Agile transformations. Scrum Masters who had the title or certification but were not able to facilitate Scrum to optimize its effect or who were not able to get teams and organizations further in Scrum.

Read more →

More Physical and Digital tools for Scrum Masters and their teams

A couple of months ago I blogged about some of the tools and toys that live in the trunk of my car. I take these along everywhere I teach and coach. Since posting, people have suggested additional items that just must be in my toolbox.

Time Timer Plus

Time-boxing is an important component of Scrum. It provides focus towards a goal and prevents you from over-analyzing things. We use time boxes extensively in each Professional Scrum class.

This lightweight, large timer helps visualize the time-box clearly to the class without having to juggle tools on screen.

Thanks: Evelien Roos and Just Meddens for this tip.

Logitech R800/700 and Spotlight

I’m using a trusty old Logitech Wireless presenter R800/700. It’s easy to use, has a laser pointer that works no matter what you point it at and has a built-in timer that can be used to warn you when you’ve been talking for far too long.

Read more →

Use Mob Programming to maximize your learning

In every Scrum.org Professional Scrum Development class, we touch upon both technical and collaboration practices to help improve the development teams explore new options. In a recent class, we had two teams that, after two sprints, hadn’t been able to deliver any “Done” increment to show at the Sprint Review. They were plagued by all kinds of issues, merge conflicts, refactoring gone bad, lack of automated tests and everything else that happens in real life. I decided to introduce Mob Programming to see whether that could help them.

The first experience with Mob Programming is usually total chaos and I tried to prepare the team accordingly. Trying out any new technique – anything that’s out of your comfort zone – can result in initial chaos, it requires a bit of courage to move onward. For those of you that don’t have any idea what Mob Programming is, I recommend reading our recent article in XPRT magazine which gives an overview of it or watching a recent recording of Woody Zuill’s presentation.Read more →

Share This