Identifying specific benefits for your situation will help you decide whether it makes sense or not. Automation is one of the primary benefits of VSTS for any size team. For small teams this is especially useful in the testing arena. VSTS automatically generates code for unit tests to make the overall acceptance and testing process easier. Producing quality code is directly related to the amount and thoroughness of the testing performed against that code. VSTS makes that task easier and integrates it with the entire development process.
Another factor to consider is roles within your team. Small team members frequently change job functions in an agile fashion; a team member could be a coder one day and a designer the next. VSTS provides consistent menus and user interfaces to help make such transitions between roles much easier. The VSTS project portal lets team members and administrators to view any team system report directly from a standard Web browser. You can also get VSTS information directly into Microsoft Excel and Project for analysis or planning purposes.
Collaboration is something many smaller teams don't often think about, because their team members often sit in close proximity to each other. But collaboration becomes critical for distributed teamsespecially when the team members are separated by large distances. VSTS provides a number of unique capabilities, including the ability to access things such as events programmatically. For example, you can hook up the event system to an RSS feed so team members can easily view events such as code check-in, build, and test results in their news readers. Even for team members in close proximity, the ability to receive such notificationsand have a record of such eventscan provide significant benefits.
Finally, SharePoint 2007 includes a number of new collaboration features currently unavailable to VSTS, including wikis, blogs and more. Even though VSTS can't take direct advantage of these new features with the current version, integration with SharePoint is on the VSTS team roadmap for a future version, which will further extend its collaboration capabilities.
When VSTS is Unnecessary
Moving a legacy project over to VSTS that's approaching or at its end-of-life and that won't see any significant new development is really not worth the trouble. While you can migrate older projects to VSTS, it's not a trivial task. This section on MSDN describes the process and provides step-by-step procedures for moving files from Visual SourceSafe, and for migrating work item tracking from ClearQuest.
Small software projects built for a small audience with Visual Studio are probably not worth the trouble either. Many of these sorts of projects don't even use source control, so the features in VSTS are overkill. Still, projects do tend to growsometimes dramatically. For example, many teams come face-to-face with lack of source control, work items, and other management tools when a small project not originally intended for wide release suddenly gets picked up by the entire company. In such cases, adding VSTS might be just the prescription.
When Might VSTS Be Necessary?
The primary questions you need to answer to determine whether VSTS might be a good fit for a smaller team are:
- Do your team members serve in specific roles, and would they be comfortable in or switching between the role definitions that Microsoft defines for VSTS?
- Does the team work on large projects, with a large source code base?
- Does the team support multiple tailored releases of a project?
- Is the team comfortable with build/release automation?
- Does the team need robust bug-tracking, work item assignment and reporting, and the ability to trace code back to its sourcewhoever or wherever that might be?
- Is the team distributed? Alternatively, could the team benefit from VSTS's collaboration features?
If the answer to one or more of those questions is "yes," the team is a potential candidate for VSTS. If the answer to all the questions is "no," then that team may not need VSTS now; however, if they're working on a project that's likely to continue to grow, you should revisit the questions in the futureat some point, small projects become large projects, and using small-team techniques becomes unwieldy.
Overall, deciding whether to move your team to VSTS is not a trivial problem. The cost difference along between a standard version of Visual Studio and a full-blown version of VSTS is significant. You should take the recommendations in this article into account and factor in the potential development time and reduced effort that VSTS can deliver before making a final decision. Then just do it.