Team Foundation Server Roadmap
I’ve been hinting at this coming for while now. I think I promised it would come out in Dec and here it is on the last day of Nov :). I hope this is helpful to you in knowing where we are headed and also in giving us feedback on where we are missing the boat. Please share with us any feedback you have. We are working on getting specs for more of this stuff published on the VS specs site here. My goal is for us to publish one spec every week or two. We’ve got two up there now and we working on more. I’m expecting that most of the Orcas functionality will start showing up in CTPs in the Feb timeframe.
I look forward to any feedback that you have…
When I think about the TFS roadmap, I think about 3 different categories of things:
Servicing – These are Hot fixes, Service Packs, etc that fix bugs and add new capabilities to versions that have already shipped (today, that means TFS 2005)
Out of Band releases – We call them Power Tools (used to be Power Toys). These are add-on tools/utilities that enhance the value of already shipped products without actually modifying them directly.
Major releases – These are the big new releases. The next one is called Visual Studio “Orcas”. In parallel, we are also actively developing for the release after Orcas, which I’ll describe at a high level.
- Hot fixes – We do hot fixes on demand as customers request them. We are working on a plan to start publishing all of our hot fixes so that customers can review what is available and download what they want. This will give more visibility to available fixes and enable customers to eliminate problems before they happen.
- SP1 – SP1 is already in Beta and will be released soon. For TFS, it includes approximately 100 bug fixes and a sprinkling of new features, including Work item custom controls, “Extranet support”, Office 2007 support, some perf & scale improvements, detailed merge history and the ability to move SQL2005 Analysis Server to a different server.
- Vista GDR – This is what I am calling the set of fixes Soma talked about when he announced the availability of the SP1 beta. These fixes will allow VS2005 to support Vista and will likely include a roll up of hot fixes, etc between SP1 and the Vista GDR.
- SP2 – There is some discussion of doing a TFS SP2 in mid 2007 but no decision has been made yet. There’s no particular compelling need for it at the moment but rather we are trying to establish a cadence of delivering fixes and improvements. We’ll be deciding over the next 2 or 3 months whether or not to do it, but since this is a roadmap, it seems appropriate to let you know we are considering it.
TFS Power Tools
So far our Power Tool releases have been popular and we plan to continue to use them as a vehicle for delivering new value to customers every few months. We don’t plan them way in advance – generally only 2 to 3 months ahead of time, so I can’t give a clear long term vision of where we will go with them. They are designed to be a very customer responsive way to deliver value, so we’ll be using them to deliver the things you want most (and don’t require us to change the core product bits). We’ll likely continue to deliver cool end user functionality as we have (like Annotate, the TFS MSSCCI Provider, Tree Diff, etc). We are also looking to expand the Power Tools to include some features for project managers and operations staff.
With that context, here are some things we are looking at doing in the near term:
- Vista Side bar widget – We’re building an easily accessible way for keeping up to date with what’s going on in your projects as a Sidebar tool.
- Operations tools – We are pulling together a set of tools we use internally for server monitoring, capacity planning, performance tuning and problem diagnosis.
- Process Template Editor – A tool to provide UI for authoring work item types and some of the associated Process Template components. Over time we expect this work to be folded into a Major release but we’re not sure when.
- Checkin policy pack – We’re looking to create a set of handy checkin policies to address needs customers have expressed.
- MSSCCI Provider Improvements – Every few months we release bug fixes and other enhancements to the TFS MSSCCI provider. We have another release coming in Nov/Dec that will add support for TOAD (Tools for Oracle Application Development) and branched projects. We’ll continue to expand the list of supported IDEs and add small features.
- Report pack – We’ve accrued a portfolio of additional cool reports that we’ve built. We’re planning on releasing these as samples that customers can use and customize.
- Work item templates – We’ve built a cool feature for internal use that allows you to define pre-filled out work item templates to reduce the amount of data entry for every new bug that you enter.
- And this is just a start – expect more stuff every few months.
Overall, Orcas is a “minor” release for TFS. Partly this is mandated by the fact that TFS shipped later than the rest of VS in the 2005 wave. We want to sync back up for the Orcas wave and that means doing less. Our goal for the Orcas release of TFS is to make it an “adoption focused release”. We are allocating most of our time to removing issues that customers have told us hamper their adoption. As a result, in the feature list below, you’ll see an emphasis on administration, operations & setup. Features in other areas are also focused on removing adoption inhibitors. The biggest “new scenario” we are aiming to enable in Orcas is out of the box Continuous Integration. In the release after Orcas we will turn our focus back to enabling major new scenarios.
A while ago, we committed to begin sharing specs with the community early in the process for people to provide feedback on. We’ve been working out the logistics for that. In the mean time we’ve been using the Power Tools and blogs to preview what we are doing. In the next few weeks, we are going to being trickling a few specs to the web and I expect that will accelerate over time.
Here are the TFS features that we currently believe will be in Orcas. Please understand that this is not a commitment to do these. As with any software product, features are reprioritized over time to meet delivery criteria, which means plans can change. However, this is our best effort to predict what will make it. We’ve got a few other things in the oven that I’m not quite ready to talk about yet.
Administration, Operations & Setup
- Share Point 2007 support
- Enable use of a separate Share Point farm.
- Support for SQL Named Instances – This will allow customers to share a SQL server between multiple TFS instances, or with other applications. This has been a commonly requested feature by enterprises.
- “Longhorn” server support – TFS will support the next version of the server (and corresponding new version of IIS) that is currently under development.
- Sync Large Groups – This is a set of work to improve the performance and robustness of TFS’s handling large groups of users (~30,000 or more) granted permission to a TFS instance. Today this can result in a support call to recover from it.
- Installation on a domain controller – TFS will support installation on a domain controller. This has been a fairly common request from smaller organizations who don’t have the budget for special purpose servers.
- Improvements to TFS Trial – We’ll plan to improve the trial experience to include warnings as expiration approaches.
- Non-default ports & web sites – We’ve gotten a bunch of feedback from enterprise customers about TFS’s limited support for alternate web sites and ports running afoul of data center policies. We are going to be improving TFS’s configurability in this respect in Orcas. We won’t be getting everything everyone has asked for but we should make some significant progress.
- Simplify installation – In Orcas, we will be doing a variety of things to attempt to make installing TFS easier and quicker than it is now. The most significant of them is simplifying the requirements around required domain accounts by supporting the built in machine accounts (like Network Service) where we can.
- Support for client certificates
- Upgrade from TFS 2005
- Support multi-threaded builds with the new MSBuild.
- Continuous Integration – There are many components to this, including build queuing and queue management, drop management (so that users can set policies for when builds should be automatically deleted), and build triggers that allows configuration of exactly how when CI builds should be triggered, for example – every checkin, rolling build (completion of one build starts the next), etc.
- Improved ability to specify what source, versions of source, and other build properties.
- Improved extensibility of the build targets – such as ability to easily execute targets before and after each solution/project is built.
- Improved ability to manage multiple build machines.
- Stop and delete builds from within VS.
- .NET Object model for programming against the build server.
- Simplified ability to specify what tests get run as part of a build.
- The ability to story build definitions anywhere in the version control hierarchy.
- Add support for checkin policy overrides to the warehouse (an oversight from V1).
- Migration toolkit – Orcas will include a toolkit for building conversion and mirroring solutions between TFS and other systems. In addition, we will release one or more new tools to integrate with popular alternative systems. We expect to release some of these on our Power Tool train before Orcas and will roll them into a post-Orcas release.
- Annotate – This is based on the TFS Annotate Power Tool but includes numerous improvements.
- Folder Diff – Also based on the TFS Tree Diff Power Tool with numerous improvements.
- Destroy – The ability to permanently delete version control files/folders from TFS. It can also be used to destroy the file contents while preserving the change set history.
- Get Latest On Checkout – There have been many requests for this feature (which was a change in behavior from SourceSafe). There is now an option that allows you to specify that you want TFS to download the latest version of files when you check them out.
- Workspace improvements – Workspaces will now support mapping a folder or file under a cloaked folder and wildcard mappings so that you can map all files in a folder without mapping sub folders. Based on experience with large projects, this will simplify workspace definitions for many people.
- Performance improvements – A variety of Version Control performance enhancements that will improve virtually all aspects of version control performance. The gains for smaller servers/projects (< 10,000 files) will be modest. The gains for larger projects (particularly where the file count approaches 100,000’s) will be substantial.
- Scale improvements – Fixed out of memory problems on the server when operating on more than a few hundred thousand files at a time.
Work Item Tracking
- Performance & Scale improvements – A variety of improvements that will make both the work item server and client faster and able to handle larger servers.
- In addition to all of the feature work, we’ve spent months testing the product and fixing any bugs we’ve found. We expect Orcas will have even better stability and robustness than TFS 2005.
As Orcas is an adoption focused release, we have put a lot of emphasis on compatibility with VS2005. We are striving for near 100% compatibility. The Orcas client will be able to work with a VS2005 server and a VS2005 client will be able to work with an Orcas server. There are only a few compatibility issues.
- Client side VS add-ins will need to be recompiled (or have policy changed) because the TFS OM assembly versions will change and add-ins will need to bind to the new assemblies. The APIs themselves are generally not changing, so we don’t expect much in the way of code changes – just recompilation.
- Build is the only area where we plan to have some compatibility disconnects. In general, most build operations – listing build definitions, starting and stopping builds, examining build reports, etc. will work both with 2005 client -> Orcas server and Orcas client -> 2005 server. However, here are a few caveats:
- An Orcas TFS server will only work with an Orcas build server – so you’ll need to upgrade your build server when you upgrade your TFS server.
- For an VS2005 client to start a build on an Orcas server, the build definition needs to be stored at $/<TeamProject>/TeamBuildTypes/<name>. In Orcas, you have more flexibility as to where to put them.
- Changes made to properties in the .proj file that are in the database in Orcas will not be updated in the database and will no longer be in sync.
- VS2005 will be able to start a build, but it can’t queue a build, see the list of builds in the queue, see the list of build agents, etc.
- An Orcas client will not be able to create a new build definition on a TFS2005 server.
- When starting a build, an Orcas client will not be able to change any parameters in the dialog for a TFS2005 Server.
The release after Orcas
I’m not going to talk much about post Orcas details and I’m certainly not going to speculate about dates. At this point we are mostly talking about post Orcas work in terms of “value propositions”. Value propositions identify scenarios or capabilities that we want to invest in. The set of value propositions that we choose for a given release are based on a great deal of customer feedback (forums, blogs, advisory councils, sales engagements, customer research, etc) and our strategic direction. Before talking about the value props that we’ve identified for the release after Orcas, let me say a few words about our strategic direction.
We continue to see TFS as the center of team collaboration and partner extensibility as we grow the breadth and depth of the team. We will focus first on completing our coverage of Application Lifecycle Management (ALM), as it is broadly understood. This covers the span from requirements elicitation to testing signoff and integration with deployment and operations, and includes the capabilities that you see today in VSTS for architecture, testing and database and code development. We’re not going to do this all ourselves, but will focus on the core collaboration platform and continue to expand the extensibility for partners to round out the complete solution. As we tackle ALM, we realize too that app dev team often works in a broader organizational context, with workflows that involve the PMO and Operations. We’ve taken small steps so far in enabling those workflows and will improve the integration with each future release.
With that context here are our top priority value props for the release after Orcas that will fill in the next step in that vision.
- Collaborate with remote, distributed, disconnected and outsourced teams
- TFS administration
- Trace work, conduct impact analysis and report status against requirements, builds, tests and code.
- Manage work across multiple projects
- Enable incremental adoption of portions of TFS, e.g. by converting from and mirroring with other source control / work items systems or allowing integration into other build/release processes.
- Improved configuration management including new ways of visualizing and managing change in the system and automating more of the build and deployment process.
This isn’t to say that VSTS doesn’t already enable these scenarios to various degrees but these are big picture areas where we plan to drive new investments and further improve the capabilities we have. This is not a feature list but rather high level areas of investment. As we get a bit further along, we’ll begin to talk about features that deliver on the value propositions.
In addition to these value propositions, we will continue to invest in making the basic feature set better – better integrated, easier to use, more extensible, faster and more capable.
We have already begun development for our post-Orcas release. You might ask why we are developing two releases in parallel. The reason is that Orcas is a fairly tactical release for TFS on a shorter schedule. To achieve that and also be able to do some of our longer term architectural innovation, we decided to build portions of each in parallel. I hope to begin talking about the feature set in more detail within the next several months.