Applying lean thinking to software development
Lean thinking is prevalent from a very long duration of time. The foundation was laid down in the starting of the 20th century. The lean system was originally initiated by Toyota in the mid 70s and was earlier known as the Toyota Production system. Lean is mostly used with statistical control techniques of six-sigma and has been known as a standard in the manufacturing sector. But it is mainly in the recent few years that lean is being accepted in the service industry like banking, hospitals and software factories.
So, what exactly is lean thinking?
Lean’s major context is about minimizing waste, meaning whatever in your production cycle is not adding value to the client is taken as waste and should therefore be moved away from the process. Now certain waste is required for your business to be in the running condition, like some approved cycles, certain quality assurance validations etc. But majority of the waste is a real waste of time and effort, so must be removed fully. Ideally, you would be left with a complete waste free production procedure, but nothing is perfect and that’s going to be pretty impossible.
Use the Scrum board
The question comes how do you use these lean principles in an IT scenario? Well, many of the IT people out there are using lean in their daily lives. The broadly accepted Scrum board is mainly a Kanban, a tool which Scrum has taken from Lean.
Set up a pull system
A pull system is another tool which IT has borrowed from Lean and is proved to be very effective. Basically, a pull system is a system where you start the next work/task only when the previous task is completed. This is for to reducing the amount of work in progress (WIP). By reducing the amount of tasks at hand, your team will be benefitted to pay attention to specific tasks and prevent running around from one task to next without adding value and hence adding to the amount of waste.
Reduce the set-up time
The next tool is the set-up time which the IT development teams spend time on and not gain anything. The best method to describe set up time in an IT development scenario is to define the actions a developer needs to take while (re) commencing work on a specific task. First he needs to divert his mind from the previous work in hand , then he mostly needs to begin logging his time in some type of time tracking machine, he is required to read up on the new work, might need to pull the code from the server, locate the proper file and then start working on it. That is loads of work to set up for the task, which takes time which we roughly call setup time.
Reducing setup time is one of the most effective ways you can follow while applying lean thinking in an IT development scenario.
Lean helps you to get the job done!
The above techniques like set up time reduction, pull system etc. support your team to get the job done and not get distracted by the things which are not important. That means the Process Lead Time (PLT) will decrease as well. Process lead time is the time a task takes to get through the complete procedure, from initial request to production.
According to Little’s Law, your process throughput is equal to the division of the amount of work in progress by the PLT. This means if process lead time decreases by reducing the waste, your process throughput increases.