Join us

How to Reduce Waste and Increase Productivity in Software Development?

0_9ZWVq7vmJ6dDZryk.jfif

A large part of the DevOps methodology and philosophy builds upon Lean manufacturing. The main goal of DevOps is to eliminate waste in a project, and the most significant source of waste used to be the separation between the development team and Operation teams. The separation negatively impacts your project in terms of quality and rapidity.

This is where the term DevOps arose: from the idea of uniting two departmental to increase the overall software supply chain efficiency.

Since DevOps built upon Lean and that Lean has been used for over two decades. It is logical the think they must be Lean tools that can be reused in the IT world.

In this article, we explore one of the most iconic Lean tools, namely the 5S method. 5S is a lean manufacturing improvement program that aims to organize the workplace to optimism its utility and reduce waste. You can very simply use the 5S approach to reorganize teams and projects more productively.

Introduction to the 5S approach

The 5S was first introduced as part of the Toyota Production System
(TPS) in The Toyota Way. The 5S acronym stands for five Japanese words:

  • Sort (Seiri)
  • Set in Order (Seiton)
  • Shine (Seiso)
  • Standardize (Seiketsu)
  • Sustain (Shitsuke)

The main concern of the 5S approach is to organize your workplace. You can see it as tidying up a factory and keeping it tidy so the work can be done efficiently. This method is one of the many approaches that Lean practitioners use to solve inefficiencies. But this is often one of the first steps in a continuous improvement program. Waste naturally accumulates, generating more waste in a never-ending cycle.

Waste can manifest as excess inventory, extraneous processing steps, and defective products, among other instances. All these “waste” elements intertwine with each other to create more waste, eventually impacting the management of the corporation itself.

(source)

A good illustration have what a 5S action looks like in the manufacturing world. (source)

Your Digital Workspace

Of course, the manufacturing workplace is very different from your Office or home (for remote workers). I am not asking you to tidy up your desk, so you become more effective 👼.

The quote you read above should remind you of a problem we often face in the software industry:

Technical debt.

So yes, the goal of applying the 5S approach in a DevOps setup is to reduce the Technical debt, but more importantly, it leads to an environment that is more standardized and sustainable.

What are the elements you need to focus on? What I would like to call the digital workspace:

Git repositories, infrastructure, tools, documentation, scripts, CI/CD pipelines, artifact, credentials, secrets, etc.

Implementing the 5S approach

A 5S project often spans over a week (5 days — 5S) — a week where you completely stop what you are doing and focus solely on improving your digital workspace.

Stopping completely!

You may be shocked by the idea of stopping several teams for such a long period. But think about it. Do you genuinely believe you can fix anything on a car launched at full speed? Do you think you can fix years of technical debt while actively working on your daily projects? It seems unreasonable to me.

The five S approach is there to de get the most of your 5-day “break.” I would.” argue that these five days of cleaning would easily be compensated over the next year, thanks to a more productive working environment.

Let’s now focus on what you are going to do during the 5S project.

Sort (Seiri)

The sorting phase is an introspection

  • Identify what is necessary from what is not
  • Identify elements (such as scripts) that are really used
  • Identify elements that have been manually created
  • Identify drift between projects
  • Validate that information is up to date (readme, documentation, etc.)
  • Can someone external to your team get things running in no time?
  • Can you recreate all your infrastructure from scratch in no time?

Set in Order (Seiton)

  • Delete or archive everything that is not necessary anymore
  • Test procedure and scripts to see if they are valid
  • Introduce tools and methods used by other teams (encourage knowledge transfer)
  • Reorganize sources code and project so they are easier to understand

Shine (Seiso)

  • Update documentation
  • Share tooling between teams so everyone can benefit from them
  • Fix the scripts and procedures that were missing something
  • Create diagrams to explain how things should look like

Standardize (Seiketsu)

  • Create project standards (repository structure, project boilerplates, etc.)
  • Create documentation standards (Page templates, Readme template, etc.)
  • Make your digital workspace easy to understand for a new developer in the team
  • Find ways to identify and visualize drifts

Sustain (Shitsuke)

  • Develop habits to keep your digital workspace tidy
  • Develop habits to share innovation between teams (tools, scripts, process)
  • Develop habits to keep the documentation up-to-date and center around the same standards
  • Develop habits to test your script and procedure more often
  • Create onboarding process and documentation
  • Create an audit process to assess the situation regularly

Thought about applying 5S to the Software industry

As of today, I have never implemented a 5S project in the IT context. This article is more a thought experiment. The benefits of this approach are very appealing to me and have proven effective in the manufacturing world.

I believe more things need to be considered to make the approach truly successful.

  • How to organize such events?
  • What do you need to prepare before starting?
  • What materials/content do you need to create?
  • Should you really do a 5-day event? Or spread it over a more extended period? Are 5 days enough?
  • How to improve team collaboration using the 5S approach?
  • How to measure the success of the project?

But in the end, this type of workshop seems very promising. 😄

References


Only registered users can post comments. Please, login or signup.

Start blogging about your favorite technologies, reach more readers and earn rewards!

Join other developers and claim your FAUN account now!

Avatar

Alexandre Couëdelo

@acouedelo
Complex Systems Engineering and Management Specialist. I embrace the DevOps culture since I started my career.
User Popularity
69

Influence

6k

Total Hits

3

Posts