I am currently preparing a new small virtual environment for development and testing with Windows Server + SQL Server + AD + Sharepoint + Exchange + IIS(ASP.NET) + Biztalk + ?, for a small (up to 5) dev team.
What are pros and cons on different approaches, eg. splitting up over different machines or packing everything up per machine.
I your experience what are the best practices I should follow in terms of architecture and various system/servers placement. What to share and what to split per person.
I would like to achieve some flexibility for the dev and testing process (so teammebers would not be steeping on each other's toes) and limit administrative effort needed to propagate settings, integrate work items and revert changes when something breaks up.
It's not supposed to be an everyday development working environment, more a tier 2 developer testing environment, and not yet an integration or QA testing environment with formal change process.
IMO the two borderline solutions are:
- creating one all-inclusive machine for each dev team member giving them freedom to manage
- creating shared environment managed by the one with somehow formalized change request process
What golden mean would you recommend, and why?