This talk will provide a brief overview of Test Driven Development and Behaviour Driven Development followed by a demonstration of creating a Rails application from scratch all the time being test/spec driven. Test-Driven Development (TDD) is a software development technique that many people are aware of. However, only a small number of people actually use it. I believe it's due to the lack of existing examples showing how simple it is and how great it is to be "driven". TDD affects the way you design your software. It also helps you with gathering requirements without the need of having a big, heavy specification. The talk will demonstrate how to prepare a user story, split it into tasks and TDD all of them. I've been using TDD for 6 years. Subjects covered will include: what is TDD/BDD, how to organise tests for a typical Rails application, TDD/BDD as a design technique, a live coding session, the process of fixing a bug being test-driven, the process of preparing and implementing a new user story, RSpec on Rails (Stories Runner), autotest, how to start doing TDD/BDD in an application that was not tested at all.