2010 Feature Preview for TFS : VSTS 2010
I am in the TFS 2010 cool features talk at PDC with Brian Harry. I’ll stream notes into this post, but please be aware that this discussion focuses on Team Foundation Server, not the full compliment of tools that make up Team Suite.
Also important to note is the significant size of this release. True to form for any given significant software product, version 3 (in this case 2010) is a tremendously significant release. Team System is a good example. The 2010 release will be HUGE. Brian Harry notes that it takes about 8 hours just to demo all the new features.
OK, onto the conference bullets you have come to expect from my fly-by conference posts.
- There is a high degree of focus on improving the story of TFS for large enterprises. This is a little conc
- Team Build
- Gated Builds
- Gated check in allows a build to run and tests to pass BEFORE the check-in is committed to the SCC tree.
- New Build Definition | Trigger | Set as Gated Build
- Build Agent Pooling
- Define a pool of build machines instead of individual build servers. This feels a lot like pulling your build machines from the cloud.
- New Build Definition | Build Defaults | Build Agent Properties.
- Wow, this is impressive. I can configure multiple build agents per machine.
- Build agents may be tagged with their capabilities. This allows a build definition to say, "Only build on a build agent running on this OS, or with this COM DLL installed, etc."
- Can specify a collection of Test Lists to run as part of the build definition.
- Build Workflow – Wow
- New Build Definition | Process
- Define the build in a visual designer with customizable targets. Think Final Builder here. No it isn’t all the way there, but this is a nice start. It is basically a visual editor for the team build script.
- EX: Copy Outputs to Drop Location.
- Parallel Activity: Allows me to build 2 different ways on 2 different build agents (among other things). For example I want a single build definition to build for Debug and one to build for Release, each build occurring on a separate build agent. Done. And I only labeled once. Nice. And each one has its own drop location (of course).
- Retention Policy: Define what will be deleted when a build fails: the bits, label, the test reports, etc.
- Rollback. Thank you.
- Branches are first class citizens. Not just another folder visually. Nice. Branches have lots of meta data on them.
- Annotate now tells me what branch a merged change came from. This is a big deal for many regulated customers.
- I can see the history of a change set across many merges to see where it really came from. This is cool, but Track Change Set actually shows me a nice visual graph of how the branches relate to each other in time and as parent/children. Sweet.
- This trend of visually modeling information is powerful and promising.
- Viewing a conflict no longer results in a modal dialog. Now conflicts are seen as pending changes, which allows me to iterate through them and examine code while looking at the conflict item itself. Handy.
- Work Items
- Linking them together is no longer horrible.
- AND THE RELATIONSHIPS ARE HIERARCHICAL!
- Hierarchical Work Item relationships.
- Hierarchical Work Item relationships.
- And round tripping through MS Project works. Yes!
- New Agile process template. This is no longer MSF, and by golly it just might work.
- Rich text formatting capabilities in all text area type inputs on work items now.
- Excel integration in much nicer, showing hierarchies and allowing a persisted worksheet to hook back up to TFS cleanly.
- I can query against hierarchies. The sample query was "Show me all User Stories with no associated Test Cases." There is a lot implied in that query and all of it is goodness.
That’s a lot of bullets, but it’s a big product. This set likely doesn’t scratch the surface of what’s coming, but it does show that the product team is addressing many of the most painful things that team’s deal with today.