Our world is very different than that which existed at the end of the industrial revolution. Workers in the industrial revolution had tasks to do, they were just one more cog in a larger machine. The command and control approach to management was prevalent. The “company” made decisions about how best to manufacture and workers executed their piece of the process. Little thought was required or expected from the worker.
A funny thing happened, companies realized the worker is in the best position to understand how to do their job and how best to improve their abilities. I’ve recently been studying the principles of the lean manufacturing approach as seen in the Toyota Production System. The lean approach encourages the worker to continually look for ways to improve the process. Toyota recognized that their workers had far more to contribute to the bottom line than just muscle power. Their workers are not only experts in their particular job but also experts in eliminating the waste that may be present in their work. These principles have resulted in dramatic improvements in productivity as compared to the struggling US auto industry.
Software development has historically been driven by practices that might be “from the book”. Whatever that book might be – waterfall, agile, RUP, etc. As with manufacturing, the processes around software development are well known but it is the practitioner that is in the best position to determine how to apply and use those processes. Software development is full of fluid and dynamic activities and there is no “one size fits all”. So, who is in the best position to decide how to apply the best practices of a software development process….. I’m sure you guessed right. The People.
There is a body of work on lean approaches for software development. The most notable proponents of lean principles for software development are Mary and Tom Poppendieck as they have written about in Lean Software Development. As with the Toyota Production System, the principles of lean software development encourage team members to continually look for ways to improve processes and eliminate waste.
There is a term used within the context of the Toyota Production System called Kaizen (continuous improvement). It is a concept that places power with the people. It promotes a spirit of eliminating waste, continuously making incremental improvements, having the worker improve their own processes while staying focused on the larger goals of the organization.
Let’s encourage our team members to drive change, to continually look for improvements, and provide support for accomplishing those changes. Power to the people.