Skip to content

XP Values: Feedback

September 25, 2007 by Artem Marchenko

Extreme Programming values are the primary guidelines to be used whenever it is not clear how to resolve the particular situation. Value of feedback emphasizes the belief in that requirements always change and/or are not well understood in the beginning of the project. Therefore the only way to build software the customer really needs is to continuously adjust the development basing on his feedback. Same goes to the technical level. Since software production is a new product development, it is rarely possible to plan it in detail in advance. Therefore it's best to develop in such a manner that improving the design basing on how the current one behaves was easily possible.


Primary XP practices directly supporting the value of feedback

  • Sit Together and Whole Team- evaluate the decisions quickly with the help of the hallway feedback and by simply talking to the nearby sitting tester. Having people with the different perspectives in one room helps provides the team with the multiple perspectives on all their decisions and solutions
  • Pair Programming - code reviews are known to be useful. Then let's do them already while programming. Get the second opinion on the code right, when creating it
  • Weekly cycle - wrap up and evaluate things often
  • Ten-Minute Build and Continuous Integration - verify that all the code in the system still works in no more, than ten minutes
  • Test-First Programming - make the code explicitly tell you, when it is done
  • Incremental Design - improve your design iteratively basing on how well the previous iteration works


Corollary XP practices directly supporting the value of feedback

  • Real Customer Involvement - when anything is unclear, show the current solution to the customer and ask the him directly
  • Root Cause Analysis - find the root causes both for the positive and the negative feedback
  • Code and Test - let the code tell you if the solution still works
  • Daily Deployment - get the actual view on the deployed current solution daily
  • Pay-per-use - empower the customer by letting him pay you basing on how your software works in the real world. Money is the ultimate feedback

This page is a part of the Extreme Programming overview

About the Author: As the Editor-in-Chief for AgileSoftwareDevelopment.com, Artem is charged with overseeing the direction for content, advertising, and the overall management of the site. Nowadays in his day life, Artem is a product manager in a global telecommunication company where he leads the development of a product developed in extremely distributed environment. Artem has been applying Agile and researching Agile since 2005. Contact Artem

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters (without spaces) shown in the image.

Best of AgileSoftwareDevelopment.com