WHAT'S IN THIS CHAPTER?
Getting started with the client object model
Exploring the server object model
Building server plug-ins
Exploring other extension options
From the very start, Team Foundation Server was built to be extended. Microsoft acknowledged that it would never be able to build all the different features and functionality that customers would want. The philosophy was that Microsoft's own features should be built upon the same API that customers and partners can use to build additional features.
This proved to be a very wise design choice, and has led to a thriving ecosystem of products and extensions. Following are some examples of this ecosystem:
Microsoft partners have built products that provide rich integration with products such as Outlook and Word.
Competing and complementary Application Lifecycle Management (ALM) products have been built to integrate with Team Foundation Server.
Consultants have leveraged the APIs to fill gaps to meet their client's very specific requirements.
The community has built and shared useful tools and utilities for performing common tasks.
The Visual Studio ALM Ranger community builds tools and solutions that address common adoption blockers and pain points.
Microsoft itself builds the Team Foundation Server Power Tools to address gaps within the product outside of the normal release cycle.
Perhaps the two most successful examples of the extensibility model (and people leveraging it) are the products ...