Extreme Programming For One

(from ExtremeProgrammingForOne )
  1. Setup the development environment (done once)
  2. Initial meeting with customer
  3. For each iteration until project is done
    1. For each Story until all Stories are done
      1. Write the AT
      2. Break the Story down into Tasks
      3. For each Task until the AT runs successfully
        1. Write the UT
        2. Code until the UT passes
        3. Refactor Mercilessly
        4. Write any other UT for "fleshing out" the Task; code & refactor mercilessly
        5. run the AT
      4. Run all UTs & ATs to check nothing else has broken
      5. Check the code in and compile the system
      6. (optional) Re-run all Unit Tests & Acceptance tests
      7. If during this process the customer comes in with a change, adjust stories in current iteration as necessary.
    2. Deliver the stories
      • Calculate your velocity for this iteration
      • calculate which stories you can complete next iteration using your velocity
      • copy executables, etc to the deployment area
      • write a note or contact the customer
        • indicate what has been changed since the last deployment (i.e list the stories you completed)
        • give instructions on how he/she invokes the system
        • indicate which stories you'll complete next iteration reminding the customer that these were next in line
        • get feedback asking if the story order is correct, or if there are any missing stories