Geeks And Geekery: Why I Use These Words

Okay, fine. Geeks and geekery it is. What do these words point at for me, and why do I use them? You know, asking this, there’s no way in hell i’m gonna answer without wanting to share my decidedly minority views about language. You just know that. Please be advised that I know that these are not mainstream views. Please…
Read More

Awkward and Graceful 2 (A Recovery)

Continuing last night’s wobbly muse on graceful and awkward collaborators… In the light of day, I think I see four possible responses to the situation when your new code depends on an awkward collaborator or collaboration: Ignore it (possibly just for now). Write your test anyway and suffer the expense. This is a legitimate judgment, tho one the hardcore among…
Read More

Awkward and Graceful Collaborators

Software Programs can be understood as (potentially huge) orchestras playing in concert. Depending on your level of abstraction, you might imagine systems, subsystems, layers, packages, objects, or even functions as the individual players. (Aside: Folks often make major distinctions in these abstractions, but to my touch, they feel all the same thing, just with ever larger labels on ever subsets.…
Read More

Five Underplayed Premises Of TDD | Video

Five Underplayed Premises Of Test-Driven Development (Transcript) Hey, it’s GeePaw! I’m here to tell you today about five underplayed premises of Test-Driven Development. These premises form the kind of fundament under which almost all TDD proceeds. And when I say that I’m a TDDer, I almost always mean I am operating inside the little ring formed by these five test-driven…
Read More

Underplayed: The Steering Premise In Depth

Time, finally, for the steering premise, from the five underplayed TDD premises. The steering premise says "tests & testability help steer design & development". What we’re saying here is that tests are first-class citizens in the mob of factors that shape our system, with a voice that counts, all the way through development. Think of the factors we take in…
Read More

Underplayed: The Chain Premise In Depth

Today, let’s talk a little about the chaining premise, from five underplayed tdd premises. The chaining premise says "test a chain by testing its links". Like the other premises, it’s easy to make it pithy, but it has vast ramifications about when we’re doing TDD. When we talked about the money premise, I gave a long, likely partial, list of…
Read More

Underplayed: The Judgment Premise In Depth

The judgment premise is one of five underplayed tdd premises. The judgment premise is simple to word and vast in its extent. It says, "tdd relies absolutely on individual humans using their human judgment." you might ask yourself, "what doesn’t rely on human judgment?" but there are lots and lots of activities that are entirely mechanical, judgment-less, and geekery is…
Read More

Me And Programming Go Way Back

I became a professional programmer when I was 20, not-quite 38 years ago. Bob Martin’s back-of-the-envelope estimate of the doubling rate for programmers is that it’s been about 5 years for at least 3 decades. That means I have more time in this trade than more than 99% of the other programmers in the world today. What does that mean…
Read More

Underplayed: The Correlation Premise In Depth

Five underplayed premises of TDD includes the correlation premise. The correlation premise says "internal quality and productivity are directly correlated". Confusions and misunderstandings around this premise abound furiously, so it’s worth taking some time and working it out in detail. When we say internal quality (IQ) and productivity are directly correlated, we mean that they go up together and they,…
Read More

Underplayed: The Money Premise In Depth

We talked about five underplayed tdd premises before, here’s a video & transcript. over the next couple of weeks, I’d like to take a little time and go over each of them in more depth. Today, let’s start with the money premise. The money premise says: "we’re in this for the money." TDD is fundamentally about making money. In software,…
Read More