What's the reason for not using incredibuild on these machines? As building a release or close to disc version of your game should be part of your build monitor process.No, our build times are quite reasonable for the games in our studio.
Is that debug/development/shipping builds for 3 different platforms? That sounds ridiculous TBH.
For our C++ code base a full optimized rebuild takes about 3 hours
A rebuild for a single target shouldn't grow longer than a coffee break ;) if it does, your lead needs a good prodding to fix things.
Since almost all development is done in the smaller modules, a rebuild of the module only takes about 4 minutes, which fits your coffee break description. Most small edits take under a minute on the PC build, or when Edit and Continue is working it takes effect instantly (Yay Microsoft for Edit and Continue!) We also employ tools like Incredibuild so build times aren't painful for the programmers.
The full rebuild on build servers is the worst case scenario, and yes it really does take about three hours. Each platform is done in parallel on the build servers, it gets run directly and doesn't use Incredibuild when built on the build machines. Optimizations on those final build are turned up to maximum, including a bunch of incredibly slow program-wide optimizations.
Also most of the managed languages that need to be compiled actually do this whilst you are writing it. This is what makes C# compilations so blindingly fast.
Languages like C# make specific trade-offs of language features to improve build times. Neither is right or wrong, they're different tools for different jobs.