Steve Hayes had a pointer to this InfoQ: Kent Beck on Agile Adoption & Values
Customers don't seem to mind fewer defects and more predictable schedules and programmers who are willing to have conversations and follow through with their commitments. The problems come when customers start to expect those things and programmers don't want to provide them. Calling yourselves agile without a commitment to the values and principles of agile development can lead to some uncomfortable relationships.
When I read this paragraph a little light went on in my brain. I'd always thought the Values of XP a little odd so I just concentrated on the Practices and Techniques. Now fundamentally XP Values are values for the whole team. The reason, I now realise, that I could not place the Values in my own personal model is that the list does not generally contain accountability or commitment as a personal value for each team member, although it is often implied. What might individual Accountability and Commitment mean for XP team members? To be personally responsible to the team for estimates you produce and the work you do on products you share in creating. At a practical level it means
  1. Making sure that that you base your estimates on reality (of course that is standard XP practice -- but sometimes you you have to fall back on heuristics) or a known set of assumptions. Document the assumptions and facts that underline such estimates so that you can show how you arrived at your figures and revise the assumptions for future iterations. Be accountable for making the best possible estimate
  2. Follow through on your estimate and personally do everything possible to make sure that the estimate is meet (as long as you keep yourself safe and healthy by not attempting the impossible!) . If you cannot meet the estimate then have an early and honest conversation to allow the rest of the team and the customer to adjust their expectations (c.f. XP Value feedback)
Of course all these personal values need to be balanced against the shared needs of the team. The whole team owns the work artefacts from the project (code usually). Individual team members are accountable for the work they perform which is required to improve the business value of the shared artefacts. I suggest that a practical method of supporting personal accountability and commitment is the Engineering Notebook approach I previously mentioned.
  • It provides focus during work and improves commitment
  • It supports the information needed to be accountable
Now back to the point of this post. Once the personal values are in place and team members can trust the commitment and accountability of their colleagues then the other conversations about XP values fall into place and become meaningful. Of course the issue I refuse to address here is that personal values are just that -- personal values and a fundamental part of each person. It can be very difficult to legislate these things.

powered by performancing firefox