Workaday environments suffer impediments to SE application not solvable by tooling. Many large organizations run de jure or de facto Need-to-Know (NtK) departments. I have witnessed Functional or Class Decomposition and Module Hiding repurposed for NtK atomized development teams not knowing shared OUTCOME semantics. Organizations and people turn SE abstraction boundaries into NtK semantic ASYMMETRIES, i.e., SECRECIES.
That does not work well, efficiently, or predictably. Anyone can rightfully detect motivations for both FSF/OSS and Skunkworks structured "startup" teams where all wood is behind the same arrow.
Other problems are lack of SE training. There are big tugs in finite training days between reading/writing skills, problem domain maths, tool churn, machine models, scheduling techniques and so on. Many HN Skunkworks styles teams are in VERY good shape compared to 20 years ago or contemporary organizations trying to turn SE into contract management.