3 ms·
Is it just a problem of inadequate specification? Because the methodology seems to work with physical systems. If I design a machine, and I need a gear or a ca
by throwawayboise 6y ago
Is it just a problem of inadequate specification? Because the methodology seems to work with physical systems.
If I design a machine, and I need a gear or a cam or even a more complex component, I can send the specifications for that part to a machinist who knows nothing about the "big picture" of what I am building. Yet he can make that part of it to perfection. Does this lead to the same sort of problems with the development of physical systems?
- stevegalla 6y ago> Does this lead to the same sort of problems with the development of physical systems? I would argue that physical systems aren’t developed in a “waterfall” method. In mechanical design classes in engineering school, we learned to start with low fidelity sketches to capture customer intent. We come up with several options, build those into increasingly higher fidelity 3D models, use simulation to refine, take a few candidates and get physical prototypes, do physical testing (strength, endurance, integration, etc.), determine the best one, then go into limited production to prove out and establish the production process, then go into full production. We are taught (and in the automotive industry it’s a requirement) to have cross functional teams involved in the design stages of both the item and the manufacturing process. To your point about inadequate spec: My opinion is there are so many different backgrounds coming into software that there is no common language or background. I think everyone thinks their way is better and it’s hard to communicate technical ideas when you need to constantly recreate and translate between terminology and documentation methods. This lack of convergence and common knowledge is what I think results in poor specs.
- Ma8ee 6y agoThe problem with comparing software development with manufacturing physical artifacts is that the phases are mixed up. The manufacturing, creating the artifact, in the case of software, is a wholly automated process usually done by a compiler (or similar). The compiler doesn’t need to know shit about the big picture and usually produces the artifact exactly as specified, as your machinist. So software development are all about writing down the specifications precisely enough for the compiler to create the artifact. Mixing up this process with manufacturing is a source of many of the problems in software development.