3 ms·
What scientific knowledge exactly goes into writing a list like this? Or for determining our "best" practices? Last I check, none. So no, "software engineering"
by miltondts 6y ago
What scientific knowledge exactly goes into writing a list like this? Or for determining our "best" practices? Last I check, none. So no, "software engineering" is not engineering.
EDIT: I think this is ok in such a young field, but we should not deceive ourselves into believing that what we have today is anything like more mature engineering fields. We should also strive to attain their levels by investing more into high quality studies and less "axioms".
- dwheeler 6y agoEngineering uses knowledge, only some of which is scientific. A good engineer will use the best data where available, and where pragmatic will try to gather more (e.g., by making small prototypes to test a concept). But even today, a lot of engineering is based on "rules of thumb" and past experiences that are not the result of rigorous scientific study. I agree that software development (engineering) is a young field, and thus there's even MORE we don't know compared to many other more mature fields. We should certainly strive to increase knowledge via high quality studies. We currently have a serious problem: There is little incentive to do useful high-quality studies. Many people in CS are in a "publish or perish" mode. Publishing ideas is what's important, while scientifically showing whether or not something is true is not required (and takes much longer than posting an untested idea). Just look at paper after paper, and then ask how many show the results of scientifically rigorous experiments. There's remarkably little about the control vs. the experimental group (as an example). There is work that does real science, and I highly praise it - we just need more of it.