views:

100

answers:

7

First of all I don't know if it this question belongs here if not please tell me.

I've recently evolved from freelancer to a small .net/php development shop and we're trying to figure out what the best tools for team development will be (code repository, continuos integration server, automated testing, etc.).

Do you have some recommendations, preferible open source or low cost since we are starting out. (We already have visual studio for all the team members).

Thanks

+1  A: 

You may want to take a look at Microsoft WebsiteSpark:

Does your company have 10 or fewer employees? Receive Windows Web Server and SQL Server Web Edition at no cost to host new websites
*A one-time $100 Program Offering Fee is due upon exit or at the end of the 3 year term.

Mehrdad Afshari
+1  A: 
  • CruiseControl.Net is a popular CI Server. I've never configured it but I believe the documentation is thorough. Make sure all your developers get CCTray to get instant build notifications. I'm not sure if you would need to write a build script for PHP projects or not, but I'm sure it would be possible if necessary.

  • SVN server with TortoiseSVN client is probably the most ubiquitous source control system to get set up with, although many people are moving to Git.

womp
Joel recommends Mercurial
Joe Philllips
That's because Joel sells a hosted Mecurial solution
Mike Mooney
Visual SVN Server and TortoiseSVN client are very easily setup. Here's a link to these two: http://visualsvn.net/visualsvn/download/, http://tortoisesvn.net/downloads, respectively. Plus, Visual SVN provides a https:// URL when deployed over the Internet, if required.
Will Marcouiller
A: 

For continuous integration servers, here are two good options:

  • CruiseControl.NET - This is a free, open source tool implemented in .NET. It has made some recent strides in terms of usability. It is used in production environments and probably the most solid choice among FOSS. It works best in the NAnt, NUnit, N* ecosystem.
  • JetBrains TeamCity - This is commercial software, but they offer their "professional" version for free. It has some limitations, but it is very reasonable for a small team. You get to take advantage of all of the features of the paid version. It is a breeze to setup and supports most common tools out of the box.

For source control:

bentsai
A: 

For source control, I like Subversion, + TortiseSVN + VisualSVN

http://subversion.tigris.org/
http://tortoisesvn.tigris.org/
http://www.visualsvn.com/

Subversion and Tortise are Free!, and VisualSVN is only $50 per license (but you don't HAVE to use Visual-SVN, it's just the VS integration....not necessary as far as I'm concerned.)

Here's a tutorial and installation guide for all three products.
http://www.west-wind.com/presentations/subversion/

and another...
http://www.dev102.com/2008/10/07/how-to-use-the-svn-client-and-start-working-with-your-subversion-version-control/

Albert
+3  A: 

As others have said, CruiseControl is a must. Also, make sure you get some NUnit for automated testing, and maybe WatiN if it fits to your needs. Also, NCover is good to have, but I think they charge for it now.

Also think about getting RedGate Ants for performance testing. It costs some money, but it saves you a lot of time in preempting performance issues, so it pays for itself very quickly.

There are a lot of recommendations for DVCS source control like Git and Mercurial, but by all means look at less-distributed source control options as well. Much like with Agile, some DVCS evangelists may tell you that it is the one true new correct way to do it, and that if you are using the old fashioned systems you are a dinosaur that will quickly go out of business. Of course, this is silliness, and traditional source control systems like SVN and Vault work just fine, especially if you are a small shop that is not going to have too much branching and forking. Personally, I prefer Vault, because it is more end-user friendly, it integrates into Visual Studio more cleanly, the inevitable branching and merging are easier, and it's ridiculously simple to setup. However, SVN is free while Vault costs about $300/user, but im my experience we've saved several multiples of that due to developer-time-saved with Vault. Regardless, just don't use SourceSafe or CVS.

If you already have the Visual Studio Team System tools, you may be tempted to use them, but I would recommend staying away from them unless you have a lot of time to kill orif you really want an ulcer. My company is a BizSpark member, so we get plenty of licenses for TFS and all of their ancillary tools (build, automated test, performance test, etc), and we don't use ANY of them. TFS is a massive timesink that requires an enormous amount of effort to setup and maintain (I've lost several days trying to get it working, just imagine what THAT costs), and the other tools fall short of the existing components they were intended to replace. Their build server is not as good as Cruise Control, their unit testing compoents are not as good as NUnit, their performance testing is not as good as Ants, etc.

For bug tracking, we use BugNet, mostly because it was free and .NET-based, but it's pretty limited and I'm sure there are plenty of other good ones out there. JIRA works pretty well too, and includes more project management functionality, but I think it costs a fair amount of money.

If you're ever going to prepare a screenshot or mockup for a proposal or design document, use Balsamiq. I forget what it costs, but it's great and worth it.

If you're going to write any blogs, WordPress is really easy to setup, free, and has a ton of professional-looking plugins and skins for free.

Mike Mooney
All you said is true - in the past. TFS 2010 is finally a totally nwe beast. TOok me 30 minutes to set up ;) Plus 15 for a build server.
TomTom
Yeah, I've heard TFS 2010 was better, but I've heard that before :). While TFS itself took forever to setup, my issues with the build portion in the past wasn't with setting up the build (that was easy and quick), but with maintaining it. Adding any custom actions to the build was a nightmarish journey into the depths of undocumented insanity.
Mike Mooney
+1 for mentioning TFS's pain, we are also a bizspark company and we already tried to install TFS just yesterday and .... nightmare. I think we'll try TeamCity since we're currently 3 developers and hopefully through work we'll be able to pay for it as we grow.
JaSk
Also, TFS's build doesn't have a native CCTray-type feature for instant build notifications. There are some freebie addins out there, but they don't seem to work very week.
Mike Mooney
A: 
  • Visual Studio Professional upward, either through WebSiteSpark, or through - hm - well - the relevant Action Pack (Dedelopment and Design subscription) - costs very little per employee.

  • Use TFS for builds. Lovely.

  • http://www.jcxsoftware.com/vs.php is a PHP plug in for Visual Studio ;)

One integrated toolset. This is really nice as it keeps maintenance down - no need to chek 30 or so websites.

Get a GOOD computer (quad-6 core, 16gb RAM), install a windows server there, add hyper-v and then put anything but domain controller, file server in hyper-v instances. Make sepaate instances for SQL, TFS, TFS build envieonment and you have something REALLY stable. I have one of those buggers here - 16gb, quad core, 8 hard discs on a SAS controller. Flexibility pure.

TomTom
+1  A: 

If you're relatively new and small company you should be able to get quality infrastructure for very little money. This is using a mix of great open source stuff and good quality commercial tools that are on offer for startups. The stack is Visual Studio ($100 through Bizspark) + Jira/Green Hopper + Teamcity + Git/Github + Confluence. That will get you started for $50 for up to 10 users, plus $12-$22/month for github. You can run this infrastructure on a single server that falls in the $2000 price range. We've been using this stack for a while now and it's been a pretty good experience.

I wrote a blog post recently about software infrastructure for small (distributed) ISV's: ISV Software infrastructure on a shoestring budget. It has all the links to said tools and more.

FrederikB