XP+planning+game

= =

**Overview What is XP Planning Game?**
toc The XP planning game is one of the key practices of extreme programming. According to Beck (1999), the purpose of the game is to bring the customer and developer together in order to maximize value while minimizing costs. The XP planning game puts focus on negotiation of the requirements and the planning of it's implementation. During the game, the customer creates the stories while the developer provides estimation for the stories thereby creating a synergy. The game occurs within a short period usually within an interval of a week and can be classified into two major parts which is the release planning and iteration planning. In planning games,the customers have the information about deliverable value, while the developers have the information in terms of the estimation of effort required and cost. With this synergy, the customer and developers can both maximize value and minimize cost. The planning game is used to protect the scope constraint. The customer is asked to prioritize the order in which it would like the stories delivered and the customer is likely to prioritize based on the potential value a story can deliver. The development team can counterbalance the prioritization with complexity and risk points. This may result in a reshuffling of the priorities to minimize the complexity and risk against an optimal throughput value for stories accepted in the release.

**Definition Methodology**
"XP planning game has two participants in the planning process: Business and Development. This can help to remove some of the unhelpful emotional heat from the discussion making. There is no way that a simple set of rules are there to remind everyone of how they would like to act, and they provide a common reference when things are not going well" (Beck, 1999).

 **Players**
**Developers and Business** Beck (1999) mention that the XP planning game has two players: Beck(1999) considers that it is easy to see who plays the role of business in the planning game sometimes. Beck (1999) suggests that they ought to decide what is most important to do first. What if you are building a mass-market shrink-wrap product? What is business then? Decisions needed to be made are about scope, priority and the content of releases. Beck (1999) believes that ordinarily, the marketing department makes these decisions. And Beck (1999) advises that they should support their decisions by referring to:
 * **Developers:** T he developers are the people that will carry out the implementation of what has been defined on the card.
 * ** Business: ** T hese are the people who will tell the developers what they want to be implemented. The customer decides the priority of work to be done and what is in and out of scope. The Agile customer ensures the maximum satisfaction of the product customer, and the organisations value by ensuring what the stories the teams are working on, are prioritised to bring maximum value.
 * <span style="font-family: 'Times New Roman',Times,serif; font-size: 17px; line-height: 25px;">Real user of the product
 * <span style="font-family: 'Times New Roman',Times,serif; font-size: 17px; line-height: 25px;">Focus groups
 * <span style="font-family: 'times new roman',times,serif; font-size: 17px; line-height: 25px;">Sales people

<span style="font-family: 'times new roman',times,serif; font-size: 17px; line-height: 25px;">Advantages
<span style="font-family: 'times new roman',times,serif; font-size: 17px; line-height: 25px;">XP Planning enhances communication between customer and developers

<span style="font-family: 'Times New Roman',Times,serif; font-size: 110%;"> **Phases**
<span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">There are three phases of the XP game (Beck, 1999): <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">The purpose of the exploration phase is to give players an appreciation for what all the system should eventually do. Exploration has three moves: <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">The purpose of the commitment phase is for business to choose the scope and date of the next release and for development to confidently commit to delivering it.
 * <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">**Exploration**: This is a way of trying to find out new things that the system is capable of doing.
 * 1) <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">Write a story: Business writes a story describing something the system needs to do. The stories are written on index cards, with a name and a short paragraph describing the purpose of the story.
 * 2) <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">Estimate a story: Development estimates how long the story will take to implement. If development cannot estimate the story, it can ask business to clarify or split the story.
 * 3) <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">Spilt a story: If development cannot estimate a whole story or if business realises that part of a story is more important than the rest, business can spilt a story into two or more stories.
 * <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">**Commitment**: With commitment, decision will be made as to the steps to take in carrying out the requirements.

