Software Project Performance Prediction via Function Point Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software project performance prediction methods rely on reactive approaches, focusing on measuring and adjusting after results are tabulated, lacking a standard mechanism for predicting future performance, and thus are not proactive.

Innovation Solution

A method using function point analysis to determine performance estimates, comparing them with actual data, and refining the software project design based on new estimates, incorporating iterative approaches and Technical Performance Measurements (TPMs) to model end estimates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If reactive measurement and adjustment methods are used, then implementation simplicity is maintained, but predictive capability and proactive performance management deteriorate

Engineering Contradiction:
Improveimplementation simplicityVSAvoidpredictive capability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary performance estimation using function point analysis before the software project is fully implemented. By calculating performance metrics based on design counts and function points during the planning phase, the system enables proactive performance management and early identification of potential issues, resolving the contradiction between implementation simplicity and predictive capability.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If traditional function point counting is used, then project scope measurement is achieved, but performance prediction accuracy deteriorates due to lack of iterative refinement

Engineering Contradiction:
Improveproject scope measurementVSAvoidperformance prediction accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The system implements an iterative feedback mechanism where actual performance data collected during software execution is compared against initial performance estimates. The discrepancies are used to refine and update the performance model, improving prediction accuracy for remaining project phases. This feedback loop transforms static function point counting into a dynamic, self-improving performance prediction system.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The performance prediction system transitions from a static, one-time estimation to a dynamic, evolving model. As the software project progresses and actual performance data becomes available, the system continuously updates its predictions and refines its understanding of performance characteristics, enabling increasingly accurate forecasts throughout the project lifecycle.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If detailed performance monitoring is implemented, then performance prediction accuracy is improved, but system complexity and data processing requirements increase

Engineering Contradiction:
Improveperformance prediction accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system introduces function point analysis as an intermediary layer between raw performance data and prediction outcomes. By aggregating and processing performance metrics through the function point framework, the system simplifies the complexity of detailed monitoring while maintaining prediction accuracy. The function points serve as a manageable abstraction that reduces data processing requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8904338B2Predicting performance of a software project
Publication Date: 2014.12.02 RAYTHEON CO
  • US8904338B2 patent drawing
  • US8904338B2 patent drawing
  • US8904338B2 patent drawing

AI summary

In one aspect, a method to predict performance of a software project includes determining, using a computer, performance estimates associated with at least one design count, the design count comprising at least one function point count, collecting actual performance data, comparing the performance estimates with the actual performance data, determining, using the computer, new performance estimates for a remainder of the software project in response to the actual performance data collected and refining a design of the software project based on the new performance estimates.