Skip to the content.

Get ready for Legacy Code Retreat with test data builders and the Mikado method

Homework writton on a chalk board

Image Source

To ensure a smooth start of the workshop, we highly recommend that you go over the below two preparation steps before the training day.

This should only take few minutes of your time, but would save a lot of the workshop’s time!

Configure your Dev Environment

Firstly, let’s configure the dev environment on your machine.

Configuration Steps:

  1. First, you’ll need to clone the repo from github to your machine
  2. Pick the programming language of your preference (C++, Java, or C#)
  3. Follow the steps defined in the BUILD_MANUAL corresponding to your preferred language. These manuals contain information on the required tools, versions, and processes to configure and run the project:
    1. C++ Build Manual
    2. Java Build Manual
    3. C# Build Manual
    4. Kotlin Build Manual
  4. Your environment will be ready when you can:
    1. Open, compile, and run tests from your IDE
    2. Run the application from the command-line (i.e., “Run Command” section of the BUILD_MANUAL)
  5. If you face any issue, you can refer to the Troubleshooting page.

Think of your Constraint

During a Code Retreat, you often try to go through the same problem multiple times using different ‘constraints’. For the second iteration of this code retreat, you will have the opportunity to choose your preferred constraint.

We propose 3 constraints:

  1. The Test Data Builders pattern: this technique let you factorize test data setup and make your tests more readable
  2. The Mikado Method: this technique lets you split large code changes into small independent steps that you can code, commit, integrate, and deploy independently, without blocking the feature delivery
  3. Test Data Builders + Mikado Method: mixing both techniques lets you write your tests incrementally, without blocking feature delivery and by increasing your overall code’s testability at every step

Don’t hesitate to have a look at this material before joining. Here are heuristics to pick the right constraint:

  1. Pick a technique you don’t yet know
  2. If you know neither of the techniques, pick whichever you want, or just follow your group
  3. Don’t try the combination of the 2 techniques if you do not already know the 2 techniques

Make sure you have everything ready

TODO Insert any additional requirments you would like your participants to check before the workshop: access an online tool, register to a meeting…