Another vote for VMs. It means a problem with one is very unlikely to interfere with the other, and one software suite can update in the background in VM1 while you program in a different package in VM2. It also makes it very easy to have standard VMs for each software that can be distributed to everyone (with proper licensing, of course
).
Also, as someone else said, the main issues I've heard of involved someone grabbing the COM port and not letting go. Ethernet/USB cleans that up pretty well these days.