Tom Ritchford
2 min readDec 18, 2023

--

Extra claps for the goatse joke.

I remember when Agile first came in about 25 years ago: it was named XP at the time, "Extreme Programming", one of the worst names every given to any development methodology.

However, it was actually a game changer at the time, because it came with some new ideas and tools: unit tests, JUnit, and the idea that you write tests for all new behavior, and that you write a failing test to demonstrate a bug so you can prove you have fixed it.

I would add that the old "waterfall" system had proven its dysfunctionality in a large number of ways by then.

The problem with "Agile" today isn't in the ideas I have expressed above, which continue to be good ideas.

Half of the problem is in the idea of getting rid of system design in favor of sprints. The idea that good overall system design will magically emerge from individuals doing tiny disjoint tasks is so stupid I won't waste your time or mine on it.

But the much bigger half is that giving one person "authority" over another fucks up a lot of people and causes them to behave in strange and destructive ways. Many managers feel that strongly exerting their authority is intrinsically a good thing, whether or not they are actually pushing any rational idea.

I used to think I was a bad manager because while I love writing design documents and architecture, I just hate to order people around. Now I'm starting to think that this is a virtue.

Certainly, the best managers I ever had never ordered me around at all, whereas the worst managers I ever had, Duncan Blythe of SuperduperDB and Vinnie Falco of Ripple, Inc, screamed at people, ordered them around like cattle, and in particular, completely refused to read or write design documents of any type, or really, do any form of planning at all, even short-term.

(Vinnie was also a climate change denier, antivaxxer, conspiracy theorist, and the first person I ever met who supported Donald Trump for President, years before it actually happened.)

--

--

Responses (2)