3 ms·
The industry took the good ideas of Agile (don't overplan, work in small steps, reassess regularly, oh and write tests and do code reviews) and absorbed them i
by adonovan 2y ago
The industry took the good ideas of Agile (don't overplan, work in small steps,
reassess regularly, oh and write tests and do code reviews) and absorbed them into normal software engineering. So now whenever someone describes themselves as an "agile" programmer it suggests a strict devotion to stand-up meetings, kanban boards, and various other cultic rituals.
But I'm not convinced that Agile is really to blame for the compartmentalization of knowledge and down-skilling of software engineering, as it has happened in every other industry too. It seems like a tendency of mass production. Car companies may be founded by small teams of master generalist mechanics, but they end up employing hundreds of thousands of ordinary technicians who know only what they need to know. Same for furniture factories and carpenters. Why not for software too?
- kasey_junk 2y agoAnd Moxie is complaining about something that goes against the early tenets of agile as listed in the manifesto. He’s complaining that hierarchical silod black box teams are bad. Early agile was advocating that was bad! The bigger issue is that Agile doesn’t mean anything anymore because when it came about it was just a reaction to the previous form of software management. It was at most a few completely different methodologies agreeing on some high level principles. You had to pick one of those methodologies to get any real practices out of it. And many of those practices would today seem like no brainers. Of course we should be merging everyone’s software frequently (do quarterly merges exist anywhere anymore? They did). Developers writing automated tests is near universal now, it was rare then. And with the rise is SaaS we’ve taken frequent deployment to a level unthinkable when Agile was developed. When people complain about “Agile” now it’s meaningless. It’s a catch all for everything unpleasant in software planning and coordination, just like waterfall was when Agile was ascendant.
- dmvdoug 2y agoYes, interchangeable parts are a central component of mass production. And you have to remove the application of skilled labor to get to interchangeable parts, because that requires mechanization, not the intensively individualized input of skilled workers. You can make sense of the framework-ization of front-end that way. Monkey pick pre-fabbed block from framework basket, monkey wire together blocks, monkey get banana. But of course the reality is far different. Monkey no troubleshoot or bug-hunt. You need humans for that. Skilled labor.