Programming

TDD Tests Are First-Class Code

My standards for TDD microtests are the same standards I have for shipping code, and I follow them in microtests for the same reason I follow them in shipping code: they make me faster. This geekery muse is comfort food, for me and maybe for you, but I want to keep stressing: I fully endorse and support my sibs out there on the street protesting this violent police uprising. Stay safe, stay strong, stay kind, stay angry. Black lives matter. …

TDD Tests Are First-Class Code Go to Post »

Microtest TDD is Gray-Box

Microtest TDD is a gray-box testing approach, neither entirely inside nor outside the code it tests. Let’s talk that over. Before we dive in: Black lives matter. Stay safe, stay strong, stay kind, stay angry. Let’s not just embrace change, let’s initiate it. Any step you take helps, provided only that it’s doable, it’s not definitely backwards, and it’s not the last step. In the ’70’s, an important movement developed in testing theory, called "black box" testing. The idea is …

Microtest TDD is Gray-Box Go to Post »

Understanding Incremental Switchover

The incremental switchover approach is my default response to any transformation problem I can’t resolve in an hour. It’s the secret to successful brownfield development, but it’s not widely understood & used. Let’s take some time to understand it. As is my wont, I will again say that geekery isn’t really the most important story right now. I, and I hope you, understand this. Stay safe. Stay strong. Stay kind. Stay angry. Work on equity, when you can, how you …

Understanding Incremental Switchover Go to Post »

The RAT: Rework Avoidance Theory

Rework Avoidance Theory, or RAT, is likely slowing your team down more than rework ever would. Let’s talk a little about that today. I am writing these geekery muses in a time of great turmoil, but for the most part they’re not addressing that crisis. They are momentary respite, for me, and hopefully for you. They’re not the main story. Stay safe. Stay strong. Stay angry. Stay kind. Black lives matter. Rework Avoidance Theory is a cluster of related ideas …

The RAT: Rework Avoidance Theory Go to Post »

Turning Implicit into Explicit

Turning implicit understanding into explicit code is a great productivity & quality step. Let’s talk about some whys and hows for that idea. As we forge into the topic, please do remember, this is just comfort food, not the main story. I proudly support my friends & family who are working for change in the world, and encourage them to keep at it. Stay safe. Stay strong. Stay kind. Stay angry. Black lives matter. An implicit understanding is anything a …

Turning Implicit into Explicit Go to Post »

The Right Step

Let’s talk about steps, a topic that’s relevant to my geekery interests, and maybe even a little relevant to the world outside of geekery today. (I feel weird writing right now. I am going to do it anyway, primarily because, like most long-term sufferers from illness, I live in mortal fear of relapse, and part of my remission seems based on finding my topic & voice in writing.) Don’t think that, by writing on geekery right now, that I’m trying …

The Right Step Go to Post »

Microtest TDD: Economics

The economic aspects of microtest TDD are inextricably tied to the operational aspects of it. If we concentrate only on the artifacts involved, we will lose the picture and misunderstand the value proposition. As a professional geek, the heart of my job is changing rigidly structured imperative text in collaboration with other humans, in order to meet a variety of locally or temporally aligned goals. That’s fancy talk for "I change code, in community, for money." The central event is …

Microtest TDD: Economics Go to Post »

Hitting on Speakers (Rant-y)

I want to talk about this thing where you see someone on stage/screen presenting material about geekery, you decide you’re attracted, and you send them mail or dm hitting on them. You must not do this. It is rude, unprofessional, and hurtful to many people. Stop it. There are a lot of arguments that sound like they’re either neutral to or in favor of this behavior. They are wrong, in detail, in logic, and in toto. Let’s take a look. …

Hitting on Speakers (Rant-y) Go to Post »

Microtest TDD: More Definition

What’s a microtest, anyway? I write a ton of tests as I’m building code, and the majority of these are a particular kind or style of test, the microtest kind. Let’s talk about what I mean by that, today, then we’ll talk later about how that turns out to help me so much. A microtest is a small, fast, precise, easy-to-invoke/read/write/debug chunk of code that exercises a single particular path through another chunk of code containing the branching logic from …

Microtest TDD: More Definition Go to Post »

Microtest TDD: The Big Picture

I think of my style of coding as "microtest TDD". That can be misleading for folks, so let’s take a walk over a few of the ideas, implicit and explicit, that make up the approach. First things first, bear the money premise in mind in all that follows, to wit: "I’m in this for the money." In the software trade, we make money by shipping more value faster. This is why I adopt these practices, because when I do them, …

Microtest TDD: The Big Picture Go to Post »

Scroll to Top