But the essential difference is that process applied to manufacturing is about repeatability, quality, reliability etc. where process in software is more about communication.
Eventually, maybe, a software process will be more like a manufacturing one but the variation in technologies, techniques and general fashion make that hard - even in limited areas such as CRUD web apps. I think you'd get the same outcomes with a manufacturing process as we currently get with software if every year you changed the engines, materials, electronics and transmissions.
Awesome software development process that is not about communication: testing by testers. Also code and documentation review. Also, keeping tasks in tracker and having version controll. Etc.
Code review definitely is about communication. That’s arguably it’s biggest benefit. The author could test something himself, but code review facilitates a conversation and keeps people on the same page.
My experience is that people often can't test what they've been doing by themselves. They've got blind spots and assumptions that they can't see. They have a mental model for how a feature is supposed to work, and they test that mental model, but they don't test outside of that model.
Yes, this. Programmers are supposed to test their own code. And write tests. You are not supposed to have bugs for what you thought to test.
Tester is for independent check you forgot about or did not knew about. Tester is so that you don't stop testing your code due to too much confidence.
Without testing, programmers tend to not have feedback on bugs, tend to think they don't have them and then tend to produce more bugs in the long term. Not because they are lazy or bad, but because they are normal humans.
Eventually, maybe, a software process will be more like a manufacturing one but the variation in technologies, techniques and general fashion make that hard - even in limited areas such as CRUD web apps. I think you'd get the same outcomes with a manufacturing process as we currently get with software if every year you changed the engines, materials, electronics and transmissions.