August 2018

TDD Pro-Tip: Suspect Demeter Chains

TDD pro-tip: demeter chains are anti-microtestable. What is a demeter chain? It’s code where we talk to a collaborator’s collaborator. U can look up the origins of the name in your copious free time, but in regular code, it looks like this: x = a.b.c.d.e.f; each one of those dots is a link in a demeter chain out of whatever the object is that contains that assignment. A is our direct collaborator. We might have been passed her, or given […]

TDD Pro-Tip: Suspect Demeter Chains See Full Post

TDD Pro-Tip: Time Needs Technique

TDD pro-tip: any "time" u refer to a clock, be on the lookout. It’s a time — I just can’t help myself — to seriously microtest your way through. If you have to talk about "now", consider whether you want to be able to pass a clock rather than call the system. For the price of an additional argument, you get perfect testability. The price of resistance? Your now-based object will have to be thought about every time you place

TDD Pro-Tip: Time Needs Technique See Full Post

How TDD Makes Change Faster

We spoke of two questions in the recent re-visiting of the money premise. How/why does TDD make changing layered branching logic faster? What’s the capital outlay to change to it? I’ll stall a little further on 2, but let’s do 1. Some provisos before we get started, and they’re pretty important. Proviso #1 We are speaking here of a particular kind of test applied at a particular time during development, specifically, microtests applied right before (and sometimes right after) the

How TDD Makes Change Faster See Full Post

We’re In TDD For The Money

This entry is part [part not set] of 9 in the series Underplayed Premises

Time, this morning, to return to the underplayed TDD premise called the money premise. In one phrase: "We’re in this for the money." What does that mean? In the software business, like every other business in a long period of very high demand, we make more money when we ship more value faster. Please be careful here. When we say "more value faster", we’re not trying to constrain the possible varieties of value. THIS IS AN INCREDIBLY IMPORTANT THING TO

We’re In TDD For The Money See Full Post

Parsing Expressions, TDD, and the Big Why

So, for those following along, the other day I had to decide whether to roll my own parser for boolean expressions involving tags, like "(stinky & doofus) | (ugly)". Very standard stuff. In the end, I rolled my own, and I have to tell you, I just had a really wonderful time. A parser for strings is an absolutely awesome place to do TDD. They’re just strings. No clever fakes, no extract & override, nothing. Just strings. I hadn’t done

Parsing Expressions, TDD, and the Big Why See Full Post

How to Grow and Keep Geeks

So, in recent muses, i’ve tried to establish that our next step is a) restructuring economy to b) grow & keep geeks. How? What changes do I make in my org, assuming that I have restructured the economy to give me space to do so, to increase the org’s ability to grow and keep geeks? In no particular order, then, here are a bunch of ideas about this. 1: Stop hiring people whose chief attribute is their capacious memory for

How to Grow and Keep Geeks See Full Post

Growing and Keeping Geeks

From yesterday’s dark muse, this: i need stronger geeks. But I can't *get* stronger geeks without attending first and foremost to *growing* them and *keeping* them. — Michael D. Hill (@GeePawHill) August 12, 2018 #### Let’s go there. I believe we are consistently failing in the geek trade. By failing, I mean that we who do the work do not broadly satisfy those for whom we do it. If we were selling some service or commodity that could be substituted

Growing and Keeping Geeks See Full Post

Restructuring the Debts In The Geek Trade

It seems to me that a very great deal of "agile" advice has an implicit prefix, "assuming your team is close to healthy," you should … The assumption of reasonable health just — to put it as gently as I can manage — doesn’t seem like the sort of assumption we should be making. The industry — agile & otherwise — is in terrible shape. The demand for geekery seems to rise year after year, and it brings with it

Restructuring the Debts In The Geek Trade See Full Post

Fear, Coaches, and the Will To Fail

Coaches, let’s talk about fear and — not the team — fear and the coach. I get to meet and speak with a lot of coaches, which pleases me. Because i’m an introvert with a taste for authenticity, I am also lucky enough to quite often get them in small groups or one-on-one where folks stop marketing and start sharing. For years, i’ve noticed that a great many of them live daily with the belief that they are not good

Fear, Coaches, and the Will To Fail See Full Post

Decomposition Rage Tweet Explained

Yesterday’s irritated blurt was a matter of feels, not an attempt to offer insight or ideas. I got some queries about it, so let me wipe that slate and be a little less irritated. For now, anyway. 🙂 In geekery — in all tool use beyond a certain point, but my focus here is on the modern software development synthesis — we confront problems that have a size that is "too big to eat all at once". This is hardly

Decomposition Rage Tweet Explained See Full Post

Scroll to Top