1. 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, including an objective function defined by the equation max ⁡ ( ∑ k = 1 n ⁢ ⁢ F ⁡ [ S k ] ⁢ S ⁡ [ S k ] ) wherein n represents the number of stories in one or more iterations, S k represents the kth story in the one or more iterations, function F represents a feature-points function, and function S represents a successful and on-time completion function; 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, by optimizing assignment of iterations and allocation of resources to the stories while satisfying the one or more optimization criteria.
1. 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, including an objective function defined by the equation max ⁡ ( ∑ k = 1 n ⁢ ⁢ F ⁡ [ S k ] ⁢ S ⁡ [ S k ] ) wherein n represents the number of stories in one or more iterations, S k represents the kth story in the one or more iterations, function F represents a feature-points function, and function S represents a successful and on-time completion function; 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, by optimizing 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.