SYSTEM AND METHOD FOR APPLICATION FUNCTION CONSOLIDATION
First Claim
1. A method of facilitating software function consolidation, comprising:
- loading, with an electronic processor, customer usage data, wherein the customer usage data indicates use of a plurality of software functions and includes data from a plurality of customers, wherein the plurality of software functions include functions with an associated switch (“
enhancement function”
) to toggle an associated function between on and off states, and further includes one or more always-on functions (“
core function”
);
storing, with the electronic processor, a criticality level for each enhancement function according to a plurality of user defined parameters related to the individual function'"'"'s relationship with other functions;
calculating, with the electronic processor, a complexity level for each enhancement function based on a number of dependencies each enhancement function has and a number of development objects associated with the enhancement function;
for each enhancement function where the complexity level meets a complexity threshold;
converting each particular enhancement function into a core function if the particular enhancement function'"'"'s criticality level meets a user-defined criticality threshold and if the particular enhancement function'"'"'s usage meets a user-defined usage threshold;
merging a plurality of enhancement functions into a single enhancement function when each function of the plurality of enhancement functions has a usage correlation with each other function of the plurality of enhancement functions, above a correlation threshold;
prioritizing, with the electronic processor, a plurality of remaining enhancement functions, according to a complexity metric calculated by the electronic processor based on user supplied parameters and the complexity level; and
outputting a list of prioritized enhancement functions to the user.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods that facilitate keeping or improving the current/prior level of complexity in a software package, despite enhancement package additions. To keep the current number of business functions (e.g., some software configuration or functionality), new packages may have to consolidate older ones. Consolidating business functions may include dissolving those functions into the core set of functions (e.g., those functions that are “always on”) or to merge them with other business functions (e.g., to be switched on or off as a set). Additionally, if a function is simply not used, and will never be used again, the function may be dissolved completely. Regardless, disruption to the customer should be minimized by any consolidation of functions. Systems and methods identify functions that can be automatically consolidated, and facilitate the consolidation of any remaining functions.
-
Citations
13 Claims
-
1. A method of facilitating software function consolidation, comprising:
-
loading, with an electronic processor, customer usage data, wherein the customer usage data indicates use of a plurality of software functions and includes data from a plurality of customers, wherein the plurality of software functions include functions with an associated switch (“
enhancement function”
) to toggle an associated function between on and off states, and further includes one or more always-on functions (“
core function”
);storing, with the electronic processor, a criticality level for each enhancement function according to a plurality of user defined parameters related to the individual function'"'"'s relationship with other functions; calculating, with the electronic processor, a complexity level for each enhancement function based on a number of dependencies each enhancement function has and a number of development objects associated with the enhancement function; for each enhancement function where the complexity level meets a complexity threshold; converting each particular enhancement function into a core function if the particular enhancement function'"'"'s criticality level meets a user-defined criticality threshold and if the particular enhancement function'"'"'s usage meets a user-defined usage threshold; merging a plurality of enhancement functions into a single enhancement function when each function of the plurality of enhancement functions has a usage correlation with each other function of the plurality of enhancement functions, above a correlation threshold; prioritizing, with the electronic processor, a plurality of remaining enhancement functions, according to a complexity metric calculated by the electronic processor based on user supplied parameters and the complexity level; and outputting a list of prioritized enhancement functions to the user. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for facilitating software function consolidation, comprising:
an electronic processor in communication with a data repository, configured to; load customer usage data, from the data repository, wherein the customer usage data indicates use of a plurality of software functions and includes data from a plurality of customers, wherein the plurality of software functions include functions with an associated switch (“
enhancement function”
) to toggle an associated function between on and off states, and further includes one or more always-on functions (“
core function”
);store a criticality level for each enhancement function according to a plurality of user defined parameters related to the individual function'"'"'s relationship with other functions; calculate a complexity level for each enhancement function based on a number of dependencies each enhancement function has and a number of development objects associated with the enhancement function; for each enhancement function where the complexity level meets a complexity threshold; convert each particular enhancement function into a core function if the particular enhancement function'"'"'s criticality level meets a user-defined criticality threshold and if the particular enhancement function'"'"'s usage meets a user-defined usage threshold; merge a plurality of enhancement functions into a single enhancement function when each function of the plurality of enhancement functions has a usage correlation with each other function of the plurality of enhancement functions, above a correlation threshold; prioritize a plurality of remaining enhancement functions, according to a complexity metric calculated by the electronic processor based on user supplied parameters and the complexity level; and output a list of prioritized enhancement functions to the user. - View Dependent Claims (8, 9, 10, 11, 12)
-
13. A computer-readable storage medium encoded with instructions configured to be executed by a processor, the instructions which, when executed by the processor, cause the performance of a method, comprising:
-
loading, with an electronic processor, customer usage data, wherein the customer usage data indicates use of a plurality of software functions and includes data from a plurality of customers, wherein the plurality of software functions include functions with an associated switch (“
enhancement function”
) to toggle an associated function between on and off states, and further includes one or more always-on functions (“
core function”
);storing, with the electronic processor, a criticality level for each enhancement function according to a plurality of user defined parameters related to the individual function'"'"'s relationship with other functions; calculating, with the electronic processor, a complexity level for each enhancement function based on a number of dependencies each enhancement function has and a number of development objects associated with the enhancement function; for each enhancement function where the complexity level meets a complexity threshold; converting each particular enhancement function into a core function if the particular enhancement function'"'"'s criticality level meets a user-defined criticality threshold and if the particular enhancement function'"'"'s usage meets a user-defined usage threshold; merging a plurality of enhancement functions into a single enhancement function when each function of the plurality of enhancement functions has a usage correlation with each other function of the plurality of enhancement functions, above a correlation threshold; prioritizing, with the electronic processor, a plurality of remaining enhancement functions, according to a complexity metric calculated by the electronic processor based on user supplied parameters and the complexity level; and outputting a list of prioritized enhancement functions to the user.
-
Specification