Here's an attempt to classify various development techniques and the sequence in which they tend to be used.
Is this model primarily for starting new projects? I often find that it helps my TDD practice to flow more smoothly, if I have spent some time upfront spiking unfamiliar libraries and API's I'm likely to use (or am constrained to use). I also find it useful to do a sort of annotated design spike, especially in unfamiliar areas of the codebase, where I would comment my way through a vertical slice, leaving TODO's for the behavioural changes I need to make to each class, so that I have at least one solution in mind, even if that changes as I apply my TDD practice for real.I often wonder if others do this, or whether it is a sign that my TDD skills need sharpening, and I should test drive a solution sooner.
Post a Comment