Allen Holub

@allenholub.bsky.social

Author, international speaker, consultant, software architect, kitchen-sink wrangler.

Could someone explain why so many websites (including big ones like Amazon) fail when I use a VPN? I just don't see the upside, and I'm not going to turn off the VPN in a public setting like a café, so they've lost my business. Somebody has to do work to make their site less usable. I don't get it.

If you really want to treat AI-generated code as a black box, your tests have to be immaculate and extensive. For example, are you testing for all of the following (not an exhaustive list and in no particular order)? All Functionality, including all corner cases. 1/6

The whole idea of restricting access to Anthropic's Mythos model because "hackers might get their hands on it" is insanely bad. If we _all_ can get our hands on it, then we _all_ can harden our systems against the attacks it can find. 1/3

When it comes to AI, the $64,000 question is: if you can test AI-generated code to perfection and the tests pass, does the quality and structure of the code even matter? In other words, can sufficiently capable AI replace human coders? Can we treat the generated code as a black box? 1/10

You do not build trust through estimation. You build trust by delivering. I've found that once I start delivering something small but useful every day or so, people stop asking for estimates. 1/2

I see no value in asking the question "How big is this?" Instead, I repeatedly ask "Can we make this smaller?" until the answer is "no." Once I've found the smallest thing, I implement it in the simplest possible way. I define "make this smaller" as a scope-narrowing process. 1/6

If a story is bigger than 1 point, instead of trying to guess how big it is, just keep decomposing it until you have a set of 1-point stories. All stories, when sufficiently narrowed, are 1-pointers. There. That's easy. 1/2

A little history: The original XP team invented story points to deal with a time-obsessed manager. They were estimating in what they called "ideal days"—days where you're doing your best work, focused entirely on the work, with no distractions, never getting tired, &c. 1/7

Everybody, including management and sales, knows that estimates are inaccurate, often to the point of fantasy, useless for most planning. So let's say out loud what they're really about: 1) To put pressure on the team. 2) To push blame to the team when wild promises don't pan out. 1/2

You can't estimate an unknown. A plan based on estimates assumes that you can determine exactly what you'll build in advance. That precludes changing what you're building based on what you learn as you build. 1/3

There is no predictive value to story points. A one-point story can take anywhere from a day to several weeks. A 13-point story can take anywhere from a day to several weeks. For the most part, people who use points have never done the math. 1/2

https://getnave.com/blog/story-points-to-hours/

The impact of AI across the entire economy is nontrivial. Look at the just-announced $3,000 price increase on a fully loaded MacBook Pro. That's entirely an AI tax triggered by data-center-induced chip scarcity. 1/6

The core problem with pretty much every "change initiative" is the problem of force inherent in control-focused management. Forced change is a culture of violence wrapped in the rhetoric of improvement. Nobody appreciates being ordered around, particularly when the order seems nonsensical. 1/4

A "story" is not a code word for some random bit of work. Thinking of it as such is a classic example of Larman's Law. People cannot imagine a new way of doing things, so they twist the new approach into something that looks like what they do now. 1/4

Build the simplest possible thing you can build to provide value to your user. A little value will do fine—you don't need party hats and an end-zone dance when you release. By keeping it dead simple (not simplistic), the code is easy to change and scale as needed. 1/2

The notion of "writing a user story" strikes me as wrongheaded. Nobody sits down and writes a user story as if they were an author writing a piece of fiction. (The fact that many so-called stories are indeed fiction is the topic for another post 😄). Nobody writes stories. Not you. Not users. 1/5

We could all do this. We do not have to hand over our souls to the oligarchs. I use AI. It's useful. But the real cost is staggering, so I use it judiciously. Consider that Apple just jacked up the price of a fully loaded MacBook by $3K! That's a chip-scarcity AI tax driven by data centers.

Culture Crave 🍿@culturecrave.co · 2w ago

Australia is planning some of the world's toughest AI regulations • Water usage will be limited • AI data centers will be required to become net producers of energy • AI companies can't train on Australian creators' work without their permission • Proposals expected to be introduced in 2027

An occasional reminder that Login is not a user story. (And no, putting it into that ridiculous Connextra format "as a user I want to log in" does not magically transform it into one. Putting it on a ticket doesn't transform it into a story, either.) 1/7

The point of a retrospective is to learn and adjust. Retros are not about criticism, "constructive" or otherwise. ("Constructive criticism" is usually a smokescreen for passive-aggressive behavior, in any event.) Retros are not about people—management or otherwise. 1/3

Bild

I've been reading posts saying AI puts an end to "Agile." That's nonsense. AI agents are an irrelevance in an Agile context. Agents cannot tell you what to build, which is the key problem. It was never about coding, so much as writing the correct code. 1/4

A stakeholder who tells you they're too busy to talk about the product is not a stakeholder at all. Stakeholders have a stake in the product. The product's success or failure directly impacts them. Everybody else is just a bystander.

When I suggest a change that appears to break everything, I rarely mean "just keep on doing what you're doing now, but with this one change." When I recently suggested eliminating backlogs, I did not mean "keep on doing what you're doing now, but without a backlog." That clearly won't work. 1/2