Skip to main content
Enterprise Agile Planning icon with arrows

This post is from the CollabNet VersionOne blog and has not been updated since the original publish date.

Last Updated Jul 25, 2013 — Enterprise Agile Planning expert

5S Applied to Agile Software Development

Enterprise Agile Planning

You didn’t stumble across a manufacturing blog don’t click the back button! Like Lean Software Development and Kanban, 5S was born in Japan as part of the just in time system (JIT). 5S was and still a widely used practice in the manufacturing world and supports Kanban from the continuous improvement perspective. David Anderson introduced an Agile practice for development from Kanban, let’s take a look at 5S to see how we can adapt that to our development practices. Let’s get lean!

First, let’s take a quick look at what 5S is as a concept. 5S is a method of organizing a workplace or a manufacturing plant.  Once 5S has been applied the area in which team members work is clean and organized. In a manufacturing plant a team member can move from station to station easily and can also identify what tools might be missing immediately. A couple examples are provided below:

5S DrawerBeforeNAfter

Wow, how neat and organized! What are these crazy 5Ss and what do they mean….

  1. Sort – Sort through an area to find and eliminate waste. Waste may be actual trash or an item in the area that is not needed to complete the tasks in that area. 
  2. Straighten – Once the area has been sorted it should be organized and setup to flow in such a way that work is completed with as little waste as possible.  Waste in the way of time, if moving an item could save one minute and you perform that movement a 100 times per day the area is more efficient.
  3. Shine – Make sure that the area is always neat and tidy.
  4. Standardize – Put standards in place to ensure the put forth effort is maintained.
  5. Sustain – Ensure adherence to the policies and standards put in place.

Now that we know what the 5Ss are how can we adapt those to our development.

  1. Sort – We can go through the code and remove legacy code that is no longer in use.  Teams even with a configuration management tool like Perforce will keep commented code around. Get rid of it, you can always review previous changes. 
  2. Straighten – Often times with software development there is a let’s just get it done we can go back and make it pretty later effect. Take time to separate the code and use the object oriented design approach you’ve heard so much about. If you’re embedded don’t have a 200k line main.c file!
  3. Shine – Allow time for refactoring, clean the code up when you have the opportunity. Don’t forget to run your tests again!
  4. Standardize – If your team doesn’t have a coding standard work to put one in place, don’t assume others will look at code for examples.
  5. Sustain – Once the standards are in place paired programming and code reviews can ensure proper technique and also help develop the programmer’s skill set.

Now that some ideas have been put in place take a look at your coding space and think of ways 5S could apply.


More from the Blog

View more
Jul 05, 2022

How to bring external data to Agility

Enterprise Agile Planning
Data integrations occur every day Data and system integrations tend ...
Read More Government Cloud
Apr 12, 2022 Government Cloud receives FedRAMP Authorization through sponsorship from the United States Department of Veterans Affairs

Enterprise Agile Planning
Flagship Agility solutions can effectively scale agile deve ...
Read More
Nov 22, 2021

What are the qualities of highly effective agile teams?

Enterprise Agile Planning
A team is the core unit of productivity in an agile organization. Wher ...
Read More
Nov 15, 2021

How an open-first attitude revolutionized government tech development

Enterprise Agile Planning
Public perception of government is often that it is slow-moving, reluc ...
Read More
Contact Us