title: Is the Subversion 'stack' a realistic alternative to Team Foundation Server?
body: <p>I'm evaluating Microsoft Team Foundation Server for my customer, who currently uses Visual SourceSafe and nothing else. They have explicitly expressed a desire to implement a more rigid and process-driven environment as their application is in production and they have future releases to consider.</p>
  
  <p>The particular areas I'm trying to cover are:</p>
  
  <ul>
  <li>Configuration management (e.g.,
  source control)</li>
  <li>Change management (workflow and doco
  for change requests, tasks)</li>
  <li>Release management (builds and
  deployments)</li>
  <li>Incident and problem management
  (issues and bugs)</li>
  <li>Document management (similar to
  source control, but available via
  web)</li>
  <li>Code analysis constraints on check-ins</li>
  <li>A testing framework</li>
  <li>Reporting</li>
  <li>Visual Studio 2008 integration</li>
  </ul>
  
  <p>TFS does all of these things quite well, but it's expensive and complex to maintain, and the inexpensive Workgroup edition doesn't scale. We don't get TFS as part of our MSDN subscription.</p>
  
  <p>Those problems can be overcome, but before I tell my customer to go the TFS route, which in itself isn't a terrible thing, I wanted to evaluate the alternatives. I know Subversion is often suggested for its configuration management/source control, but what about the other areas? Would a combination of Subversion/NUnit/Wiki/CruiseControl/NAnt/something else satisfy all of these requirements? What tools do I need to include in my evaluation?</p>
  
  <p>Or should I just bite the bullet and go with TFS since we're already invested in the Microsoft stack?</p>