We have plenty of theories of Software Engineering. The problem is that there are impediments to empirical verification of these theories.
I don't get it - software engineering is not physics. There doesn't need to be a Grand Unifying Theory. Software engineering is like skinning a cat - there's more than one way to do it.
Yeah, but even some random ad-hoc curve from geology for packing of sediments does better with empiricism than lots of Software Engineering. Heck, I bet some carpenters have more effective metrics than many programming groups do.
The problem is that company's will either conduct no analysis of their own software engineering processes or they will conduct an analysis but the data for it will be hidden meaning that it cannot be verified or reproduced.
So everyone has a theory, but there is little data to support the theories and getting that data is very difficult.
Right, it's like the dark old days of Alchemy before the scientific discipline of Chemistry. We are still transitioning from quirky weirdo/geniuses doing arcane things in secret for a wealthy patron to doing things in the open, with peer review and an open fact-based debate.
I don't get it - software engineering is not physics. There doesn't need to be a Grand Unifying Theory. Software engineering is like skinning a cat - there's more than one way to do it.