Team Foundation Server SDK question

Team Foundation Server SDK question

  • Comments 14

If you know about Team Foundation Server, then you might know there is an Extensibility Kit that ships as part of the Visual Studio 2005 SDK. I am Francis Langlois, the lead technical writer for the Team Foundation Server SDK, which is under development. In the Team Foundation Server SDK, we will take parts of the Extensibility Kit and expand on it.

The Visual Studio Team Foundation Server SDK includes documentation and samples to help develop products that integrate with Microsoft Visual Studio 2005 Team Foundation Server. You might use the Team Foundation Server SDK to build add-ins and integration components that ease your transition to Team Foundation Server. Or, you might be a developer tools vendor, an independent software vendor (ISV), or another type of solution provider.

My question to the user community is this: What do you want in an SDK? Specifically, what do want from the code samples? SDKs tend to ship code samples that follow one of two models. We'll call them: The Whole Enchilada and Crawl/Walk/Run.

The Whole Enchilada

This is one big sample that is comprehensive. Sometimes, it’s called an end-to-end sample. This is the idea that we can show you how everything works by building one big sample that does a little of everything and exercises the API fully. You can then make your sample like this one.


This is more the approach of first making a simple (crawling) sample (for example, hello, world). Next, we add a little more complexity (walking, for example, I/O + algorithm + data structure sample. Then, we give you an even more complex (running) sample, adding layers until you are extrapolating from the sample and creating as you see fit.

Which of these suits you?

Francis X. Langlois
Team System Documentation - Microsoft Developer Division

Leave a Comment
  • Please add 7 and 3 and type the answer here:
  • Post
  • I want to build an eclipse plugin (I know there is a commercial one out there). I think most of the TFS API is exposed as webservices. I would like small samples that show different functionalities of the SDK.
  • One of my colleagues in Team System documentation, Fran Langlois, is seeking your feedback on how...
  • I think I prefer Crawl/Walk/Run method as long as you truely get to the run stage.
  • The whole enchilada approach means you really have to understand the whole enchilada just to write your own refried bean. I think the "Hello world" approach is best suited for beginning programming. You're targeting reasonably advanced programmers with the VS extensibility topic. I would like a "Walk/Run" walk-through approach to stand-alone samples; with simple, realistic, and useful, real-world examples (e.g. not a "hello world" example). E.g. start with an example that is actually useful and walk through each step of how to create the add-on. What's nice about this approach is the reader can simply change the code in certain steps and they've got their own add-on. This approach also means the reader can start with any sample (the one that best suits them) and go from end-to-end. If then then start looking at another sample, they can easily skip past the areas that they already understand and concentrate on the differences. And it might be useful to have samples like this for each target scenario: developer add-ins, transition helper, tools vendor add-in, ISV add-in, etc. As for SDK documentation; I really like it when there's at least a few lines of example code using the method/property--it's worth a thousand words.
  • Hi Francis I liked the Crawl/Walk/Run in the prereleased SDK. Maybe a little more API documentation would be nice :-) Regards Christian
  • Hi, TS is a complex beast and can be used in many different ways. So I would prefer a Crawl/Walk/Run method highlighting each major component. Then the appropriate component mix can be selected. If you go The Whole Enchilada route then that only works well for one configuration. You should start with the out-of-box, "default configuration" and use Crawl/Walk/Run to modify a feature (a work item and some customer queries for example) for different scenarios. The nice thing about this approach is this is how we will all be seeing the product for the first time. If you start with a pre-configured sample it will not match the out-of-box setup and then it's difficult to see what else needs to be included for live deployment. Out-of-box should *be* the sample. The nice side effect of this is that the out-of-box experience will receive additional focus... I suppose Best regards Steve
  • Hi Francis, I would prefer having both models, "The Whole Enchilada" & "Crawl/Walk/Run". "The Whole Enchilada" is great for the first time intro to TFS, whereas the "Crawl/Walk/Run" is great for solving problems that you have right here,right now. HTH, Gert
  • I prefer the CWR approach. I think the WCF samples are a good exampe of this. They provide samples in a variety of scenarios. I seldom study the end-to-end samples completely. I use them to see how they solved a specific problem. I do, however, like to be able to install Starter Kits to see how they work. ++Alan
  • 'The Whole Enchilada' often works best when it's comprehensive and gives reasons for choosing specific ways of doing things (or for NOT doing things), but only when it is truly end-to-end. This is the preferred model for us, since often our extensions have a lot of specific stuff.

    The 'hello world' samples are often of very little use because they don't deal with a lot of the common 'gotchas'.

    Just my two cents.
    Keep up the good work (!).
  • Hi! I would like to know how I can insert new work items through code. We need this feature to allow other departments to create work items through a web interface. I haven't found in the SDK documentation and object model a way to do this. Can you please help me? Thank you a lot for the attention! Cesar Mello
  • Definitely the crawl-walk-run: unless you can make the Enchilada match my exact scenario, it's more trouble that it's worth to find the parts that are useful. Ideally I want building blogs that I can re-assemble into my project...
  • Huge apologies for not addressing the comments in the past. I had no idea they were essentially stuck in a pipe waiting for me to apply the metaphorical 'snake' to it.
  • Guys,

    We are migrating from VSS to TFS.

    VSSConverter worked as expected.

    We have an APP that uses VSS API. Now we´ll need TFS API.

    Do you know where can I download it ?



  • Hi Rogerio, You can download the VS SDK (That includes the TFS API) here:


    Q - the document writer.

Page 1 of 1 (14 items)