Update on Team Foundation Server Roadmap
It’s been about 4 months now since I published the first Team Foundation Server roadmap. A lot has happened since then. For one thing, we’ve just about completed all of the feature work (final feature checkins will be this week). For another, we announced the acquisition of devBiz – which I knew was in the works when I wrote the first one, but couldn’t talk about :(. We’re approaching releasing Beta 1. Not all of the TFS feature work that I describe here will be in Beta 1 – we forked off Beta 1 for stabilization a couple of months ago and have been working on the final features for Beta 2 in parallel. I’ll talk about the full set of features here but try to be clear about what’s in Beta 1 and what is not. You can look here for a broader VSTS roadmap, including comments on Rosario. This post will have a bit detail on TFS than the broader roadmap does, but as last time, I’m not going to say too much about Rosario – I plan on getting detailed about that in another few months. Servicing
- SP1 – We shipped SP1 in December.
- Vista GDR – Was later renamed to something like SP1 Refresh for Vista and was shipped a month or so ago.
- Hot fixes – The list of hot fixes in the pilot program has grown but not nearly to the degree that I had envisioned when we started it. I’m going to renew my push to get more of our hot fixes published for all to see and download.
- SP2 – About a month ago, we made the call not to do a TFS SP2 right now. Our hands have been very full with Orcas and we just don’t feel that we can do it justice. We are looking at doing some kind of a hot fix rollup later this summer instead. I’ll keep you posted.
- Orcas SP1 – Yes, it’s weird to be talking about this now, but… One of the big outcomes of the ruckus we were raising over servicing and customer responsiveness a few months ago was an agreement, for now on, to include the SP1 plan as part of the schedule of every major release. We have historically done them reactively – to customer demand and, because we didn’t schedule them into the plan ahead of time, it was always a stuggle to find the resources to do it. Orcas SP1 is already an official part of the Orcas schedule. Over the next several months (as Orcas begins the glide phase down from Beta 1), we will start planning Orcas SP1 in detail. For TFS, my goal is to treat it like we did TFS 2005 SP1 – a combination of responsive bug fixes, performance tuning and a handful of small features. If you’ve got things that are really important to you, the next few months is the time to let us know. Please understand, it has to be small – an SP cycle is much shorter than a major release cycle.
TFS Power Tools Our grand vision for Power Tools has also suffered somewhat from the demands of completing Orcas. We’ve had some good successes – we shipped an updated MSSCCI provider, the Process Template Editor, the checkin policy pack, enhancements to TFPT.exe and more but we haven’t ben releasing updates as frequently as I had hoped. Here’s an update on some of the stuff still in the pipe:
- Vista Side bar widget – I talked about this last time, and it’s done now. We’ll release it as soon as we can do another Power Tool release.
- Operations tools – I wrote a detailed blog post about these a couple of months ago. Unfortunately, I’m writing these myself and I’m hampered by my limited time to work on them. I’ve got a week or two worth of work to do and I hope to have them ready for the next Power Tool release. If I can just find a few days to dedicate.
- Work item templates – In the prototype phase but still on our list.
- TFS Best Practices Analyzer (new) – A tool that can be run against your TFS server that will help diagnose configuration errors and tuning possibilities. We’re releasing this to our customer support team as a pilot shortly and will release it publicly once we have confirmation that it does a good job.
- VSTS Web Access (new) – There’s been much written about this already but the new Web Access product from devBiz will be released as a Power Tool in the next 60-90 days.
The list has gotten shorter because we shipped most of it and we haven’t rebuilt the list. Over the next month or so, I hope to define what the next Power Tool release will be and develop a schedule for it. Orcas I’ve described Orcas as a “minor” release for TFS but then we just kept adding features to it. In the grand scheme of things, it’s still going to be a minor release but it’s much bigger than we originally thought it would be. The focus is still on addressing key customer feedback and fixing adoption/deployment blockers. I’m going to start with the bad news. There are a few things that we expected to be in Orcas (and I described them in the last roadmap) but had to be cut in order to make our schedule. I’m sure I’ll take a beating for them because they are good features that I really want but they just didn’t make it. We’ll be looking at them again for Orcas SP1 and Rosario. Features cut from Orcas
- Installation on a domain controller – TFS still can not be installed on a domain controller. The only solution I know of is to run a virtual server on the domain controller and run TFS in that.
- Improvements to TFS Trial – I had really hoped to make the expiration experience around trial better but we were unable to get it done.
And on to the the more exciting list of features that will actually be in Orcas… I’ve marked significant additions since the last roadmap report with (new). I’ve marked things that are not coming until Beta 2 as (Beta 2). Administration, Operations & Setup (Beta 2)
- Share Point 2007 support
- Enable use of Sharepoint on any server and any port
- Support for MOSS 2007 (new)
- 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.
- Non-default ports – 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.
- 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. Improvements include eliminating the separate data-tier installation, simplifying the requirements around required domain accounts by supporting the built in machine accounts (like Network Service) where we can, etc.
- Official testing and support for more configurations (new) – This includes clustering, mirroring, log shipping, Virtual machine deployment, and more.
- 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 store build definitions anywhere in the version control hierarchy.
- Scheduled builds (new) – You can schedule builds to happen at specified times.
- Improved build agent communication (new) – We replaced .NET binary remoting with WCF web services, simplifying some configuration and security aspects.
- Ability to run GUI tests as part of a build (new) – Automated builds used to run tests in such a way as to prevent access to a GUI desktop.
- New checkin policy for broken CI builds (new) – Preventing checkin while the CI build is broken.
- Add support for checkin policy overrides to the warehouse (Beta 2) – 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 a preview in the next few weeks and a “final V1” before Orcas ships.
- 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.
- Offine improvements (new) (Beta 2) – We’ve signficantly improved the experience going offline and integrated the tfpt online capability into the IDE for going back online.
- Extranet support for the TFS Proxy (new) – allowing you to access a local TFS proxy with a different set of credentials than the TFS server.
- Command line help (new) – You can now type “tf command /help” and get a console dump of the usage of that command. This is much more convenient than always being launched into the richer GUI hypertext help when you just want to remember what the options for a command are. You can still launch the GUI help by running “tf msdn”. You can get a console dump of available commands by just typing “tf help”.
- Source Control Explorer refresh improvements (new) – This includes less redrawing and reloading but even more important it enables updates based on changes made in other instances of TeamExploror or the command line. That’s right, if you checkout a file from the command line, any instances of TeamExplorer you have running on the same machine will automatically refresh.
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.
- Query builder usability improvements (new) – Drop down filtering based on current project, better MRU lists, column drag & drop, shift-click mouse based multi-column sorting, etc.
- Attachments improvements (new) – Save button, drag & drop for adding an attachment, multi-select for attaching files.
- Tooltips on field names contain the field name used for querying (new)
- Server side support for deleting work items & work item types (new) (Beta 2) – We didn’t have time to do client UI support for it but we plan to release a Power Tool that will take advantage of the new server side feature.
- Adding Web Access UI to TFS (new) – As you’ve seen many places, we acquired devBiz and their TeamPlain Web Access product. We are releasing it as a Power Tool in the next few months and plan to release it as an official product in the Orcas timeframe. We have not figured out how the release date will line up with the Orcas date but it will be in the same general timeframe.
- 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.
Compatibility (no change since last time) 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 As I mentioned, I’m not really going to talk much about this right now. See http://msdn2.microsoft.com/en-us/teamsystem/bb4073… for more info right now. I’ll write a Rosario roadmap post in a few months. In Closing… To a first approximation, this will be the final Orcas feature list for TFS. While I have not included a thorough list of the thousands of small bug fixes/improvements that we’ve made, it represents the big things. I hope it is to your liking and we’re looking forward to your feedback in Beta 1 and Beta 2.