Software Practice Expert System Using Dynamic Models

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The software development industry faces challenges in selecting and combining software development practices effectively, as existing methods lack a credible basis for assessing, learning, and improving practice choices, leading to inefficiencies and risks in project outcomes.

Innovation Solution

A data processing system integrating Dynamic Systems models and Control Systems Engineering designs to provide advice on software development practices, using contextual factors to determine appropriate practice choices and compute expected outcomes, thereby facilitating simulation and risk assessment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software development practices are selected and combined based on existing methods, then project implementation can proceed, but the credibility and reliability of practice selection is insufficient leading to poor project outcomes

Engineering Contradiction:
Improvereliability of practice selectionVSAvoidcomplexity of practice selection system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the software development practice selection into discrete, structured components: contextual factors (9 factors categorizing project characteristics), practices (145 distinct practices organized in a taxonomy), and outcomes (27 measurable project outcomes). This segmentation transforms the complex selection process into manageable, analyzable units that can be systematically evaluated and combined.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms through simulated project executions that generate outcome data, which is then used to refine and improve the practice selection model. The system learns from simulated results to enhance the credibility and accuracy of practice recommendations, creating a continuous improvement cycle that increases reliability over time.

Inventive Principle:
Principle #23Feedback

2Reliability

If comprehensive analysis and simulation of software development practices is performed, then project outcomes can be improved, but the time and computational resources required increase significantly

Engineering Contradiction:
Improvequality of project outcomesVSAvoidtime for practice selection and analysis
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-defining and organizing 145 software development practices into a structured taxonomy with established relationships and characteristics. Contextual factors and outcome metrics are pre-configured, allowing the system to rapidly evaluate practice selections without requiring extensive analysis during actual project planning, thus reducing time loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses simulated project executions that replicate real-world software development scenarios. These simulations copy the essential dynamics of actual projects in a controlled environment, allowing comprehensive analysis of practice outcomes without the full time and resource investment required for actual project implementation. The simulated results provide credible guidance for real project decisions.

Inventive Principle:
Principle #26Copying

3Productivity

If software development knowledge is made widely available through expert systems, then industry-wide improvement can be achieved, but the complexity of implementing and maintaining such systems increases

Engineering Contradiction:
Improveindustry-wide software development efficiencyVSAvoidcomplexity of expert system implementation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal practice selection system that can be applied across diverse software development contexts by incorporating 9 comprehensive contextual factors that capture various project dimensions. The system handles multiple project types, sizes, and domains through a single unified framework, enabling wide industry applicability without requiring separate specialized systems for each context.

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

Solution Approach 2:

The system incorporates automated simulation and evaluation capabilities that allow it to self-assess and refine its own performance. The simulated project executions automatically generate outcome data that feeds back into improving the practice selection model, reducing the need for external manual maintenance and updates while enhancing industry-wide productivity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8572552B2System and method for providing expert advice on software development practices
Publication Date: 2013.10.29 SDE SOFTWARE DEV EXPERTS
  • US8572552B2 patent drawing
  • US8572552B2 patent drawing
  • US8572552B2 patent drawing

AI summary

A software development practices expert system and method is described. The expert system utilizes control systems engineering designs, as well as dynamic systems models to inform and guide the selection, assembly, composition, publishing and presentation, enactment, assessment, learning and analysis, refactoring, improvement and simulation of software development practices into approaches or methods to software development. The expert system collects software endeavor result data to correlate efficacy of software development practice usage, and to recalibrate dynamic systems models and control systems engineering design parameters. Such designs and models configure and improve an inference-based rule engine to provide advice to users contained within a rule repository and knowledge base.