In Kaizen, this is the act of removing things that are not used from the workspace; bringing things close that are frequently used. Essentially, the objective is to trim time wasted finding, calibrating and utilising resources.
In software, our software building and debugging resources are:
- The source code
- 3rd party libraries
- Code management tools
- The compiler and linker
- The debugger
- Other development resources used to build and deploy the working software on the target machine such that it can be run, debugged, profiled or built for test or release etc.
- Test data sets and data streaming services
We must also remember that we have physical resources needs too:
- PC, monitor, input devices, other output devices
- Test hardware
- Reference books (how many times do you need to pick up Effective STL or The Standard?)
- Programming buddy (if pairing)
- Access to the product team, stakeholders and (ideally) users
- Access to the test team
And finally, we have resources that aid in the design and development process (both physical and IT):
- Meeting rooms
- White boards, flip-charts, markers etc.
- Software resources for co-ordinating the design effort (Sharepoint, wiki, standard office software etc.)
- Project management tools (e.g. tracking software, time sheets etc.)
So, there are probably three categories in which we should apply Seiri:
- Physically tidy up individual and shared workspaces: Get rid of stuff that’s in your way and make sure you have access to all of the physical resources you need, including the essential reference texts, whiteboards, markers, flip-charts, allocated test equipment or permanent Ethernet connection to it; move un-necessary and infrequently used resources away.
- Tidy up individual “software workspaces”: clear off your desktop; make sure everything is installed and configured that you need; uninstall unused software; organise your PC and the data on it; create batch scripts to automate repeatable activities; create immediately accessible links to wiki pages and shared resources; organise personal test data.
- Create an efficient “shared software workspace”: make getting, configuring and building the source code quick and easy; organise the source code and remove unused code; cut down dependencies to reduce solution sizes; provide easy access to shared design and documentation resources; trim down the design and documentation requirements to an acceptable minimum without duplication; throw out obsolete specifications; automate testing; automate documentation; pool test data, provide connections to test equipment; provide services to stream test data.
Next up tomorrow is Seiton (or to Straighten)...