1. At first I wrote "when_playing_single_game" It should_output_Ben_as_winner but this was too high level. I needed to actually spec the rules of r/p/s first. 2. So I wrote "when_playing_a_round" which forced me to introduce the concept of a round. 3. Which led me to create the RockPaperScissors object. 4. Then I got all confused about how to deal with the input from the console (Can I apply MVP or MVVM to a console program?), so I decided to leave that bit for last. 5. Then I wrote the spec for how a single round game should work, and for some reason I broke it into two seperate interfaces. 6. Then I made all the tests pass. 7. Then I wrote the program.cs file so I could see what the control loop should look like and decide if I should test it (I think I really should). 8. Then it was 10pm and that's my bed time. 9. Added some obviously missing stuff. 10. I still haven't bothered to get the player's names. 11. Still haven't bothered testing the control loop, but if I do, I'll need IPromptUser and IDisplayOutput interfaces to abstract the Console.