The question of when to stop development of a v1 product for a mature market segment is a difficult one. The customer wants/expects all the features of their existing several iterations old product plus new cool things too. However, the time it would take to put all of that in a first version product would be time and cost prohibitive.
On the Team Foundation Version Control forum you will find a number of posts that have the following pattern: “Why is feature XYZ not in Team Foundation Version Control? It seems like such a simple obvious feature”. True enough, but the problem is there are hundreds of these and trying to get them all in there would mean significant shipping delays.
Out of Band Development to the Rescue
The term out of band development refers to the ability of customers or Microsoft to create add-ins, power toys, VSIP packages, etc. that fill the feature gaps between releases of the product. Customers no longer need to wait until the next release to see real value. This certainly is not a new concept, but it is very critical for a v1 product released into a mature market segment. Team Foundation has a very powerful object model/API that can be used to create new value in the product. The proof is in the great work third parties like TeamPrise and TeamPlain have done to fill in the gaps. TeamPlain’s web access to Team Foundation Work Item Tracking fills a major customer need in v1.
In the Developer Division at Microsoft, we are focused on delivering more value more frequently. In my role as developer lead of the version control client team, we have released two versions of the Team Foundation MSSCCI provider since the first version of Team Foundation Server shipped in March. Soon (within weeks) we plan to release a set of very compelling powertoys that stretch beyond the existing command line powertoys that are available in the SDK today to include a couple that integrate well inside Visual Studio (more on those in a future blog). We are using the same mechanisms available to you and all our partners.
So go on, make that idea or missing feature in Team Foundation Server a reality by taking advantage of the TFS object model and Visual Studio extensions. Everyone is doing it, including us :-).
The Team Foundation Webservices and object model is powerful enough for companies like TeamPrise to bring TFS on the Mac and for Eclipse to market