Method and system for allocation of resources in an agile environment
Abstract
A computer-implemented method is provided for optimizing allocation of resources across stories for a release within an Agile development environment. The method includes receiving (i) resource information representing a plurality of resources available for allocation to the stories, (ii) one or more story definitions, each story definition comprising a unique identifier and one or more story-level constraints corresponding to a story, (iii) release information, (iv) iteration information, and (iv) one or more optimization criteria. The method also includes generating a plurality of story-level allocation scenarios and determining one or more optimized story-level allocation scenarios from the plurality of story-level allocation scenarios. Each story-level allocation scenario satisfies the one or more story-level constraints associated with each story definition. Each optimized story-level allocation scenario optimizes assignment of iterations or allocation of resources to the stories to satisfy the one or more optimization criteria.
Claims
exact text as granted — not AI-modified1 . A computer-implemented method, used in an Agile environment, for allocating resources across a plurality of stories in a project during a release and scheduling the stories across a plurality of iterations within the release, wherein 1) each story represents at least one task executable by an appropriate resource and 2) the release represents a deadline for delivering the stories and is divided into one or more iterations representative of a sequence of time periods within the release, the method comprising:
receiving, at a computing device, (i) resource information representing a plurality of resources available for allocation to the stories, (ii) one or more story-level constraints corresponding to each story, and iii) one or more optimization criteria for a level different from a story level; applying, using the computing device, a first-level optimization scheme to generate a plurality of story-level allocation scenarios, wherein applying the first-level optimization scheme comprises:
assigning an iteration to each of the stories;
allocating one or more of the plurality of resources to one or more of the stories; and
satisfying the one or more story-level constraints associated with each story; and
applying, using the computing device, a second-level optimization scheme to determine one or more optimized story-level allocation scenarios from the plurality of story-level allocation scenarios to optimize assignment of iterations and allocation of resources to the stories while satisfying the one or more optimization criteria.
2 . The computer-implemented method of claim 1 wherein applying a second-level optimization scheme to determine one or more optimized story-level allocation scenarios comprises:
selecting, using the computing device, a first story-level allocation scenario from the plurality of the story-level allocation scenarios; and
revising, using the computing device, assignment of iterations or allocation of resources to at least one story in the first story-level allocation scenario to satisfy the one or more optimization criteria.
3 . The computer-implemented method of claim 1 wherein the level different from the story level includes an iteration level, a release level, or a feature level.
4 . The computer-implemented method of claim 1 wherein applying a second-level optimization scheme to determine one or more optimized story-level allocation scenarios comprises:
assigning, using the computing device, a weight to each of the one or more optimization criteria; and
determining, using the computing device, the one or more optimized story-level allocation scenarios by satisfying the one or more optimization criteria scaled by their respective weights.
5 . The computer-implemented method of claim 1 wherein applying a second-level optimization scheme to determine one or more optimized story-level allocation scenarios comprises:
determining, using the computing device, an order for applying the one or more optimization criteria; and
determining, using the computing device, the one or more optimized story-level allocation scenarios by satisfying the plurality of optimization criteria successively applied in the order.
6 . The computer-implemented method of claim 1 further comprising automatically executing, by the computing device, the applying steps upon detecting a change to at least one of the resource information, the story-level constraints, information related to the release, information related to at least one of the iterations, or the optimization criteria.
7 . The computer-implemented method of claim 1 wherein the one or more story-level constraints comprise: one or more start dates or date ranges, one or more end dates or date ranges, one or more resource constraints, a cost constraint, one or more location constraints, or any combination thereof.
8 . The computer-implemented method of claim 1 wherein the one or more optimization criteria comprise a resource utilization criterion, a schedule criterion, a risk level criterion, a maximum-number-of-features criterion, or any combination thereof.
9 . The computer-implemented method of claim 1 further comprising generating an action plan based on the one or more optimized story-level allocation scenarios, the action plan comprising at least one of modifying resource allocation of the plurality of resources or acquiring additional resources.
10 . The computer-implemented method of claim 1 wherein the plurality of resources comprise one or more human resources, one or more physical resources, or any combination thereof.
11 . The computer-implemented method of claim 1 wherein the plurality of resources comprises one or more physical resources including one or more computer resources, one or more geographic locations, one or more supply materials, one or more equipment items, or any combination thereof.
12 . The computer-implemented method of claim 1 wherein the resource information comprises attribute information for one or more of the plurality of resources.
13 . The computer-implemented method of claim 12 wherein the attribute information comprises skills information, geographic location information, language information, availability information, or any combination thereof, for one or more human resources.
14 . The computer-implemented method of claim 1 wherein the story-level constraints corresponding to each story further include information indicating a priority level.
15 . The computer-implemented method of claim 14 wherein allocating one or more of the plurality of resources to one or more of the stories comprises allocating resources to a first story before allocating resources to a second story, wherein the first story is associated with a first priority level higher than a second priority level associated with the second story.
16 . The computer-implemented method of claim 1 wherein assigning an iteration to each of the stories comprises assigning, using the computing device, a null value to at least one story indicating that the story is canceled or not scheduled for the release.
17 . A computer program product, tangibly embodied in a non-transitory machine-readable storage device, for of allocating resources across a plurality of stories in a project during a release within an Agile environment and scheduling the stories across a plurality of iterations within the release, wherein 1) each story represents at least one task executable by an appropriate resource and 2) the release represents a deadline for delivering the stories and is divided into one or more iterations representative of a sequence of time periods within the release, the computer program product including instructions being operable to cause data processing apparatus to:
receive (i) resource information representing a plurality of resources available for allocation to the stories, (ii) one or more story-level constraints corresponding to each story, iii) one or more optimization criteria for a level different from a story level; apply a first-level optimization scheme to generate a plurality of story-level allocation scenarios, wherein apply the first-level optimization scheme comprises:
assign an iteration to each of the stories;
allocate one or more of the plurality of resources to one or more of the stories; and
satisfy the one or more story-level constraints associated with each story; and
apply a second-level optimization scheme to determine one or more optimized story-level allocation scenarios from the plurality of story-level allocation scenarios to optimize assignment of iterations and allocation of resources to the stories while satisfying the one or more optimization criteria.
18 . The computer program product of claim 17 wherein apply a second-level optimization scheme to determine one or more optimized story-level allocation scenarios comprises:
assign a weight to each of the one or more optimization criteria; and
determine the one or more optimized story-level allocation scenarios by satisfying the one or more optimization criteria scaled by their respective weights.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.