<span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">The commitment phase has four moves: <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;"> 1. **Sort by Value**: Business sorts the stories into three piles: (1) those without which the system will not function (2) those that are less essential but provide significant business value and (3) those that would be nice to have. 2**<span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">. Sort by risk **<span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">: Developers sort the stories into piles: (1) those that they can estimate precisely (2) those that can reasonably be estimated and (3) those that they cannot estimate at all. <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;"> 3. **<span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">Set velocity **<span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">: Developers tells business how fast the team can programme in ideal engineering time per calendar month. 4.**<span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;"> Choose scope **<span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">: Business chooses the set of cards in the release, either by setting a date for engineering to be complete and choosing cards based on their estimate and the project velocity, or by choosing the cards and calculating the date. <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">The purpose of the steering phase is to update the plan based on what is learned by development and business. The steering phase has four moves:
 * <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">**Steer**: This is the guidance of the developers towards the project requirement.
 * 1) <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">**Iteration**: At the beginning of each iteration (every one to three weeks), business picks one iteration worth of the most valuable stories to be implemented. The stories for the first iteration must result in system that runs end-to-end.
 * 2) <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">**Recovery**: If development realizes that it has overestimated its velocity, it can ask Business that is the most valuable set of stories to retain in the current release based on the new velocity and estimates.
 * 3) <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">**New story**: If business realizes it needs a new story during the middle of the development of a release, it can write the story. Development estimates the story, then business removes stories with the equivalent estimate from the remaining plan and inserts the new story.
 * 4) <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">**Re-estimate**: If development feels that the plan no longer provides an accurate map of development, it can re-estimate all of the remaining stories and set velocity again.

<span style="font-family: 'Times New Roman',Times,serif; font-size: 110%; line-height: 25px;">The Game Process
<span style="font-family: 'Times New Roman',Times,serif; font-size: 130%; line-height: 25px;">During the planning game, the developers brainstorm on stories created by the customers which helps in prioritization of requirements and specifications (Beck, 1999). And Beck (1999) views sketches to be used by developers in the XP planning game to ensure that requirements and specifications are understood before task is done at every iteration. According to Beck (1999), t <span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">hese phases are iterative as you will steer and then go back to the exploration of new things for the system, decide what steps to take in building the new requirements and so on. The aim of the game is to get the greatest quality of output from a team. Beck (1999) point out that the way this is done is by the team investing very little money with valuable operations into the production process and in very little time. This has to be done with strategies that have been designed with risk reduction in mind. In many situations where the stories defined by the customer is unrealistic, it creates difficult situations for the project teams (Beck, 1999).

<span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;"> Meanwhile, this can help to remove some the unhelpful emotional heat from the discussion of plans. There is no way that a simple set of rules is going to eliminate emotion, nor is it intended to. The rules are there to remind everyone of how they would like to act and they provide a common reference when things are not going well. [|Fowler] (2012) stated that “Values without practices are hard to apply and can be applied in so many ways, it is difficult to know where to start and practices without values are like activities without a purpose”. Values and practices are required; there exist a huge gap between values and practices which is bridged by principles. The five values of [|XP] as noted by Fowler (2012) are Communication, Feedback, Simplicity, Courage, and Respect. These are then expanded as the fourteen principles then into the twenty four practices. The fundamental idea behind this is that practices are the day to day activities carried out by the teams and values are the underlying knowledge and understanding of the approach.

<span style="font-family: 'Times New Roman',Times,serif; font-size: 120%;">References
<span style="font-family: 'Times New Roman',Times,serif; font-size: 120%;">Beck, K. (1999) //Extreme Programming Explained: Embracing Change//. 1st edition. Boston: Addison-Wesley

<span style="font-family: 'Times New Roman',Times,serif; font-size: 120%;">External Link
<span style="font-family: 'Times New Roman',Times,serif; font-size: 130%;">Fowler, M. (2012) //Continous Integration//. Available Online at [] [Accessed: Feburary 13, 2012].

<span style="display: block; height: 1px; left: -40px; overflow-x: hidden; overflow-y: hidden; position: absolute; top: -25px; width: 1px;">The planning game determines the order of Prioritisation and commitments in an XP projects. This happens during the end of each iteration.Martin Fowler