DevOps Philosophy, part I: the 5S

Technology companies, as all companies, depend on discipline and organisation of human beings to be able to work effectively. Our daily lives are a constant battle against entropy.

I used to live and work in Vietnam. One of the beautiful things about this country is the ease of doing things. Even though the government is controlling, there is actually very little oversight from the state, so the sense of personal freedom is very high, comparable to other countries. Of course this has a dark side (corruption, carelessness, accidents), when not taken with a severe dose of self and communal responsibility.

This sense of freedom makes Vietnam and Vietnamese people very adaptable, agile, finding solutions in non-obvious places.

We all have constrains in our lives though, from culture, tradition, personal traumas and experiences, shaping and molding our actions, sometimes in very invisible ways. Some of these locks on our behaviour are good, making us be more ethical, like the respect for elders and the worship of our ancestors. Others prevent us from enjoying our lives and cause us harm, usually imposed by a self preserving hierarchy, like the patriarchy and the oligarchy.

So constrains are not necessarily bad, just like personal freedom is not necessarily bad. We need to find a balance.

The best situation is when we are aware of these forces shaping our lives and can impose restrictions that are going to make us happier, healthier, better people altogether. That’s when you set up a schedule to go to the gym every week, or you clean up your apartment every other day, or wash the dishes as soon as you finish a meal.

… that’s nice Marco, but what does have to do with DevOps?

Good question!

When we are growing fast there is a tendency to let go of the brakes and allow the machinery of the company to expand where it needs to. This is good as it increases our chances to hit on new ideas, but it starts to accumulate dirt, generate mess, and soon we find ourselves spending a lot of time sorting through old unused tools that we don’t even remember why we created in order to find the right thing to use. Sometimes we can’t even find what we are looking for, so we end up developing our own, often repeated work. That’s waste, and it starts to slow us down.

What we need is to self-impose constrains on our freedom. Self discipline, guided by the knowledge and understanding that it will be good for us in the long run.

The 5 S

This is a self-discipline methodology from Toyota (lean manufacturing), which is easily adaptable to the technology field, with a little creativity. The 5 S practices are:

  • 整理 — Seri (Sort)
  • 整頓 — Seiton (Set in order)
  • 清掃 — Seisō (Sweep / Shine)
  • 清潔 — Seiketsu (Standardize)
  • 躾 — Shitsuke (Sustain / Self-discipline)

I am going to plagiarise the Wikipedia entry now and give examples of how it applies to what we are trying to do in DevOps for Cinnamon.

整理 — Seri — Sort

Seiri is sorting through all items in a location and removing all unnecessary items from the location.

Goals:

  • Reduce time loss looking for an item by reducing the number of items.
  • Reduce the chance of distraction by unnecessary items.
  • Simplify inspection.
  • Increase the amount of available, useful space.
  • Increase safety by eliminating obstacles.

This means deleting old and unused GitHub repositories, tidying up the teams and repository memberships, organising our code in libraries and tidying up the code base.

整頓 — Seiton (Set in order)

Seiton is putting all necessary items in the optimal place for fulfilling their function in the workplace.

Goal:

  • Make the workflow smooth and easy.

This means doing task management on GitHub so that people know what item of work needs to be done next, having the documentation close to the code, in a single location, making our libraries available via package management.

清掃 — Seisō (Sweep / Shine)

Seiso is sweeping or cleaning and inspecting the workplace, tools and machinery on a regular basis.

Goals:

  • Prevent deterioration.
  • Keep the workplace safe and easy to work in.
  • Keep the workplace clean and pleasing to work in.
  • When in place, anyone not familiar to the environment must be able to detect any problems within 50 feet in 5 sec.

This means code reviews and adhering to coding standards. Making sure we keep good comments and work against well defined APIs, and that we do proper release management. More importantly, create tests that prevent us from breaking code (that’s how I interpret safety).

清潔 — Seiketsu (Standardize)

Seiketsu is to standardize the processes used to sort, order and clean the workplace.

Goal:

  • Establish procedures and schedules to ensure the repetition of the first three ‘S’ practices.

It’s not just a matter of tidying up once, this needs to become a practice, a habit. So here we create structures that will allow people to maintain a good working environment, like checklists for code reviews, naming conventions for repositories, correct usage of labels for tasks, healthy and short lived branches, frequent pull requests.

躾 — Shitsuke (Sustain / Self-discipline)

Shitsuke or sustain the developed processes by self-discipline of the workers. Also translates as “do without being told”.

Goal:

  • Ensure that the 5S approach is followed.

This is the most important and the most difficult to get right. Many “initiatives” die out after a few months, because they fail to sustain. We need to spread the knowledge, and create habits, and constantly monitor ourselves so that we don’t fall back into a disorganised state. This is the core of continuous improvement, and is something I will be talking about in a future post.

--

--

--

Interested in mathematics, philosophy, and language. Head of engineering for BridgeU

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Grape DAO Town Hall: 17th Oct, 2021

Polkadot: A Syncing Node in under 30s

Web Scraping news articles in Python

Weekly Digest 08/2021

Pythiad #9: Pyth On the March

Weekly Digest 34/2021

How Much Do You Have to Pay When Farming on WardenSwap [REVIEW]

Constraints Do Matter!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Marco Zanchi

Marco Zanchi

Interested in mathematics, philosophy, and language. Head of engineering for BridgeU

More from Medium

Containers: How they can benefit your dev practice!

Containers: How they can benefit your dev practice!

DevOps Life Cycle

What Is DevOps? All Questions Answered

DevOps World: About Speed and Agility