- Identify the first piece of functionality that needs to be built
- Write a test for this feature
- Run the test - it should fail
- Write the code to make your test pass
- Refactor your code (i.e. look at ways to make the code you have written 'simpler' or 'cleaner')
- Repeat step 1 to 6 for every new feature. Each new feature should pass every test you've written up until that point