‘5S’ is the name of a workplace organization methodology used in Lean that takes its name from the five Japanese words seiri, seiton, seiso, seiketsu and shitsuke. A popular loose translation to English is: Sort, Set in Order, Shine, Standardize and Sustain. In a series of post I will discuss how 5S can be applied to software development. Lets start with S1 – Sort.
S1 – Sort
Sort, sorting, sort through and sort out are all examples on how S1 can be describes.
In this step you should eliminate all unnecessary tools, parts, instructions. In Lean manufacturing this means go through all tools, materials, etc., in the work area. Keep only essential items & eliminate what is not required. Everything else is stored or discarded.
By sorting through and sorting out you can focus on the things that are most important and you lower the distraction non essential things. S1 is the step where you start sorting and sorting out. S2 – Set in Order will handle the remaining items.
So how would this be applied to software development? Below are some examples.
Go thru your different backlogs on a regular bases. Keep only items that have high enough priority that they will be done before they are obsolete. Keeping requirements, bugs and similar things in your active backlog will add additional work to track and reprioritize over and over. Have an explicit policy how long an item can be in your active backlog. If it gets older, archive it or even better delete it. If it is important it will come back again.
Go thru your documentation on a regular basis. Documentation often gets out of date. Tag your documentation with an expiration date. When the document has expired you need to take action to update, archive or delete the documentation.
Go thru and clean up your code base on a regular basis. Use tools like NDepend to find and delete code that is no longer in use. Mark old and outdated code with and an expiration date. When the code has expired you need to take action to update or delete the code and its consumers.