Hi Doug,
Thanks for posting! The documentation in this area gives some limited information you might find useful around
grid performance. Generally, however, like most things in the software world, the answer is 'it depends'.
Because NCrunch needs to duplicate build tasks over the nodes, you will in most cases be better off having bigger, chunkier grid nodes as opposed to having a larger number of smaller nodes. Unless your setup calls for a large number of nodes (i.e. if you have resource concurrency issues of some kind), you will want all grid nodes to be shared by all users so that the resources are used as much as possible.
The number of grid nodes needed will vary heavily depending on the nature of your tests and the size of your solution.
The best approach you can take here would be to experiment. Start with maybe one big node, then evaluate whether your team is spending much time waiting for tests to run. If so, add another node, and keep adding them until you're certain that adding more won't make any difference in productivity. If you're leaning on a cloud based system, it should be easy to just keep adding nodes until it's not worth it. If you're working on physical hardware, maybe stage your procurement so you have time to assess things properly. Our own experience suggests that workstation CPUs seem to be a better choice for grid nodes than server ones (less reliable, but faster and more cost efficient).
Given how cheap hardware is compared to developer time, it's probably better to have more power than you need rather than the other way around. Do consider though the time that needs to be taken to maintain grid nodes. Every VS/platform update installed on a workstation must also be loaded onto every active NCrunch grid node.