Patent ID: 8813086
Filing Date: 2014-08-19
Classification: G06F,G06Q

Abstract:
1. A method for scheduling execution of work requests through work plan prioritization, the method comprising: mapping and assigning, by one or more processors, at least one work packet to each work request from a group of work requests; deriving and assigning, by one or more processors, a complexity level to each work packet from said at least one work packet, wherein the complexity level is derived from an initial estimate for resource skill requirements required for completing each work packet from said at least one work packet; determining, by one or more processors, a priority level of each work request for each entity from a group of entities, wherein each priority level describes how urgent execution of a specific work request is to a particular entity from the group of entities, wherein the group of entities comprises a producer of a product, a distributor of the product, and a customer for the product, wherein the product is software application development and maintenance, and wherein the producer is a software factory that utilizes pooled resources; determining, by one or more processors, a global priority for the group of work requests, wherein the global priority provides a preliminary ranking for ordering execution of the group of work requests, and wherein the global priority is determined for said group of work requests by factoring in the priority level of each work request for each entity from the group of entities; generating, by one or more processors, a priority function based on the global priority for the group of work requests and the complexity level assigned to each work packet from said at least one work packet, wherein the priority function is derived by minimizing y* in the formula wherein W( ) represents the priority function, y l is a decision vector for execution of each l th work item, p l is a set of weighted priorities for the group of entities for each l th work item, s l is a set of skills required for execution of each l th work item, C is a completion time for execution of each l th work item, and D l is the deadline of each l th work item; prioritizing, by one or more processors, the software application development and maintenance in the software factory based on the priority function; and scheduling, by one or more processors, execution of the work requests based on the priority function.