Scrum and XP
Scrum and extreme programming provide complementary practices and rules. They overlap at the planning game (XP) and Sprit planning (Scrum). Both encourage similar values, minimizing otherwise troublesome disconnects between management and developers. Combined, they provide a structure within which a customer can evolve a software product that best meets his or her needs, and can implement quality functionality incrementally to take advantage of business opportunities. Following are several shared practices that facilitate this functionality:
Iterations. All work is done iteratively, with the customer being able to steer and direct the project every iteration.
Increments. Every iteration produces an increment of the customer's highest-priority functionality. If desired, the customer can direct the developers to turn these increments into live, operational functionality at any time.
Emergence. Only that functionality that the customer has selected for the next iteration is considered and built. The customer doesn't pay for functionality that he or she might not select, and the developers don't have to code, debug, and maintain irrelevant code.
Self-organization. The customer says what he or she wants; development determines how much they can develop during an iteration and figures out the tasks to do so.
Collaboration. Business and engineering collaborate about how best to build the product and what the product should do between iterations.