Other parts of this series
- Introduction to the “5S” philosophy
- The first ‘S’ – sort or organize
- The second ‘S’ – straighten or orderliness
- The third ‘S’ – shine or cleanliness
- this article
Even though the Wikipedia-Entry refers to this practice as “Standardize!” I prefer – once again – Hirano‘s definition of this technique as “Standardized Cleanup” which makes it somewhat clearer, what the subject of the standardization is.
Wikipedia suggests things like the following for the workplace on the shop floor:
- Maintain high standards of housekeeping and workplace organization at all times
- Maintain cleanliness and orderliness
- Maintain everything in order and according to its standard.
Now, from my point of view, standardized cleanup blends in perfectly with the XP-practice of ubiquitous automation and the current state of software development tools, where it is quite easily possible to actually define standards in such a way, that the compliance with those standards can be enforced or even maintained automatically.
On a coding level there are numerous things to be standardized
- coding conventions
- checkin comments
- build procedures
- key-bindings (especially if you're doing pair-programming with changing pairs)
- Concepts to adhere to (e.g. SOLID and things like that)
- Line-Endings ... (even though that may seem trivial)
And a lot of those standards could be validated by means of the development tools and the source-code management tool (e.g. git-hooks or the hook-mechanisms available in other source code management systems.
But there is also a lot of things you could standardize on other levels...
- User Story formats
- Requirements descriptions
- The quality of acceptance criteria
What else would you standardize?
Till next time