According to Kent Beck in his One Team paper "The biggest error in Extreme Programming Explained is the implicit assumption that you have a technical team serving a single customer." If you have ever worked on a project where there are multiple stake-holders you will know how difficult it to agree on prioritization where they have different interests in the project. It would be nice if all stories had a neat numerical values that you could compare them by but this is not a trivial exercise. A technique that I have used to get a an picture of where a group stand on contentious stories is Gradients of Agreement explained in the book "Facilitators Guide to Participatory Decision-Making" by Sam Kaner et al. You define an agreement scale to work with such as: 1. Endorse - I like it 2. Agree with reservation - I can live with it 3. Abstain - it does not matter to me 4. Stand aside - don't like but won't block 5. Serious objection - veto For each story you take a vote and record the outcome on a flip-chart. Pick the way you do this to match the culture and comfort level of the group. You can ask everyone in the group to make a simultaneous declaration by holding up a number up indicating their own level of agreement - like ice skating judges. But other groups may prefer a secret ballot. This information then feeds into the decision, it is important to have a transparent decision making rule and I would recommend in the case of an XP team that this is the responsibility of a single person who selects the final cut based on conversation with the wider team.