When Microsoft wanted to make some more money on pre-subscription Office they’d move things around, rearrange the interface so commonly-used features are hidden behind useless ones that nobody cares about. It’s the same product it was before but corporate buyers dutifully upgrade and think it’s super important to have the “latest and greatest.”
Agile does the same thing with nomenclature. “Technical debt,” for all this imaginary subtlety, is just what we used to call “unfinished work” and I see no reason to call that anything else. As for “refactoring” I’ve never seen it have the same meaning twice. It means “edit,” nearly as I can see, and mostly it’s used to bludgeon people who work to make fad-driven illegible code into something human-parseable. “Stories” is an infantilizing word for “usage scenarios” and brings to mind milk and cookies before nap-time.
There’s a word for all these new terms, and there’s a word for all these new “methodologies,” and the word that best covers them all is refreshingly swiftstrong and colloquial.
The word is “bullshit.”
We had a new dev lead at my last job. He was a firehose of these neologisms. Technical debt this. Branch hygiene that. At the end of the day he didn’t do a goddamn thing. He a a lousy coder, Bangalore-level, and as a liaison he was utterly useless.
The more people use this new buzz, the less productive they are.
Agile, scrum, TDD, all crap.
Agile = new names for old ideas + more recurring meetings.
Scrum = new names for old things + more recurring meetings
TDD = doing things backwards, slowing everything down to write useless tests, huge work and less effective than Blackbox testing, heaped to the sky with bullshit and fanaticism. Another weird “backwards is better” approach, like so much unreadable code. Some of the stuff I read from TDD fanatics verges on psychotic.
XP = an abomination of productivity-destroying attacks on focus and concentration, the apotheosis of which is pair programming, a sadistic practice that should put managers behind bars, completely obliterating the concentration and focus without which good programming cannot happen. Pair programming has put a lot of people into therapy.
I’m not going to repeat what I’ve written in my other articles but you can find them under my name. I’ve summarized most of my points in one:
I’m a solo worker, either a freelancer or collaborating with others at very high levels of division, e.g. I do the back end, servers and databases, and someone else does the front end, the browser. We communicate our entrypoint requirements. I don’t do any of this horseshit you guys are so passionate about and I get more done, with higher quality and fewer bugs, than any half dozen of you put together. Because I can concentrate, because I keep interruptions at bay. When you work from home you don’t have a lot of recurring meetings.
I want absolutely nothing to do with these “teams” and their alcohol-fueled morale events and their sprint retrospectives (dear God) and their social programming. The software industry is as diseased as American politics. You’ve forgotten everything we knew thirty years ago; you regard people who concentrate at their desks with suspicion and disdain, never mind that we leave you jargon-queens in the dust.
I will never work onsite again; happily, I don’t need to. I have thirty years of working with broad responsibility and managing huge amounts of detail and I don’t want or need any of these fads.
Bring back single-occupancy offices with doors, bring back minimal interruptions, jettison all this crap “process,” focus on development and have dedicated testers unprejudiced by knowledge of the code, and watch your scrummy agile test-driven competitors go out of business.