Seems there is a number of good solutions flying around. There is also the idea of diminishing returns which can take many forms. And also this popping up just now in another thread:
How do you chose the best solution without taking up incredible amounts of dev time for test builds