Stop Using Logs Everyday

I don’t "believe" in logs, generally. What I mean is, for developers, logs should be seen strictly as a story for ops, not a development tool. I understand why ops needs to see logs. Ops is a customer just like any other, and what they need, we can supply. But I see far too many developers use the log all…
Read More

Defining Agile: A Musing

Defining Agile Sooooo, I saw a couple folks arguing earlier about what is or isn’t Agile. That’s okay. People do that. Analytical people thrive on doing that. Anyone who’s gotten to the level of journeyfolk in any arena will seek to define that arena. All very healthy stuff. Nowadays I tend to avoid these arguments. I have my reasons. First,…
Read More

Me & Molly & Marvelling

I’ve been having a lot of trouble getting to sleep lately. I go to bed cuz it feels like it’s time. Sometimes my body won’t settle, itching and twitching and such like. Sometimes my mind won’t. Usually it’s a mixture of both. So I get back up. But then I’m tired as hell, and it seems like I’m sleepy again,…
Read More

The Driven Premise

EDIT: This premise has been renamed the "Steering Premise", you can see the full video breakdown here. The Driven Premise Here’s an illustration of the most basic principle of TDD, what I call the "Driven Premise": there once was a queen who had a thousand consorts, each more brave and handsome than the next. But only if you lined them…
Read More

Assumption-Boxing is Harmful

Assumption-Boxing I’m thinking of maybe a new geepaw coinage: something like "assumption-boxing". This is when we frame a problem with an assumption that narrowly limits (boxes) the range of solutions. A real-world example we’re all familiar with: "Optimize meeting structure to exchange status reports on individual’s sub-projects". Do you see that "meeting structure" is a built-in assumption in the problem,…
Read More

Turn Preasons Into Reasons

What are preasons? A remarkable amount of geekery-advice comes in the form of rules & slogans accompanied by appealing. intuitively correct, theoretical reasoning using simple logic applied to pre-existing abstractions. I’m gonna pull a GeePaw-ism here and relabel "appealing, intuitively correct, theoretical reasoning using simple logic applied to pre-existing abstractions". I’m gonna shorthand these to "Preasons". So. We get a…
Read More

The Drive To Help

Have you ever noticed how much children love to help? Modern motivational theory offers us a triplet: purpose, autonomy, and mastery. (PAM) children helping surely excites P and M there. As adults we’re all slightly less desirous of helping. I attribute this to two factors. First, there’s a lot less M in it for me usually nowadays. I already know…
Read More

Test It Where It’s Easy

Test It Where It’s Easy A basic mantra: don’t test things where they’re hard to test. A very basic application of this mantra comes up for almost every noob TDD’er: "How do I test this complex private method?" The answer is simple: make it not private somewhere else and test it there instead. If your private is truly complex, it’s…
Read More

Standardize-By-Problem, Live Vertically

The Problems with Enterprise Standards I’ve been thinking lately of how much "enterprise standards" ruin our lives. When I coach in VBCA environments, I confront this problem more or less constantly. The standards can be enterprise tools, enterprise negotiations, enterprise processes. I see two factors in this. 1) solution-locking definitions, and 2) inadequate coaching reach & action. Solution-locking Definitions Improper…
Read More