1. A method of release planning, the method comprising the steps of: assigning stakeholder priorities to a set of requirements, where the priorities are assigned by plural stakeholders; explicitly defining a set of constraints on the requirements; using algorithms carried out by a computer, exploring release plan solutions that satisfy the constraints and balance between stakeholder priorities of different stakeholders to generate a set of candidate release plan solutions that have a positive impact on at least one of project time, overall cost and quality; and selecting at least one release plan solution from the set of candidate release plan solutions.