3 ms·
I think part of the answer is in your summary : a lot of software development happens with no engineering at all. For it to be called engineering, there must be
by jbn 7y ago
I think part of the answer is in your summary : a lot of software development happens with no engineering at all. For it to be called engineering, there must be some purposeful design going into it (and preservation of the corresponding records of the design and design decisions), not mere accretion of a bunch of things into a Rube Goldberg contraption.
For it to be engineering, you need to have explicit design, explicit statement of the constraints and explicit statement of the flight domain. This in turn is a lot more expensive than a few lines of code, often very expensive, to the point that we allow shortcuts..
Engineering is having a discipline, and a lot of those projects that are abandoned, over budget or time, have no discipline. I'm taking about discipline along many dimensions (budget, schedules, features, design, documentation, testing, QA), and a lot of these add to the cost, but if you don't do them, then the cost is the highest (this is where you end up cancelling the project...).