views:

535

answers:

3

I've just joined a small team of developers and there doesn't seem to be any rhyme or reason to the way each developer sets up their development environment or how they use version control (currently Source Safe).

I made the "mistake" of asking a question about their standard practices. To keep a long story short, this earned me the task of coming up with a plan to standardize everything we reasonably can since there currently is NO standard and this is causing unnecessary delays and headaches. So I'm hoping some of you can give me some advice or point me to some good resources in this regard.

A little background. Our team is about 10 developers all working on .NET projects ranging from DotNetNuke Portals and Modules, to Webservices, to WPF projects. Most developers work autonomously (hence the difference in everyone's setup), but we all have to have access (currently through Source Safe) to all projects for support, bug hunts and enhancements.

I'm looking for suggestions as simple as should we standardize locations for third party dlls on each of our boxes or use a network location for those so all references are consistent - to what's the best way to organize our projects folder structure - to coming up with a plan to reorganize everything step by step (ie. leave it where it is until you need to work on it and then migrate it into the new system).

Any help would be greatly appreciated.

A: 

1) Operating System: Use Windows XP till Windows 7 is out Install the service packs and all the updates. 2) Install .Net Framework 2.0 and service packs for it

3) Install .Net Framework 3.0

4) Install .Net Framework 3.5

5) Install Visual Studio 2008 and SP1 for it

6) Install SVN Server (from Collabnet) and TortoiseSVN (from tigris) for version controlling

7) If you people build very customized WPF interfaces then install MS Expression Studio

8) Install Chrome, Firefox 3 (with FireBug), IE 8 (it can emulate 7) and Opera for testings

9) Install SQL Server Management Studio

This will set you up for starting developing WPF, Asp.net and WinForms apps.

TheVillageIdiot
+1  A: 

Use project based references wherever possible. For thirdparty dlls, make sure you have a seperate folder called Lib or something like that and have each third party dll in their respective vendor folders.

E.g

Lib\
Lib\Infragistics
Lib\Telerik

This structure can be sometimes outside of all your projects if multiple projects are referencing them.

Then you can easily set the path to these dll's from your project. Also, a lot depends on if you are changing the source code of these third party vendors, then you may have to really think through as every team in your group may want to make some changes and have their instance to be independent of dependencies or bugs caused by changes from the other teams.

You can look up more information on the following topics on the web to help you setup a standard process.

  • Continuous Integration
  • Cruise Control.NeT
  • Nant

Also, note that you should not emphasize too much on the solution structure organization. The real focus should be Continous Integration, good build process and automating as much build stuff as possible. It will get you a good impression if you create a streamlined release process for all your patches, app roll outs, etc.

CodeToGlory
+1  A: 

Workstations where I work:

  1. Intel Q6600
  2. 4GB RAM
  3. 3 22" LCDs
  4. Vista Business 64-bit w/SP1 (ibstupidhate)
  5. Visual Studio 2008 w/SP1
  6. Up to .Net 3.5
  7. Visual Source Safe client (ugh)
  8. SQL Server Management Studio
  9. Chrome/FF 3/IE7/Opera/Safari

My system also has CodeSmith Studio Professional since I deal with all netTiers generation in the office.

Vista hasn't given me any issues, just having to start VS2008 in Administrative mode when I'm testing WCF hosts. Hate as much as you want, but Vista has been solid for me since Feb. 2007.

Gromer
+1 for not hating on Vista for development use. I have been using it since before launch with no issues.
Jimmie R. Houts