Identify the processes

As a first step you need to identify the current processes to figure out bottlenecks and improvement areas. This can be done by creating a Value Stream Map.

Creating a dedicated team

Once the processes are documented and the bottlenecks become clear, it is time to set up a dedicated team. This frees the members of the team from their daily work and allows them to focus on their goals.

The newly created team should consist of generalist, whose skills touch many domains and should be held accountable for achieving clearly defined goals (e.g. reduce deployment lead time from code committed to running in production by 50%).

Setting the goals

Goals and their time frames should be agreed upon by management and be known to everyone in the organization. The amount of initiatives should be limited to allow focus.

Examples of these goals can be:

  • Ensure lead time from code check-in to production is one week or less for 95% of all changes.
  • Ensure releases can always be performed during business hours with zero downtime.
  • Integrate all required security controls into the deployment pipeline to pass all required compliance requirements.

Keep iteration intervals short

An iterative approach should be taken. Keep the iterations between 2 and 4 weeks. This allows us to use learnings in earlier iterations in later iterations, quicker realization of improvements and thus added value in our daily work and flexibility to change priorities when we see fit.

Just as with any other team, it is important we reserve at least 20% of our total time in paying technical debt.