Using customer profiling and analytics to more accurately estimate and generate an agile bill of requirements and sprints for customer or test workload port

Aspects of the present invention include a method, system and computer program product for more accurately porting a customer or test workload. The method includes a processor acquiring relative customer or test workload and environment data for determining portability feasibility; determining workload and environment portability scores and rankings; comparing a current workload and environment to previously ported workloads and workload port analyses; determining which workload components may be ported; determining actual workload portability feasibility; generating one or more agile workload portability data reports that indicate which workload components are candidates for agile porting; and determining to not provide for viewing a summary of the actual workload portability feasibility or the one or more agile workload portability data reports.

BACKGROUND

The present invention relates to the testing of software, hardware, firmware, and/or other disciplines, and more specifically, to a method, system and computer program product that implement aspects of workload and operational profiling, coupled with business analytics, thereby resulting in improvements in the testing of customer software.

In the field of software testing, as in many other technical fields, improvements are constantly being sought, primarily for cost and accuracy reasons. A fundamental goal of software testing, in theory, is to identify all of the problems in a customer's software program before the program is released for use by the customer. However, in reality, this is far from the case as typically a software program is released to the customer having some number of problems that were unidentified during the software development and testing process.

A relatively more proactive approach to improving software testing is sought that employs traditional methods of understanding characteristics of clients' environments, augmented with a process of data mining empirical systems data. Such client environment and workload profiling analysis may result in software test improvements based on characteristics comparisons between the client and the test environments.

SUMMARY

According to one or more embodiments of the present invention, a computer-implemented method includes acquiring, by a processor, relative customer or test workload and environment data for determining portability feasibility; determining, by the processor, workload and environment portability scores and rankings; comparing, by the processor, a current workload and environment to previously ported workloads and workload port analyses; and determining, by the processor, which workload components may be ported. The method also includes determining, by the processor, actual workload portability feasibility; generating, by the processor, one or more agile workload portability data reports that indicate which workload components are candidates for agile porting; and determining, by the processor, to not provide for viewing a summary of the actual workload portability feasibility or the one or more agile workload portability data reports.

According to another embodiment of the present invention, a system includes a processor in communication with one or more types of memory, the processor configured to acquire relative customer or test workload and environment data for determining portability feasibility; to determine workload and environment portability scores and rankings; to compare a current workload and environment to previously ported workloads and workload port analyses; and to determine which workload components may be ported. The processor is also configured to determine actual workload portability feasibility; to generate one or more agile workload portability data reports that indicate which workload components are candidates for agile porting; and to determine to not provide for viewing a summary of the actual workload portability feasibility or the one or more agile workload portability data reports.

According to yet another embodiment of the present invention, a computer program product includes a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method that includes acquiring relative customer or test workload and environment data for determining portability feasibility; determining workload and environment portability scores and rankings; comparing a current workload and environment to previously ported workloads and workload port analyses; and determining which workload components may be ported. The method also includes determining actual workload portability feasibility; generating one or more agile workload portability data reports that indicate which workload components are candidates for agile porting, and determining to not provide for viewing a summary of the actual workload portability feasibility or the one or more agile workload portability data reports.

DETAILED DESCRIPTION

Characteristics are as Follows:

Service Models are as Follows:

Deployment Models are as Follows:

Thus, as configured inFIG. 3, the system100includes processing capability in the form of processors101, storage capability including system memory114and mass storage104, input means such as keyboard109and mouse110, and output capability including speaker111and display115. In one embodiment, a portion of system memory114and mass storage104collectively store an operating system to coordinate the functions of the various components shown inFIG. 3.

In accordance with one or more embodiments of the present invention, methods, systems, and computer program products are disclosed for more accurately porting a customer or test workload.

With reference now toFIG. 4, a flow diagram illustrates a method200according to one or more embodiments of the present invention for more accurately porting a customer or test workload.

In one or more embodiments of the present invention, the method200may be embodied in software that is executed by computer elements located within a network that may reside in the cloud, such as the cloud computing environment50described hereinabove and illustrated inFIGS. 1 and 2. In other embodiments, the computer elements may reside on a computer system or processing system, such as the processing system100described hereinabove and illustrated inFIG. 3, or in some other type of computing or processing environment.

After a start operation in block204, an operation in block208collects or acquires the relative customer or test workload and environment data or information necessary for determining portability feasibility using, for example, analytics processing. More specifically, the current and continually expanding customer profiling and analytics discipline techniques may be used for data collection and curation, including environment and workload and operational questionnaires, interviews, workshops, deep dives, problem history analysis, social and traditional media analysis, empirical data analysis, and more. This customer and/or test workload data and information may be stored in a database as a preparation for analytical processing.

