Lean principles, in the manufacturing context, revolve around the flow of activities that produce value for a customer, i.e. a value stream. The essence of the value stream lies in the identification and elimination of all categories of wastes inherent in the stream.
Although waste is difficult to visualize in the virtual world of software, most IT professionals would be familiar with the following:
- Transportation Waste: Data replication to a data warehouse instead of direct access from the system of record creates waste. To avoid replication, we could use Wikis to edit and review documents and eliminate multiple copies of the same document over e-mail.
- Inventory Waste: Change request backlog is an inventory of user requests that causes waste every time the list is reviewed and re-prioritized. Similarly, a code that is in production but not in use is wasted inventory.
- Motion Waste: Unnecessary meetings or rekeying requirements from one tool (like Excel) into another tool (like PowerCenter)
- Time Lags: The waiting period for architecture council approvals, production change request approvals, etc.
- Over production: The process of building more functions into a program than what was originally requested, sometimes also referred to as “gold plating”
- Over processing: Rework due to testing defects or design changes once data quality issues have been detected
- Defects: Defects in requirements, design, coding, etc. that can delay a project by weeks or months are a significant source of waste
Applying a Value Steam Map in a Software Development Scenario
A value stream map (VSM) is a powerful lean tool that helps eliminate and continually improve processes. It has been effectively used in manufacturing organizations and finds application in software development.
How do we attach monetary value to the application of VSM in a software development scenario?
We can better articulate the benefits of VSM by analyzing the as-is state of the SDLC. While it is proven that VSM touches many aspects of the SDLC, reducing defects (both data and code-related) will help in reducing waste. Achieving an absolute defect-free environment may not be a possibility; however, defects can be reduced significantly with the use of VSM in the SDLC.
During a study to demonstrate the above, for the purpose of simplicity, the analysis was restricted to the elimination of waste; it specifically focused on defect generation.
In a traditional SDLC environment, the percentage of defects generated is high when the application is ready to move into maintenance phase in production. In a complex ADM environment where multiple technologies, platforms and resources are involved, defect corrections in the maintenance phase will only lead to further increase in effort and lead time.
How does the scenario change when a VSM tool is used in the SDLC?
To understand this, both small and large software development projects were analyzed. The defect generation pattern at different points in the SDLC was identified and the output of this exercise was captured and analyzed.
When we apply a VSM tool for a set of software projects of varying complexities, the defect generation contours change notably. Now, with the application of the VSM tool, majority of the defects are successfully identified in the initial stage viz. the requirement analysis stage. As a result, the cost per defect correction is dramatically contained.
It has also been found that when applying Lean principles to system and data integration, Lean Integration teams frequently realize large improvements in labor productivity and significant reduction in lead time through VSM and continuous efforts to eliminate non-value-added activities.
The Benefits of a Value Stream Map in a Software Development Scenario
A quick glance through an indicative list of recommendations touches upon multiple aspects of SDLC, including these key elements:
- Goal Setting
- Involvement of tester early on in the SDLC
- Understanding of requirements using standard templates
- Comprehensive test cases
- Technical resource pooling
- Collaboration among departments and with vendors
- Structured Execution Cycle (SIT, UAT and Production)
- Structured analysis and retest
- Frequent cross department review meetings
- Hansei (self introspection and sharing) event after each project: To increase and facilitate knowledge management within the company
- Revised check list at various stages to reduce wait times and waste
IT organizations that are currently embracing VSM in various application development scenarios will potentially position the usage of VSM as a strong differentiator in winning large deals in complex ADM environments, where multiple technologies, platforms and resources are involved.