Best Practices

The only thing I'd avoid using is `subject` because in my opinion it makes the tests less "story-like", using a generic term in place of the actual word (e.g. `project`).
I think `let`s are good when you want to change the behaviour of a before hook in a nested context without having to rely on instance variables or prepending more before hooks; I think in that case they make a lot of sense and should be encouraged.
One could argue that `let!` worsens readability. If you need some model to be created just do it in the before block. This separates preconditions from objects used in the test.
`specify` is redundant and I don't see why one should use it!