An operation in block212determines the workload and environment portability scores and rankings. An exemplary method for doing so may comprise performing an accounting of a number of various environment and workload portability factors and characteristics, individually and/or collectively in various groupings, to determine or calculate various metrics including component level and an overall portability score or grade and rankings (e.g., each workload's portability scores, by applicable sub-area and overall score). The determined or calculated metrics may be stored in a database.

These environment and workload portability factors and characteristics may include, for example and without limitation, environment configurations, capacity, and requirements, including: hardware; software; firmware; server, Sysplex, LPAR, adapter, etc.; z/OS, zVM, zLinux, etc.; platform; System p; System x; blades; cloud (compute, storage, network); compute; storage; network; and API availability. These factors and characteristics also include licensing requirements; IBM products; customer products; and OEM products. In addition, they include open source requirements and considerations, and skills requirements, including relativity of skills, degree, variety, variation, and availability. Also included are performance requirements, multiple simultaneous workload run support, subject matter expert input on workload-specific characteristics, and known limitations (general and specific). They also include the use of configuration files/options, CLI and/or GUI options, Userid/group requirements, naming convention(s), and hard coding of resources, including Userids/groups, configurations files, input/output files, locations, etc., and logs. Others may include the history of workload, including when last updated if actively supported, and if original creator/owner(s) are available. Also, previous ports by customer and/or IBM to other servers, other locations, cross platforms and other companies. In addition, available documentation such as workload specific, workload flow, and diagrams, as well as automation level for operations and automation level for installation (e.g., install/uninstall scripts, programs, JCL, execs, etc.; install/uninstall verification). Others include manual installation, operations, interventions requirements such as degree, frequency, and process, and version information, and product install combinations, including licensed products, homegrown applications and products, and OEM products

Next, the necessary formulas are determined to properly score and rank these portability characteristics and requirements. This may be done through consultation with subject matter experts from each environment and workload to be analyzed for portability implementation, scoring and ranking. The subject matter experts may provide information, recommendations, and/or guidelines. The formulas may be stored in a database as a preparation or prerequisite for analytics processing.

Next, the relative environment and workload data are acquired or collected using the current and continually expanding customer profiling and analytics discipline techniques for data collection and curation. These techniques include, for example, and without limitation, environment and workload and operational questionnaires, interviews, workshops, deep dives, problem history analysis, social and traditional media analysis, empirical data analysis, and more. This environment and workload data may be stored in a database as a preparation or prerequisite for analytics processing.

The portability scores for each environment and workload to be analyzed are determined or calculated using, for example, the determined formulas. These portability scores may be stored in a database.

The portability ranking of each environment and workload to be analyzed are determined in relation to various previously collected customer and/or test environment and workload data and through a variety of customer and/or test groupings. These customer and/or test groupings can include a variety of classifications, including by geography, country, culture, industry, etc. as well as the overall global customer and/or test set. These portability rankings may be stored in a database.

The portability environment and workload factors and characteristics (including implementation, data/observations, formulas, scores, rankings, and other relative information) may be visually presented to a user in a highly intuitive, customizable, negotiable, descriptive, and flexible dashboard type interface and/or through other desired visualizations.

An operation in block216compares the current workload and environment to previously ported workloads and workload port analyses, including workloads that were ported and workloads that were not chosen to be ported.

An operation in block220determines which workload components may be ported using agile techniques and which workload components cannot be ported.

An operation in block224determines actual workload portability feasibility. This includes determining if a workload is a good candidate for workload port, using the customer workload profiling collected and derived information, and through analytics of this information.

An operation in block228generates one or more agile workload portability data reports to provide the end user with the capability to determine which workload components are best suited for agile port, including priority and order options, as well as which components are not suited for agile port. The reports may comprise a relatively easy to use summary report and a relatively more detailed report. The reports indicate which workload components are candidates for agile porting.

An operation in block232determines whether or not to provide the workload portability agile summary and/or detailed reports for viewing. If not, an operation in block236stores, e.g., in a database, all of the workload portability data and information, score, rankings, agile summary and detailed reports, for current and future reference and statistical analyses, as well as to incorporate into the expanding general workload portability knowledge base. The method200then ends in an operation in block240.

If the operation in block232determines to provide the workload portability agile summary and/or detailed reports for viewing, then an operation in block244provides for viewing the workload portability implementation data and observations, formulas, scores, and/or rankings, agile summary and detailed information in a highly intuitive, customizable, negotiable, descriptive, and flexible canned and/or end user designed and generated report(s). The method then branches to the operation in block236.

Embodiments of the present invention provide for the implementation of the porting of a customer or business entity (e.g., IBM) test workload using agile methodology. This provides the customer and/or the business entity with the capability to make significantly more informed decisions on the benefits and consequences to porting a workload, including whether to port an existing workload versus developing a new workload, and if deciding to port, how to implement the workload port in attainable stages or agile sprints.

Embodiments of the present invention provide a summary list of stages and sprints, and the details of each sprint including projected time, resource, and financial requirements, as well as other pertinent information. Dependencies between sprints and order of implementation, including sequential versus parallel sprint implementations, is also provided to optimize the time and resources needed to efficiently and successfully accomplish the workload port.