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