agile > chapter 1 the agile approach > 15 the 5 s methodology

The 5 S's Methodology

This is designed to improve the productivity of employees as they no longer waste time in technical overhead tasks such as searching for tools, documents, etc. These items are organized in a manner which makes them easy to find and return. It is focused on minimizing losses.

The 5 S's are:

These principles not only apply to physical items but also software products. We make a conscious effort to reorganize our files, user interface elements and code in a way that makes it intuitive to find them e.g. you wouldn't put the button to play your game in the settings menu or place code for a webpage in a folder named database.

In software development, the work done in cleaning up the code base is referred to as technical debt.

The importance of teamwork

The 5 S's cannot be effectively implemented if the entire team participates in it. If one person refuses to clean their side of the office then the office remains cluttered in that area and the documents available there will be hard to find.

The same idea goes for a code base. The tactical tornadoes are the programmers that implement features at a very fast rate but do not put efforts into refactoring and maintaining the quality of the code. The result is that the rest of the team incurs technical debt in doing the refactoring for code they did not write (and thus take more time to understand before they can refactor it).

Group vs. function vs. team

Distinguishing among these is very important:

In a team, the goal is the most important thing. The 5 S's will not succeed if there is a group or a function.