Data Cubes
Tommy + the technology of Data Cubes
Home Capabilities Technologies Data Cubes
Data Cubes Examples

Progressive Insurance
Auto Insurer2008 - 2011
Having shown in Quoting (F3) and REF 2.0 (UI Framework) that tests and low complexity policies led to fewer bugs and higher velocity by doing some a/b studies, the business invested in tooling to automatically measure and enforce policies across the Direct Quoting line of business software development teams.
These teams used a variety of software stacks and technologies, including proprietary build and release systems.
I consulted with the build and release team, at the time, a separate team, to understand their plugin architecture which already was in use for all said teams.
Next, I worked with each team to understand their level of code coverage across different types of tests (unit, integration, end to end), and agree with them what targets they wanted to meet, and at what point in time.
Some teams required me to implement coverage measurement tools. Keep in mind that we were not able to use open source tech, and actionscript had no unit testing or code coverage tools.
I worked with a mentor of mine to write a lexer-parser-generator, which took the grammar for the actionscript language and allowed us to instrument our codebase with a pre-build step that inserted beacon calls with metadata into the various methods of the application. The coverage monitor and unit test UI was written in C#.
I exposed the coverage reporting service using web services running on SOAP via MS ASP.net WCF communications stack. Initially an MS SQL database housed the data, but as it grew, we moved it to a data cube where various dimensional summary and BI queries could be more efficiently run without interfering with the transactional nature of concurrent builds reporting their metrics in across the business.
Built upon existing code analysis and instrumentation tools to create a cross-platform solution for the build-time analysis of unit and system test code coverage, cyclomatic complexity, code coupling, defect density, change volume, maintainability, and other quality metrics. Data from many different proprietary formats is transformed into a single canonical format, where it is in turn normalized into a relational structure to facilitate on demand querying for system-level quality benchmarking, real-time code quality reporting, providing objective insight into QA risk assessments / test strategies, and enforcement of architectural standards and constraints.
Key Results
- Implemented automated quality gates across 12 development teams reducing production bugs significantly
- Built custom code coverage tools for ActionScript achieving 85%+ test coverage
- Created unified metrics dashboard tracking 8 key code quality indicators in real-time