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

Cost calculation vs cost awareness
May 16, 2022
Cost calculation vs cost awareness

FEATURE – As inflation bites, the author offers us an insightful take into what it really means to understand a company’s costs. Hint, it doesn’t involve passing them on to customers.

Continue reading
Five lean practitioners answer the same question #5
September 28, 2016
Five lean practitioners answer the same question #5

ONE QUESTION, FIVE ANSWERS – With this month’s question we try to understand what lean idea or principle our interviewees would have liked to learn sooner or better in their journey. So, heads up… You might be in a similar situation.

Continue reading
An organic metaphor of the organization to truly grasp lean
December 15, 2016
An organic metaphor of the organization to truly grasp lean

FEATURE – We are used to seeing the organization as a mechanical entity, but how can a machine possible change and improve? We must change our mental model and learn to see the lean enterprise as a growing plant.

Continue reading
Unearthing problems by reducing work-in-progress
July 11, 2018
Unearthing problems by reducing work-in-progress

BUILDING BRIDGES - This month, we hear how addressing work-in-progress led a startup specialized in AI to productivity gains on their machine learning projects.

Continue reading

Read more

No items found.