Patent ID: 7783973

Claim:
A computer-implemented method for generating a change approval plan for a computing system, said computing system having at least one component and at least two user groups, and each said user group having an approver, the method comprising: receiving, by a computing device, a request to change said at least one said component; determining, by said computing device, components affected by said request to change; determining, by said computing device, an initial set of approvals to be obtained from at least one of said approvers based on dependencies of said components affected by said request to change with other components, and based on the approvers required for each said affected and dependent component; and rearranging, by said computing device, said initial set of approvals into sub-groups such that components falling within each said sub-group are dependent only upon components within a respective same user group, wherein said rearranging said initial set of approvals further comprises: representing, by said computing device, said components affected by said request to change as a static dependency graph wherein each component is a node in said graph, and an edge exists between two nodes if said request to change to the respective components affects the same user group; and partitioning, by said computing device, said graph at locations in said graph where no edge exists between components to form disconnected sub-graphs, to provide said sub-groups; ordering, by said computing device, said approvals in accordance with a priority within said user groups, wherein said priority is determined according to an order of sequential steps of said request to change relative to said approvals; identifying, by said computing device, an approver for each said sub-group and requesting, by said computing device, approval of each said approver identified for each of said sub-groups corresponding to said initial set of approvals rearranged into said sub-groups; allocating, by said computing device, a change time for each of said ordered approvals; and validating, by said computing device, said change times for each said ordered approval against a respective approver's availability.