Developer Organization Evaluation via Code Change History Metrics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing approaches to evaluating the efficiency of software development organizations are inefficient, particularly in large and geographically distributed teams, leading to sub-optimal division of developers into groups, increased development costs, and higher hardware utilization.

Innovation Solution

A method that evaluates organizational partitions by parsing change history registers to determine intra-group and inter-group collaboration metrics, generating a partition evaluation signal to optimize developer grouping and reduce hardware utilization, and using this signal to control hardware resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual observation and dynamic adaptation of organization is used, then organizational efficiency can be improved, but it requires dedicated persons and decreases overall efficiency

Engineering Contradiction:
Improveorganizational efficiencyVSAvoiddevelopment efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system enables self-service by automatically extracting and analyzing code change data to evaluate organizational efficiency. The evaluation system processes change history registers and code alterations autonomously, eliminating the need for dedicated manual observers while maintaining continuous monitoring of organizational performance metrics.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical observation with automated electronic processing. The system uses computers to parse change history registers, analyze code alterations, and generate organizational efficiency evaluations, substituting human manual analysis with automated computational processes that scale efficiently.

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

2Reliability

If manual observation is used to evaluate organization, then organizational efficiency can be assessed, but the assessment is not spotted early and only reaches critical level later

Engineering Contradiction:
Improveorganizational efficiency assessmentVSAvoidtime to detect inefficiency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary action by continuously monitoring and analyzing code change data in real-time. It proactively extracts information from change history registers and evaluates organizational metrics before inefficiencies reach critical levels, enabling early detection and intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The evaluation system operates continuously, maintaining constant monitoring of organizational efficiency through automated processing of code changes. This continuous action ensures that inefficiencies are detected immediately as they occur, rather than periodically or reactively after problems manifest.

Inventive Principle:
Principle #20Continuity of useful action

3Loss of information

If social network analysis is applied to software projects, then some information about organization is obtained, but it only gives limited information regarding efficiency

Engineering Contradiction:
Improveorganizational informationVSAvoidefficiency measurement accuracy
Core Design Contradiction:
Loss of informationVSMeasurement precision

Solution Approach 1:

The system changes the measurement parameters by analyzing actual code change data, commit frequencies, and alteration patterns rather than relying on static social network structures. This parameter transformation enables precise measurement of operational efficiency by capturing dynamic behavior in code evolution and collaboration patterns.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent uses copying by analyzing replicated code change history data across multiple projects and organizations. The system extracts patterns from change history registers and applies them to evaluate organizational efficiency, using data replication and pattern recognition to achieve accurate measurements.

Inventive Principle:
Principle #26Copying

4Productivity

If geographically distributed developers are organized into multiple groups, then development capacity is increased, but communication and coordination issues drive development cost up

Engineering Contradiction:
Improvedevelopment capacityVSAvoiddevelopment cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system implements feedback by continuously monitoring communication and coordination patterns between geographically distributed developers. It analyzes code change data to identify collaboration efficiency metrics and provides feedback on organizational structure effectiveness, enabling optimization of distributed team configurations to reduce coordination costs.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11281458B2Evaluation of developer organizations
Publication Date: 2022.03.22 CODESCENE AB
  • US11281458B2 patent drawing
  • US11281458B2 patent drawing

AI summary

A method is disclosed of evaluating an organizational partition of developers into groups, wherein the evaluation is in relation to alterations of a software code. The software code is associated with a change history register indicative of previous alterations of the parts of the software code, each previous alteration being associated with a developer identity. The method includes parsing the change history register to acquire an association metric indicative of a number of associations between a developer identity and one of the previous alterations. The method also includes determining intra-group collaboration metrics and inter-group collaboration metrics for each group based on the association metrics. The intra-group collaboration metric is indicative of a sum over one or more parts of the software code.