0. Read requirement (if one exists, these days everyone laughs at requirements)
1. Write the test.
2. Write some psuedo code to model the real code (these are my code comments).
3. Run test and of course it fails
4. Write real code under the psuedo code
5. Make tests pass.