I never really saw the "factory" analogy of software development: it just makes no sense, unless you look at your CD pipeline and think that's your whole process and where most of the work happens.
The very definition of a factory is that it manufactures the same thing, or a limited range, of items over and over and over again.
That's not software development: you're either doing something new, or working on an existing codebase but, of course, because each part of that codebase is quite different to the others, there's no real uniformity to what you're building. Sure, there are processes that are similar (writing tests, debugging), etc., but it's much more like the design and testing phase of engineering a product rather than the manufacturing phase.
Overall, "factory" is an incredibly vapid analogy that simply needs to die in our industry.
The factory analogy exists because it's still prevalent in managerial culture. The factory model has staying power because it allows outputting a bunch of numbers that everybody understands and can plan upon. It is also utterly wrong when applied to software development but the illusion of constant delivery it provides is so reassuring. We'll keep having it pushed down our throats because managers won't read or understand or believe the Mythical Man Month which is all they'd need to know if they'd care.
I'm sure it exists in management culture, but I'd argue that existence isn't universal: only one data point but I've been a manager for a long time now and, very much because I think it's a ridiculous construct, it doesn't exist in my culture. I've worked one place where it was fairly strong (and wasn't there very long), but it's never really gained much of a foothold in any of the other companies I've worked at. Or, at least, not while I was there, which includes plenty of places where I was an IC or mainly an IC, so couldn't be attributed to my influence.
The very definition of a factory is that it manufactures the same thing, or a limited range, of items over and over and over again.
That's not software development: you're either doing something new, or working on an existing codebase but, of course, because each part of that codebase is quite different to the others, there's no real uniformity to what you're building. Sure, there are processes that are similar (writing tests, debugging), etc., but it's much more like the design and testing phase of engineering a product rather than the manufacturing phase.
Overall, "factory" is an incredibly vapid analogy that simply needs to die in our industry.