Your Server

Best Practice for setting up development network?

am looking for any ideas regarding how companies setup thier software development department. For example, do they allow the programmer to code on a corporate PC or is there usually a dedicated development machine? Do you use virtualization? I came up with a couple of scenarios. 1) Have an additional computer for each programmer solely for development. Therefore thier corporate machine will remain unaffected by thier code and can be locked down by IT. 2) Use one PC (the corporate PC) and install VM Workstation on it. Have the programmer develop in the virtual machine. 3) Purchase a powerful server, run virtual machines on the box, and have each developer RDP into thier respective virtual machine. There are definitely pros and cons to each. I am looking for comments or suggestions on what you have done.

Public Comments

  1. Most corporates have got combination of 2 and 3 . In addition to it you can post your project requirements at freelance websites like http://getafreelnacer.com/ , http://scriptlance.biz/ , http://eufrelance.com/ and let many freelancers bid for your project , this way you might save lot of money to develop software projects.
  2. If by "corporate PC" you mean the production machine where people are actually using the current version of the software, then no you definitely don't want developers working there. In a lot of companies developers don't even have any access to this machine. Each developer should have their own machine where they can work on their part of the development without interfering with what other developers are doing. Depending on what type of software you are developing you may also want to have a central development server where all the changes from each developer are integrated into a working application.
  3. I think that most companies go with #1 because it's cheapest and simplest. Problems I've had with that include having to get IT to set up private networks for testing (which most companies wouldn't need to do). I've used VM Workstation and I like the rollback feature, although with source code control that's not that important. Recently I've used Microsoft's Virtual PC (because my laptop is 64-bit Vista and the VPN driver I needed to use doesn't support that yet) with pretty good results. Not as powerful as VM, it got the job done. I hate #3 (which I've also had to do). It requires a network, it's slow, and it's choppy. Regardless of which, you'll of course want a central shared source code repository, like Team Foundation Server. Best wishes.
Powered by Yahoo! Answers