Wednesday, November 01, 2006

VSTS At a Glance

Actually this is a composed of my first post about VSTS.

I have received a request from My friend, sherif Eltony (The ISV Evangelist in Microsoft Eastern Mediterranean) to make this composed version so, it could be read faster and easier.
I hope that it fulfill this requirement:
1-The Visual Studio Team Edition for Software Developers

Nowadays, software development tasks get more complicated. In a complicated development environment, developers need to build their application by easy way in order to be concentrating on the complicated business logic. Moreover, they need some tools that help them to test their applications before delivering it to the testing team.

This Edition empowers the developers with the following capabilities:
-Class Designers: for Building class graphically instead of writing it by code.
-Unit Testing: Generate necessary code for automating the test without the need to make the developer lose his time to make these tests manually. Unit tests can get its test data from a database. This feature can test lots of scenarios at no time.
-Code Coverage: Unit tests can insure that the known scenarios have been passed by the written code. But it doesn’t ensure that the scenarios covered the whole code. Code coverage can show the tested code colored. The fully tested code will be shown one color. The partially tested in a second color, while the not tested code is shown in a third color. This feature can eliminate the bugs that arise after deploying the solutions on the customer side. Moreover it can lead to a 100% tested code.
Static Code Analysis: Static code analysis can help team to write better object oriented code. Better standardized code, better code style that obeys to Microsoft design best practices, ..etc.
Performance Analyzer:
Performance Analyzer can help developer to optimize the performance of their application by reporting which functions are called most of the times, which function take long time to get executed,…etc.
2-Visual Studio Team Edition for Software Testers

This Client is directed to the testers. Using this edition of VSTS tester can perform the previously explained Units testing, Code Coverage, Static Code Analysis, and Performance Analyzer. In addition to that, this edition integrates with separate module which is Load agent module that enables the tester to perform what is called load test. Load tests are very important in order to test how my website will behave in front of huge amount of users. This feature is very important for corporations who build web systems that are exposed to customers for public on the web.
3- The Visual Studio Team Edition: Software Architect:

The problem that usually arises for architects is that each of the two architect types (Application, and infrastructure) works in an isolation of the other. The Application architecture may build his application to work on certain operating system (e.g. Win2003 SP1) while the infrastructure architect is not designing his network for this operating system (Use Win 2000). This may lead to a lot of deployment problems that couldn’t be caught before the deployment time. Problems of this kind may lead to disasters that may result in the whole project failure. The Visual Studio Team Edition for Software architects solve the architectural problems like this by empowering the architect with a graphical designer that make both architects capable of building his architecture graphically and then validate both of them based on the other.

Visual Studio Team Edition for DB Professional

Actually, this is the most recently released version of VSTS edition. This edition is delivering a broad range of capabilities to the database professionals. This includes:
Managing Database Objects and Schemas as Version Controlled Items
Importing Schemas from a existing DB
Comparing Schema changes
Generating Data
Compare Data between Different Data Sources
Generating DB Unit Tests

4-Microsoft Team Foundation Server
The team foundation server is the server through which all clients can communicate. For project managers it is very important to utilize the Team foundation Server (TFS) capabilities. These capabilities permit many important features for the team this includes:
Source and Version Control
This enables more control over the source code. This control can secure the source code in a centralized secured server, not on the client computers of developers.
Check In Policy
The Project Manager can define polices for all work that will be performed by certain team within certain project. This may include not being able to upload the source code unless passing certain tests. Moreover, it can enforce developers to apply design best practices to their code.
Build Automation
By this feature, the team can have at each night a complete build for the project that yields to a stable version of the system everyday. Build history reports are generated too.
Team Reporting
The Team Foundation server empowers the project manager with more control on the team by presenting a large set of predefined reports about the project status, remaining work, number of bugs,….etc.
Work Item Monitoring
Each Work Item could be tracked by means of its status. Who has gotten assigned with? Whether is it bug, risk, or regular task?
Team Portal
Once a team has been created on the team foundation server, a new portal is automatically generated to enable different members to communicate together. The Portal contains the required documentation, and the project status reports.
Process implementation
Team foundation Server can help the team to apply the MSF CMMI standard process to be able to get certified as CMMI team fast. It provides them with the documentation.
Extensibility capability
Tam foundation server is open for process modification. If certain team has different process than the MSF process to apply, the team can define the process by simple way.
Moreover, if the project manager needs to see more reports about the performance of the team, it is not a hard task to build his own extra reports.

Microsoft Excel and Microsoft Publisher Support

Excel and Project are the 4th, and 5th clients that could work within the Team System. With their easy to use interface new assignments could be granted for different team members.

Conclusion

Visual Studio Team System (VSTS) can help any software team by the following ways:

1-Empowers the manager with a good control level on what is going on the project. This happen through delivering a rich status reports about the project tasks

2- It helps the team members to increase the quality of their products by applying advanced testing techniques. e.g. Units tests, Web Tests, and Load Test

3- It helps to increases the overall team quality by enforcing process standards that can lead to getting certified as CMMI.

4- It increase the productivity of the overall team by establishing an automated communication channels between them subsequently saving their times to perform their architectural, development, and testing tasks.

5-VSTS is the least product by means of cost and Total Cost of Ownership (TCO) in comparison to other tools of other companies (i.e. IBM Rationale Clear Case Suite).

No comments: