I thought that I would write this article to throw my opinion into the world of lean IT. As an IT person who has had many roles from developer to manager to architect, I have seen many approaches to software development. There is no right way (IMHO). However, the concepts of lean manufacturing and lean IT have led me to believe that whichever approach that a company takes can be improved through these processes.
I believe there are two major areas of focus that need to be addressed:
1. Business Processes in regards to software development
Focusing on taking the Cruft out of the business process will drastically improve software development. David Anderson has implemented this area quite well at Corbis. Kanban boards and practices can really show the business the current state of affairs. Critical to this is the collection of data and measuring it over and over. When I worked at Toyota, I was responsible for developing a paint defect tracking system that would readily identify the location on the vehicle of every paint defect. This information was used to tweak the robot arms to provide a more consistent error free approach. Data is that important. I am not an expert at building a Kanban environment, however, there are plenty of resources out there. Start with David.
2. Internal Software Development processes
I think this may be where Kanban can really be utilized. Every software development environment that I have worked in has base development processes that have matured over time to suite the needs of the company. However, I have never seen a focus on how to improve internal software development processes. There are usually major gaps in the internal processes, for instance:
- Code reviews may be strong, but deployment methodologies are not repeatable.
- Developers “develop their way”, not the company way, so maintainability becomes more complex
- Testing environments are setup, but no regression testing practice has been implemented
These examples are perfect for using lean IT ideas to come up with an improved internal software development process. I am curious to see if anyone else has thought or implement Lean IT procedures in the internal Software Development Process.