There are so many reasons for this. Here are some of them that I can write without much thinking or checking my notes. 1. Enterprise problem domains are usually much more complex than the ones which are targeted by the OSS. 2. Enterprise problem domains are full of unclear, wrong and even contradicting requirements. 3. Enterprises usually have lots of legacy code/systems. 4. Enterprises usually have lots of glue code…
This list seems to carry a heap of bias with it. Enterprise cares about what works for them, and quick-and-dirty is just fine. Startups care about what works for a broader customer base and need higher quality. Different needs, and different styles. Neither approach is wrong... but they serve different purposes and will appear like cruddy work if you put an enterprise approach into the startup world. And vice versa.…
I've seen it all. At one place it went from Cowboy Coding where you were left to your own devices for months, straight to SAFe/Scrum/standups;) Both are equally bad and no match to RUP, informal mini-waterfall (think->design->build(iterate)->ship) or Shape Up method.