Businesses rely on complex custom software to automate their core processes and to create a compelling offering for clients and customers—often weaving together solutions from multiple vendors. In a digital-first world, software is becoming a top priority for CEOs. Software plays such an integral role in operations—and underpins so many products and services—that missteps in software can have highly visible and dramatic effects. A company that fails to understand and manage the quality of its software jeopardizes its reputation—and its ability to win in the market.
To assist our clients in evaluating and making intelligent decisions about the software that runs their business, BCG uses a proven, three-pronged methodology:
- Conducting a deep, detailed assessment of architecture components
- Assessing the performance of applications teams and software
- Measuring against industry standards and best practices in engineering to diagnose structural flaws in a company's core systems
To complement our proven approaches in managing software environments and software delivery transformation, BCG has partnered with CAST, a pioneer in software intelligence. CAST's software intelligence platform automates the software analysis process to capture a digital image of the internal composition of software.
The Right Tools for the Job
Combining BCG's expertise with CAST's software intelligence brings our clients objective transparency into application development, maintenance, and sourcing. The result: disciplined and data-driven performance improvement in software quality and productivity that helps digital leaders communicate, make decisions, protect their business, continuously improve safety and soundness, and better understand the complexity of critical systems. CAST's tools automatically quantify standard measures of software quality:
- Risk—robustness, efficiency, security
- Maintainability—changeability, transferability
They also measure:
- Technical debt (in dollar values)
- The functional size of the overall application (using automated function point analysis)
- Performance and productivity
Measuring Software Performance to Deliver Measurable Improvements
Software intelligence proves most useful to our clients in several powerful ways:
- Modernizing core systems and consolidating systems after a PMI. Quantifying the robustness, efficiency, security, and maintainability of a platform makes it possible to prioritize the key systems to be modernized—and to identify the best approach for doing so. By periodically measuring an application's size (function point count) and structural quality, we can help companies measure the progress of modernization projects—and ensure that the resulting system is robust.
- Delivering high-performance software and agile transformation. Measuring quality and productivity provides an objective basis for tracking team performance over time. It also enables us to compare the effectiveness of different teams and methodologies, such as the differences between agile teams and teams working under a standard waterfall model.
- Simplifying IT. Attaining accurate measurements of the risk, complexity, and technical debt of an existing application landscape makes it possible for BCG to focus with precision on eliminating software complexity that adds no value. It also allows for a comparison of the structural quality (robustness, risk, etc.) of different vendor applications and improves the accuracy of IT resource planning.
- Reducing mainframe consumption. By automatically scanning source code for leading indicators of poor code optimization, we can employ a pattern-driven approach for long-tail optimization and establish a baseline of performance for measurability.
Measuring Software Performance
BCG partners with CAST, a leading provider of software intelligence technology.