i’m bettin’ u already got some code. if yer a geek in a substantial code base in an org w/more than a half-dozen other geeks, i’m bettin’ u already got a lot of code.
in your team’s head, if not somewhere on an out-of-date piece of paper, there is a picture of “our code”. i want to draw a box somewhere where there’s room in that picture, and i want to label it “rigorous”.
let’s call it the rigorous playpen. and what we want to put in that area of our codebase, is only file-pairs about which we can make this statement:
this code (T) tests that code (P). if u can break our app in that code w/o this code telling u u broke it, call us, any time day or night, and we will come running.i have some questions & comments about this idea. do you get it? that is, does it seem pretty clear what we’re asking to go in the rigorous playpen?
under what circumstances might you move one of your file-pairs in to that category? it would seem to require a substantial amount of judgment & experience to designate some file-pair as being in the rigorous playpen.
if we had a rigorous playpen with some code in it, what might change about how we do things now?
i’d imagine several things would change.
the answer: a good deal less than you think, because the payback comes at you high and fast. a good deal more than you think, because you have to change how you think – how you feel – about building software.