TDD Pro-Tip: Make The Tacit Explicit

Refactoring Pro-Tip: When I make tacit relationships explicit I nearly always improve my code. Once I move past syntactical refactorings into semantics, this is often my first set of moves. So what does this mean, "tacit" vs "explicit", in code? Maybe the easiest way to come at it is with a very dumb example. The simplest tacit relationship I can…

Continue Reading

When To Start Doing TDD

TDD Pro-Tip: TDD-blockers are everywhere for me, even now, after twenty years of practicing it, so I still try new ways to work around them, and I don't always find them, and I wait for next time. A respondent had a great question, and this is a kind of "sideways" answer. The question: Given that we're halfway through an app…

Continue Reading

One Story, One Day

TDD Pro-Tip: The step-wise technique has to account for what the user experiences when, so I have to build ways to control that when stories get bigger than a day. (A new friend asked the question: when stories get hefty, how do we "live at HEAD" without exposing our users to code that's still WIP.) First the one-liner: don't do…

Continue Reading

Large Stories Mean Side-By-Side Technique

When I have to have WIP that's live in production, I pretty much have to use all the approaches for side-by-side development. In some recent muses, we've talked about "in situ" vs "side-by-side" approaches to changing code. First, let's refresh our concepts for these two phrases. In both cases, we have a bunch of code A, and we wish we…

Continue Reading

Run Once, Run Away (RORA) Even Bites Pros

TDD Pro-Tip: RORA (Run Once, Run Away) is insidious, and although I am an old-guard agilist, I still have to actively resist its charms every day. Alright, well, look, I figured out after some helpful application of 2x4's to the head, that I needed to phrase these pro-tips as advice to me, even when, as occasionally, in my heart of…

Continue Reading

Steering Around The Pyramid Problem

TDD Pro-Tip: An important steerability force for me is in my strategies for sidestepping the pyramid problem. There are a lot of ways we could describe this "pyramid problem". Perhaps the most straightforward way is to ask how much code is "in play" during a test. At some point, and it varies by codebase, the answer becomes "a lot". When…

Continue Reading

Refactor Your Tests

TDD Pro-Tip: I spend considerable effort making it possible not only to implement a test I want, but to make that test easy to read, to write, to run, and to debug. I've talked a lot about five premises of TDD. The money premise, the steering premise, and the chaining premise all get involved when we come to the coding…

Continue Reading

Geekery Pro-Tip: Think Less, Sense More

Geekery Pro-Tip: I frequently remind myself: Think Less, Sense More. It's advice I give to me all over the place, from the most technical parts of the sociotechnical fractal to the most social parts of it. It's an odd thing to say, so we better dig in to it a little. I've recently come from a conference. This was a…

Continue Reading

TDD Pro-Tip: Design Until Nervous Optimism

TDD Pro-Tip: Before I write the first test in a new context, I usually design until I get to a state of "Nervous Optimism". A couple of days ago, I was party to some drinking geekery with my colleagues at a hookah bar restaurant dance club. It was the end of a long day, and we were unwinding and being…

Continue Reading
Close Menu
×
×

Cart