Click Here to Install Silverlight*
Europe, Middle East and AfricaChange|All Microsoft Sites
Microsoft*
Search Microsoft.com for:
The Beta Experience
The Beta Experience - Soon to be final. Be there while it happens.

Officer Voice: Visual Studio Team System Advantages

Published: August 20, 2005

This article gives a personal view of Visual Studio Team System features and advantages from the standpoint of the key technical person in a software development company. The short overview of Team System below is more like personal opinion, than a complete reference. You should consider giving VSTS a trial or reading a book, like Hundhausen’s “Introducing Microsoft Visual Studio 2005 Team System”.

The job of Chief Technical Officer of offshore outsourcing company requires me to ensure that clients are rendered with excellent software development services. In the context of my responsibilities, I consider software projects in three dimensions: communications, productivity of engineers, quality of code and deliverables. These three dimensions are crucial for positive client experience, as they are vital for project success. So my job responsibilities might be described as doing whatever I can to ensure that the team is working productively, communicating right and producing high quality products. Actually, the team should not only reach a certain level, but always continue improving.

Most of the currently used software development processes and methodologies try to facilitate improvement of team performance in these dimensions. However, their focus and approach might be completely different. For example, heavily criticized classic waterfall model, focused on predictable execution of predictable projects, tries to “enhance” communication in its own formal manner. In modern methodologies, like eXP, the endevour to improve communications, quality and productivity will be more explicit. The use of some “right” process might seem as an obvious approach to greatly improve the team performance. The practice differs from theory. For instance, our developers are so tightly and transparently integrated with clients teams that we need to be agile and adapt to the processes, enforced by clients’ management. Thus we can not force all of our developers to use one particular process. There is another approach for enhancing results, which relies on best practices, patterns and other “lightweight” methods.

Design patterns, refactoring, application blocks, unit testing, build management, source control, bug tracking, continuous integration, coding standards, static code analysis… Practices used by the best software teams are not limited to this list. If you have time and good tools, it is a pleasure to introduce these practices. If you don’t, it might become a hard task. Several years ago, the question, which I often asked from Microsoft colleagues, was “why don’t you give us a set of integrated tools, which can make the life easier? why are you paying no attentions to agile initiatives? when will Source Safe become usable in complex projects developed by distributed teams? where is Microsoft Bug Tracking Server? where will round-trip modeling be available in your software development product?”. Finally, my friends at Microsoft got an answer. And the answer is just GREAT. Whether you are developer, project manager, tester or architect working on a .NET project, you will be at least positively surprised by the features of Visual Studio Team System.

Consider VSTS source control system. To say that it is a leap ahead SourceSafe will not be sufficient. Besides the common source control features, which you usually get from the market leading software packages, with Team System you also get an opportunity to set up check-in policies. Have you ever got a frustration of checking out build at morning that does not compile? Now you can set up a policy, which will force developers to test build the project, before checking-in. You can also force them to run unit tests.

In the paragraph above I have mentioned build routine and tests. Both of these areas claim attention. If you are familiar with NAnt or other modern build engine, you can easily get an idea of usability and flexibility of VSTS builds. What may intrigue you is the fact, that VSTS has build management capabilities, reporting and uses the power of one integrated platform. Correspondingly, if you are familiar with NUnit or other modern unit testing software, you may easily picture basic unit testing features of VSTS. But VSTS back pockets are still full of goodies for us. Besides basic unit testing, we get web and load testing, test coverage, static code analysis, bug-tracking, test cases management and tracking. And once again, we get additional benefit of having one integrated platform. Add project management features, Dynamic System Initiative (DSI) diagramming tools, reporting, customizability, integration with MSF for Agile Software Development, available books, support, documentation and education and you will get an idea why there is a buzz around VSTS.

Finally, let me tell you the story. I have already mentioned some tasks done by me, which could have been greatly lightened if I have had Team System. Here is another example of internal project, which often takes resources from the pockets of advanced software development shops. Our company spent time developing Project Portals engine to enhance the communication between distributed team members and to ease the access to high-level project information for project stakeholders. Later Windows Sharepoint Services came into the market and we also spent time integrating our solution with this great technology. With Team System you get analogous features right of the box. Team System‘s Project Portals give you a complete integration with other development tools. You can use it right out of the box, without the need for custom development. In no way I regret investing our resources in those activities. That’s the nature of the industry – the tools and platform gets much better with the time, thanks to Microsoft and other vendors. The morale of the story is that one can hardly imagine .NET development team, which will not benefit from Visual Studio Team System.


©2008 Microsoft Corporation. All rights reserved. Contact Us |Terms of Use |Trademarks |Privacy Statement
Microsoft