Projects in Team Foundation
Hi all:
My name is Kevin Kelly, I’m a program manager on the team bringing you Team Foundation. I’ve been on the project from the beginning, which partly explains why Ling has asked me to comment on the notion of “Project” for you. First a quick review of the taxonomy of Team System
Team System is a brand that helps us label a new packaging of server and client applications shipping in the next release of Microsoft’s tools. At Team System’s heart is Visual Studio, the integrated development environment which most of you know and use. That’s the client bit. The big news (well if you ask me anyway), is the introduction of the server that we’re branding as Team Foundation. Ling and Lori have already described them in their posts so I won’t belabor the details here. Just remember that at a very high level and for this sake of this entry:
Team System = Visual Studio + Team Foundation.
Lori and David Chesnut wrote an article last spring that details their thinking behind features going into Team System to support the project manager. Some of the terms have changed, as you’ll see below, but the gist of the article still applies and gives you a good background in where we’re trying to take this product to help the project manager.
As you read this you have access to some current bits, we call them a “Community Tech Preview”. If you download, install and get the build working you can begin to play with some of the features. One of the first notions you’ll run into is Team project. At this point, many people ask “What’s the difference between a Team project and Visual Studio projects?” And now you’ve run smack into one of our design conundrums. Visual Studio has had a very specific notion of project built in from its beginning. The Visual Studio project is a container for assembly solutions which in turn are the container of source files. The scope of the Visual Studio project is a collection of assemblies and their sources. The terminology and object model for projects and solutions are baked into Visual Studio. Team System introduces a different meaning for the word project.
The Team Foundation “Team Project” maps to how the whole organization might see the development effort. To be specific Team Projects include all of the following:
- Source code tree under version control;
- Master build script governing the formal release build process;
- Planning and specification documents;
- Work item database. This is the bug database, super-sized to include work item types useful for managers using MS Project, for example;
- Status reports, trend analysis and analytical reports; and
- Project portal, for communicating announcements, schedule and other project debris.
So, as you see, the Team Foundation project has a much wider scope. We played with different names to find a way to distinguish the two notions more clearly. In the end we’ve left Visual Studio projects untouched, they’re the same as they’ve been for 4 generations. And, we’ve settled on “Team project” as the moniker for the Team Foundation project. We’re betting that the name collision is workable. I would love to hear comments on this.
You’ll see Team project appear in new features of the Visual Studio environment:
- Project creation wizard, as the name implies, is the tool for generating a skeleton team foundation project.
- Team Explorer, is the mechanism for navigating all the parts of a team project.
- Integrated configuration UI allows you to set Team Project metadata and permissions.
We’ll queue up some posts on all of these in coming weeks.
In our use, we’re finding that Visual Studio projects keep their historical value for organizing solutions and sources. When we’re working in the code we’re not operating at the Team Project level, so we push that UI out of the way. Vice versa, when we’re operating with data about the whole project, we’re usually not burrowed into the sources for a particular assembly, so all of that edit/debug UI is pushed out of the way. As you try out the new features we’ll be listening for your reactions on this.
Finally, here’s a pitch for some other sources of information. Some of us are lurking on the ms newsgroups
Microsoft.Private.Whidbey.TeamSystem.TeamFoundation.
Don’t be shy about posting, we’ll do our best to help you out. My colleagues, John Lawrence and Brian White, are active bloggers, and posting snippets of wisdom for working with the latest releases of Team Foundation. Check ‘em out!.