<p><pre><code>  Here is my preferred and almost too simple workflow:

    Think about the feature
    Write the feature
    Test the feature (RSpec and Capybara)
    Deploy with acceptable level of confidence

  The testing part is in #3 exactly where it belongs.
</code></pre>
It&#x27;s my understanding that a major (perhaps <i>the</i> major) benefit of test-driven development is not that the tests are actually useful or speed up the writing of the code, but that the process of writing tests forces you to do some high-level design and specify how your code will work before you start clacking away. Seen this way, even if your tests are thrown out or never run after they are created, writing them was still a good idea because it resulted in your final product being better designed.