Manage Lean Software Development
Organizations have been exploring the application of Lean practices pioneered in the Toyota Production System to the development and maintenance of application software. However, some of the most powerful benefits of lean have yet to be fully realized in application development because the Agile community has focused more on the just-in-time aspects of Lean rather than on Jidoka (defect detection and elimination).
CAST Makes the Invisible Visible
CAST Application Intelligence Platform (AIP) focuses directly on Jidoka for eliminating the waste (muda) resulting from defects and rework. Jidoka can be implemented on an application portfolio through the practices of Lean Application Management. Lean Application Management focuses on applying Lean practices in three areas:
1. Lean Application Development
The largest opportunity for improving quality and productivity during application development is eliminating defects and the reworks they cause.
CAST addresses structural quality defects that are at the root of most devastating production problems such as outages, security breaches, data corruption and performance degradation. CAST AIP:
- Detects and remediates structural defects during development, the kinds that modern testing practices are not as effective in detecting
- Eliminates the causes of defects: violations of architectural and development best practices
- Trains developers for defect-free work using coding and architectural rules
2. Lean Application Maintenance
Applications often require reworks due to defects or badly constructed software (this is increasingly being referred to as Technical Debt). This wastes resources and the time maintenance staff spend trying to understand what is going on in poorly constructed applications.
CAST addresses the changeability of the code before a release, so the time spent understanding the application can be dramatically reduced when maintaining subsequent releases. CAST AIP:
- Designs applications for changeability with strong support for Lean Product Design
- Eliminates defects before release to minimize production issues and rework
- Improves application quality continually through code measurement and analysis
3. Lean Application Assets
As applications age, they become flooded with code that is no longer needed. This code wastes resources in terms of both memory utilization and unneeded processing. This problem is especially acute in a cloud environment where the application owner is being charged for both space and processing time.
At each build CAST indicates the amount of code added, changed, or deleted. CAST detects poor coding and architectural practices that can add dramatically to processing requirements and time. CAST AIP:
- Monitors the size of the application in terms of both function points and lines of code
- Tunes the performance of application code based on measures indicating that code growth exceeds allowable thresholds
- Identifies and removes unneeded code through corrective actions
Data-driven Guidance to Manage Lean Software Development
- Reduce structural quality problems that have high probability of causing production issues
- Eliminate waste (muda) in software development, such as the 30% to 50% development effort that is devoted to rework
- Remove ‘dead’ or unused code that burdens applications with additional processing overhead and consumes valuable technical resources
CAST AIP provides tangible value across the IT supply chain. Applying Lean Software principles to ADM can lead to a least 10% overall cost and risk reduction, mostly based on waste elimination and driving desired behavior among ADM teams. For example, CAST customers have experienced 5-figure reductions in monthly processing expenses when the performance characteristics have been properly diagnosed and retuned. We have a mature and proven ROI model, and have real world examples of hard dollar savings from major customers who have scientifically measured the benefits from defect prevention.