EveryProcessMustPerform

Last edit May 21, 2004
Borrowed from JamesGoebel's post on the XpMailingList (http://groups.yahoo.com/group/extremeprogramming/message/43372):

If you push XP you will receive resistance. Instead I would suggest that you start documenting key metrics that every process must perform. If you can get everyone to agree to those, then you will be in a better position to argue that XP is appropriate later.

For example...
  • All production code must have unit tests.
  • All developers must run the entire suite of unit tests every day.
  • All unit tests must pass before and after code integration.
  • All production code must be signed off by one peer. That peer is signing up to have that code be part of their annual performance review.
  • All project plans must be broken into tasks of no longer than 2 weeks.
  • An updated project plan must be submitted to management every 2 weeks.
  • Task completion is reported on a 0% or 100% done, never 90%.
  • Key parts of the system must have multiple resources familiar with the code.
  • There is a single individual responsible for scope change sign off.
  • Teams must demonstrate the software to management every two months, even if the early demos are boring UML diagrams.
  • All teams must report status to the project manager daily, either through a written report or verbally.
  • Projects that must produce documentation must have a business analyst skilled in writing.

Don't argue about the quality of your horse. Instead focus on setting up the obstacle course in a way will appeal to management, and yet be easy for you to clear most of the obstacles.

-- JamesGoebel


I like this concept a lot. It appeals to the scientist in me. Who cares how it works as long as it works? A lot of the problem of AdoptingXp is communicating the need for it (see FirstCreateTheMailbox).