icrosoft's Visual Studio Team System (VSTS) focuses on the issue of dealing with complex software projects built by a large team. VSTS has all the ingredients needed for a distributed work team of architects, developers, documenters and testers. That's great for large teams, but what about small teams? Do VSTS's benefits apply equally to smaller teams? As you might suspect, the answer is, it depends. In this article, I'll give you a look at VSTS from a "small-team" point of view.
Is VSTS Right for Your Team?
One of the best ways to determine if VSTS is right for your team is to understand what it does. Microsoft has a wealth of Team System information on its Web site, including white papers, case studies, and how-to documents. The Visual Studio Team System Developer Center
includes specific sections for the distinct roles addressed by VSTS along with evaluation versions of the software.
VSTS defines roles by specific functions within a team, including predefined roles as database professional, software architect, developer, tester, and project manager. VSTS tailors the user experience and the different capabilities of VSTS to each particular role. Having all these different roles seems to imply that your team is likely to have one or more individuals to fill each role. That's probably a fair assumption for large teams, but in smaller teams, individuals often fill multiple roles. How do you know if your small team will really benefit from a tool that was designed for much larger organizations?
One way to approach the question is by looking at the definite and possible benefits of VSTS for small teams, and also at features it supports that smaller teams or projects won't need. After doing that, you'll want to look closely at what each small team does to see how closely its needs match the listed benefits.
VSTS will definitely benefit any team with heavy auditing, bug tracking, reporting, and traceability needs. One example of an early-adopter company consisted of a three-person development team working on back-end credit card processing. This team adopted the full Team System suite and the client software mainly to take advantage of the work item tracking and reporting features. Using the automated reporting tools made it possible for them to provide their customers with a complete history of code changes and completed tests as a part of their QA process.
VSTS also provides huge benefits for any team that has to support multiple releases of a software product. Managing multiple releases of a software project is a task best handled with automation. VSTS has a sophisticated build/release management toolset that greatly simplifies the process of building specific software versions. It also makes it possible to initiate a build across the entire team. All check-in activity is sent to a data warehouse kept in a SQL Server database.
Companies who maintain a large source code base are also strong candidates for VSTS adoption. Source control in VSTS is joined at the hip to work items. New code can be associated at check-in to a work item, and any modification of existing code is automatically linked. Reporting tools use these links provide detailed reports, such as showing all changed modules tied to a specific work item (or bug).