In this episode Federico and Matthew talk about how to apply a concept from lean manufacturing to rethink the processes of software development. Taking the real example of a “Regression Run” they discuss how to dissect the process to identify waste that the team can then drive to eliminate.
The process of a regression run and the waste associated with it
For our team, a regression run is the automated execution of tests that where written for features released in previous releases.
For every process, the question to answer is “what does the customer wants for this process”?
If we think of a regression run as a process, we can define that what the customer wants from it is to be able to install a new version of the product and have his/her applications continue to work as before.
The goal of a regression run is then to find breaking changes for the customer.
Waste is any activity that does not add value to the outcome of the process. In the context of a regression run it could be any activity that did not identify a breaking change for the customer.
Types of waste
Waiting. Time spent waiting for results, for a tool or for fixes.
Unnecessary analysis. Analyzing a failed test that was not caused by a breaking change.
Over analysis. Analyzing a test that ensures higher quality than necessary.
Time of analysis. Time spent between receiving a result and identifying the breaking change.
Unused creativity. Creativity of the people that could be used to improve the process.
Instead of thinking about identifying and enhancing the value-add activities, you could work on identifying and eliminating the non-value-add activities.
Disclaimer: The opinions expressed herein are the personal opinions
of Matthew, Federico, and their guests and do not represent their employer's view
in any way.