The problem is actually that most software projects are too complicated to setup. This is a kind of technical debt created by bad developers who think their job only involves coding, not maintaining the entire lifecycle of code. I bet these shops also have hard to reproduce builds and deploys that require dozens of human steps.
If your new dev process isn't some close variation of:
1) Install IDE
2) Checkout code from repo
3) Run dev environment setup script
4) Open project in IDE
Absolutely. Development projects should have a repeatable, automated-where-it-makes-sense setup.
A few things I do at my company to make sure:
* give developers a new machine every 12-18 mos (depends on Apple refresh cycles). Forces everyone to install it fresh, and fix any dependency/install bugs to be fixed
* all new dev hires must have it running and have deployed a change on their first day.
* encourage graphic designers, QA, and other folk to get it running locally for testing and the like. The install script and docs must be super clear so it allows them to install it with minimal hassle
I was using Vagrant for this, but ultimately it didn't provide enough value to outweigh the overhead and hassle. A shame, but I think they are on the right track with their approach. Just needs a lot more polish in my opinion.
If your new dev process isn't some close variation of:
1) Install IDE 2) Checkout code from repo 3) Run dev environment setup script 4) Open project in IDE
then you're doing it wrong.