Introduction to Visual Studio Team System
Posted by: Subodh Sohoni
in Category VSTS & TFS (Azure DevOps)
Abstract: VSTS is an environment for creating and managing software projects. It integrates with Visual Studio 2005 to give a seamless environment to the team members of the development team. This article will give you an overview of VSTS and explore the various components of VSTS.
Introduction to Visual Studio Team System
What is Visual Studio Team System (VSTS)?
VSTS is an environment for creating and managing software projects. It integrates with Visual Studio 2005 to give a seamless environment to the team members of the development team.
Developing any non trivial software is usually a team effort. A team developing such software usually has members playing various roles. These roles consist of business analyst, project manager, software architect, developer, tester and the role to build and deploy software. Microsoft tools prior to VSTS targeted each role separately. Each role had a dedicated tool, for example Software architects used Microsoft Visio to build the model whereas developers used Visual Studio to create the product based upon same model. It is not always that such individual or stand alone tools can work in collaboration with each other. A model created by architect in Visio may not be possible to be imported in Visual Studio. This may result in delays and confusion of manual intervention. VSTS provides an environment which may be considered as a framework of all such tools which are useful to different roles and which work in collaboration with each other. This framework also consists of certain guidelines which provide best practices for software development process. VSTS integrates two such process templates – (Microsoft Solution Framework) MSF Agile and a more traditional MSF for CMMI.
The concept of framework of tools which collaborate with each other, on which VSTS is based, is not new. IBM Rational is the industry leader in this field offering tools like ClearCase and ClearQuest. Other industry leader, Borland, manufactures a product Core SDP which has similar functionality to VSTS but has also joined hands with Microsoft for creating a product called Together, which provide tools for architects and developers and which integrate with VSTS.
Although Microsoft is marketing this product for small-medium teams and projects, it will be more beneficial for the large teams where each team member plays a different role. When the roles are not overlapping the appropriate tools only can be installed. VSTS certainly is not a good and affordable solution for individual developers who work on small projects.
Team project is a collection of various project related documents like functionality requirements, Quality of Service Requirements, Risks, Scenarios and Source Control, Work Items etc. which are related to one logical project. When a team project is created, a repository in SQL Server 2005 is created for all of these in addition to the templates for all documents as well as initial work items like tasks, bugs, risks etc. are also created. The project manager assigns the work items to the users of the team project.
With VSTS, Microsoft has released two process templates. Microsoft Solution Framework (MSF) Agile is a template for conducting the project based upon Agile methodology. This process model is less formal and more flexible compared to the other process model which ships out of box and that is MSF based upon CMMI process. This is formal and restrictive process model with more documents to be created compared to MSF Agile.
Purpose of the process model is to provide the guidelines of activities to be conducted and their order in the software development process. Each of the process models provides activity streams for each of the role configured. Each activity stream consist of discrete activities to be conducted by that role in a order.
VSTS is divided in two physical layers.
A server which provides data repository as well as some application services as webservices is called Team Foundation Server (TFS). Services provided by TFS are Source Control, Work Item Tracking, Automated Build, Project Management, Project Portal and Reporting. TFS uses SQL Server 2005 as data repository for providing all these services.
A separate part of the server is the Share Point portal which is created for the Team Project. It provides the access to various documents and reports over the Internet. It shows the data from a data warehouse which is created for TFS at the time of installation and updated time to time from the main database.
A user may use these services using a client layer. There may be various client applications depending upon the role being played by the user.
A common and base functionality of the client is provided by a component called Team Explorer which integrates with Visual Studio 2005 Professional. Team Explorer allows the user to view team project and all its constituents. It also allows the user to view, create and modify work items. For example a user who is assigned to create a component is assigned a task work item. User will initially view the task assigned to him in the team explorer and set the status of that task to ‘Completed’ once the component is created. Team explorer also allows user to view source control structure and allows user to modify that structure like creating or merging a branch.
Microsoft Project and Microsoft Excel can be used by Project Manager to manage the project. Both of them do the same tasks like creating and modifying the work items, assigning the work items to the users etc.
Solution architect, developers and testers have an edition of Team System for performing related tasks. Solution architect can create Application Diagram, Logical Datacenter Diagram and Deployment diagram. Developer can create code and do unit testing and code analysis. Tester can perform various kind of tests like Unit testing, Web Testing, Load Testing and create manual test script. All the clients collectively are called Team Suite.
Fig. 1 shows all the components of Visual Studio Team System.
Visual Studio Team System provides an integrated approach to software development. It provides a common environment, data to all members of the team at the same time it provides different tools to each team member for working on the tasks which are assigned as per the appropriate role which is going to be played by that team member. Such an environment can provide higher efficiency of the team by increase in collaborative efforts and reduction in duplication of data and data entry tasks.
I hope this article was useful and I thank you for viewing it. If you liked the article, please subscribe to my RSS feed over here.
This article has been editorially reviewed by Suprotim Agarwal.
C# and .NET have been around for a very long time, but their constant growth means there’s always more to learn.
We at DotNetCurry are very excited to announce the The Absolutely Awesome Book on C# and .NET. This is a 500 pages concise technical eBook available in PDF, ePub (iPad), and Mobi (Kindle).
Organized around concepts, this eBook aims to provide a concise, yet solid foundation in C# and .NET, covering C# 6.0, C# 7.0 and .NET Core, with chapters on .NET Standard and the upcoming C# 8.0 too. Use these concepts to deepen your existing knowledge of C# and .NET, to have a solid grasp of the latest in C# and .NET OR to crack your next .NET Interview.
Click here to Explore the Table of Contents or Download Sample Chapters!