Cost of Development Index for Software Quality Assessment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software development assessment techniques, such as CMMI, provide limited insight into the quality and efficiency of software development efforts, particularly at the individual or group level, and are often based on coarse-grained process metrics rather than direct product quality measurements, leading to suboptimal cost and quality balances.

Innovation Solution

The Cost of Development Index (CDI) metric is introduced, which automatically collects data on code development volume, cost, and quality, allowing for frequent assessments of individual or group performance by calculating a cost per unit of processed code and scaling it based on quality measurements, including test coverage, to provide a comprehensive and detailed evaluation of software development effectiveness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If process metrics are used as proxies for product quality (e.g., CMMI), then high-level project efficiency can be managed, but detailed insight into individual or group performance is lost

Engineering Contradiction:
Improveassessment detail levelVSAvoiddata collection system
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces automated data collection mechanisms as intermediaries that gather detailed development data from multiple sources (version control systems, issue trackers, code repositories) without requiring direct manual input from developers. This intermediary layer enables precise individual-level measurement while keeping the assessment system manageable through automation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces manual assessment processes with automated computational systems that calculate development indices based on collected data. This substitution of mechanical/manual operations with automated algorithms enables detailed precision measurement without proportionally increasing system complexity, as the automation handles the computational burden.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Speed

If monthly analysis intervals are used for software development assessment, then resource management is simplified, but timely response to quality issues is delayed

Engineering Contradiction:
Improveassessment frequencyVSAvoidresponse time to quality issues
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent implements periodic automated assessment cycles that can operate at flexible intervals (weekly, daily, or even continuously triggered by code commits). This periodic action enables timely detection of quality issues while maintaining manageable resource consumption through automated execution rather than continuous manual monitoring.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent establishes feedback loops where automated assessments provide timely quality metrics back to development teams, enabling rapid response to emerging issues. The system generates actionable insights that feed back into the development process, allowing teams to address quality concerns promptly rather than waiting for monthly reviews.

Inventive Principle:
Principle #23Feedback

3Reliability

If process metrics are used instead of direct product quality measurements, then resource management is easier, but accurate assessment of actual software quality is compromised

Engineering Contradiction:
Improvequality assessment accuracyVSAvoidmeasurement system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts direct product quality measurements from the development process by analyzing actual code attributes (test coverage, code complexity, defect density) rather than relying on process proxies. This extraction of direct quality indicators from the software product itself enables accurate quality assessment while using automated analysis tools to manage the measurement complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a multi-functional automated measurement system that simultaneously collects data for multiple quality dimensions (functional quality, code quality, process quality) through a single integrated platform. This universal system handles diverse measurement needs without requiring separate complex systems for each quality aspect, managing complexity through consolidation.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Measurement precision

If comprehensive data collection on code volume and quality is implemented, then detailed performance assessment is enabled, but data processing overhead increases

Engineering Contradiction:
Improveperformance metric detailVSAvoiddata processing resources
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent performs preliminary data collection and processing during the natural development workflow, gathering metrics automatically as code is written, committed, and tested. This preliminary action captures data at the source before additional processing is needed, enabling detailed performance assessment while minimizing redundant data processing overhead through efficient automated collection.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8776007B2Assessment of software code development
Publication Date: 2014.07.08 ACCENTURE GLOBAL SERVICES LTD
  • US8776007B2 patent drawing
  • US8776007B2 patent drawing
  • US8776007B2 patent drawing

AI summary

A cost per unit of processed code metric is determined based on a quantity of processed code during a given time period that is attributable to one or more developers, and a cost to develop the quantity of processed code during the time period attributable to the one or more developers. Also, a quality scaling factor is calculated based on quality measurements for the quantity of processed code. Thereafter, the cost per unit of processed code metric is scaled (or discounted) by the quality scaling factor to provide a cost of development index (CDI). Because the inputs to the quality scaling factor may be determined in an automated fashion, this CDI determination permits more rapid response to any adverse assessments. Furthermore, because direct measurement of code quality is employed, more meaningful insight is provided into the likelihood that end product, i.e., the software code, is of good quality.