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

Coaching Pro-Tip: Read More Narratives

A new coach in the VBCA[*] world asked me what she should be studying. What, she asked, should she be reading, to get good at promulgating change in her large org? [*] - Very Big Corporation of America, see Monty Python. She proposed a bunch of topics, including management, psychology, sociology, a variety of geekery sub-topics. My answer: anything narrative,…

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

Create Experiences Not Arguments

Change Pro-Tip: When I can give people an experience, I get dramatically better results than when I give them reasoning. I'mo tell you one of my stories. Twenty years ago, with a considerable amount of "Shut up, I'm the pro from Dover", I got permission to do TDD in a corner of the app I was working on, an app…

Continue Reading
Close Menu
×
×

Cart