Planet Lean: The Official online magazine of the Lean Global Network
Slashing onboarding time for new developers

Slashing onboarding time for new developers

Clement Hannicq
September 30, 2019

BUILDING BRIDGES – Using kaizen, a team at Theodo was able to reduce the time necessary to install a project on a new developer’s computer from three weeks to twelve minutes.


Words: Clément Hannicq, Architect Developer, Theodo

Photo by Kevin Ku on Unsplash


When developers join a project, the onboarding begins by installing the project on their computer so they can start working. This is very much akin to the change of dies we see on the production floor.

A few months ago, I joined an ongoing project here at Theodo and I was shocked to see it took me two days to install it. To me this was not acceptable, especially considering that in our company we install projects very often (160 times in 2018). In my mind, this task shouldn’t take more than 30 minutes, so I chose this timeframe – half an hour – as a standard and decided to start a kaizen.


LEVERAGING AUTOMATION TO WEED OUT HUMAN ERRORS

I started by mapping all the steps in the installation process to onboard a new developer, each of them taking from 1 to 4 human actions – as described in this graph:

The onboarding process at Theodo

Then, I sorted through the steps and removed those I found to be unnecessary. For example, I discovered that the “Setting up credentials on the virtual machine” was unnecessary, because creating the virtual machine automatically generates credentials. This meant we did not have to set up new ones – a good example of digital 5S.

I then decided to automate the process, because I was making lots of mistakes following it. Hence, I wrote a script to execute all the remaining steps and managed to get the installation time under the 30 minutes threshold. (The first step, “Install Global Dependencies” was the only one that depended on the computer the developer uses. This made it the most complicated to automate, so I left it as is.)

Automating a step in the process to avoid mistakes

POKA YOKE TO THE RESCUE

Soon after that, I switched projects again and, one more time, I encountered a very complex installation process. It entailed about 40 pages of instructions, and it took me three weeks to install the project locally.

In response, I applied the standard I have designed in order to simplify the installation process. When the next developer joined the team, it took him less than 15 minutes to install.

However, when a couple months later a new developer joined the project, it took him 50 minutes. He got stuck five times because he made mistakes during the global dependencies installation.

This story prompted me to add a new standard: there must be an automatic check that every global dependency is installed and functional. Thus, I added a script that would check the installation of every tool needed by the project. I had it display on a single line in the missing or broken dependency when it failed.

Following those improvements, I removed a couple hundred manual actions. The next installations took the new developers a maximum of 12 minutes.


THE AFTERMATH

Over time, I kept doing kaizen on dozens of projects. To date, I have come up with the following standards:

  • All external dependencies are listed and the developer has a way to know how to solve them.
  • To ensure the global dependencies are correctly installed, there is an automatic check. There is at least one known set of global dependencies that is known to work.
  • Installation is automated (once the global dependencies are installed).
  • Installation always works on the first try. Which means, for example, that there cannot be a troubleshooting section in the documentation.

I am now starting to realize that my initial goal of installing in less than 30 minutes should not be a developer’s first concern, as they should focus on making it work right first time.

If I reflect on my experience from a lean perspective, I see my journey being very similar to the SMED methodology.

The gist of SMED is to start by mapping out the process and identifying which steps require production to stop, those are called internal. Then convert as many internal steps into external steps, meaning that they no longer require production to stop. And finally ensuring all external steps are reliable.

Much like on a production floor when a machine goes through a changeover, the developer needed to stop the production of features and focus on the installation instead. The installation steps were already defined but required the full attention of the developer – they were internal.

By automating the installation, I simplified a process of dozens of internal tasks and replaced it with a number of external tasks, since the developer no longer has to handle the sequence of commands himself.

The last step is to streamline the steps that still required the attention of the developer – handling errors and global dependencies.


THE AUTHOR

Clément Hannicq photo
Clément Hannicq is an Architect Developer at Theodo.

Read more

How to be multi-dimensional in your lean transformation
September 28, 2017
How to be multi-dimensional in your lean transformation

FEATURE – Because each lean transformation is unique, we can't expect an off-the-shelf solution to work. The author discusses multi-dimensional transformations and how we can be flexible but also structured.

Continue reading
What levelled production has to do with product costing
February 3, 2017
What levelled production has to do with product costing

FEATURE – What does levelled production have to do with product costing? This article explains how getting your accountants to understand this link can help your company become less complex, more efficient and profitable.

Continue reading
Leadership and business transformation go hand in hand
February 2, 2017
Leadership and business transformation go hand in hand

VIDEO – We constantly talk about the role of leadership, but perhaps we don't realize just how intertwined leadership transformation and business transformation really are. This short video discusses why.

Continue reading
Lean strategy means learning what to improve
January 4, 2021
Lean strategy means learning what to improve

FEATURE – Lean represents a strategy to understand what needs to be improved, the critical skills that must be developed to solve a specific problem – whether it’s a quality defect or a pandemic.

Continue reading

Read more

No items found.