Affinity Recommendation for Software Lifecycle Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In complex software systems, developers and testers face challenges in determining which activities of the software development process are affected by changes, often requiring guidance from experienced developers due to the system's large and complex nature, which can lead to delays in familiarization and potential errors.

Innovation Solution

A method and system for software lifecycle management that searches historical development data to identify affinities between current and prior development tasks, providing recommendations based on these affinities to aid developers in understanding potential issues related to similar changes made in the past.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If developers rely on advice from experienced developers to understand complex software systems, then the accuracy of identifying affected activities improves, but the time required for familiarization and decision-making increases

Engineering Contradiction:
Improveaccuracy of identifying affected activitiesVSAvoidtime for familiarization and decision-making
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system creates a digital copy of domain expert knowledge by storing historical development data, tasks, and relationships in a database. This copy can be queried and analyzed without requiring direct access to the actual experts, enabling automated recommendation generation that preserves accuracy while eliminating time delays associated with human consultation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system introduces an intermediary component (the recommendation system with affinity analysis) that mediates between the developer and the complex software system. This intermediary automatically analyzes historical data and provides guidance, replacing the need for direct human expert intervention and reducing both time and dependency on external advisors.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If developers manually analyze historical development data to find relevant prior tasks, then the precision of recommendations improves, but the productivity of the development process decreases

Engineering Contradiction:
Improveprecision of matching current and prior tasksVSAvoiddevelopment process efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system replaces the manual mechanical process of analyzing historical data with an automated computational system. The affinity analysis algorithm automatically compares current tasks against historical data using processors and databases, eliminating manual effort while maintaining or improving matching precision through systematic computational methods.

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

Solution Approach 2:

The system enables self-service by providing automated recommendations that developers can access independently without requiring manual analysis or external assistance. The affinity analysis system automatically queries historical data, performs comparisons, and generates recommendations, allowing developers to obtain precise guidance efficiently on their own.

Inventive Principle:
Principle #25Self-service

3Reliability

If the software system maintains detailed historical development data for all prior tasks, then the quality of recommendations improves, but the complexity of data management increases

Engineering Contradiction:
Improvequality of recommendationsVSAvoidcomplexity of data management system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system extracts only the essential and relevant features from historical development data that are necessary for generating recommendations. By selecting and storing only the critical attributes and relationships needed for affinity analysis, the system maintains recommendation quality while reducing the overall complexity of data management compared to maintaining complete detailed histories of all development activities.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11327742B2Affinity recommendation in software lifecycle management
Publication Date: 2022.05.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11327742B2 patent drawing
  • US11327742B2 patent drawing
  • US11327742B2 patent drawing

AI summary

Software lifecycle management includes, searching, using a processor, historical development data including prior development tasks for a software system. The searching is performed according to a current development task for the software system. A determination is made as to whether the current development task has an affinity with a selected prior development task implemented within the software system. A recommendation is provided for the current development task based upon the selected prior development task.