We have just released a CTP demonstrating integration between Team Foundation Server 2010 and Project Server 2010 (the final product will also support Project Server 2007 but the CTP is 2010 only).  This CTP is provided as a Virtual Machine and is not intended to be used in a production environment.  The integration work is not yet complete but there’s enough that it’s very much worth it for us to get some feedback.  I think there’s a few months of development work left to be done and then we’ll ship a Beta as soon as we can.

You can download the CTP here: http://go.microsoft.com/fwlink/?LinkID=196413

And you can give feedback on our new Project Server integration forum: http://social.msdn.microsoft.com/Forums/en-US/tfsprojectsrvint

You will find the VM is already populated with some sample data and there are some walk-throughs that have been designed to show you how the product works.  To use the walk-throughs, you’ll need to log on to the VM as the appropriate user (so you can see the right sample data for the walk-through).  Here are the walk-throughs and associated accounts:

Walkthroughs

User

Password

Domain

1 - Real-time project status for the PMO

linaa

pass@word1

CONTOSO

2 - Agile teams are no longer black holes

jeffh

pass@word1

CONTOSO

3 - Set the dial on your project plan details

karif

pass@word1

CONTOSO

4 - Resource visibility for the PMO

markoz

pass@word1

CONTOSO

 

Project Server Integration Summary

Why are we doing Project Server integration with TFS?  Well for a lot of reasons.  First, Project Server is a scheduling engine and is a great tool for managing projects of all types across an enterprise.  It also includes some great portfolio management capabilities and can help you from business need/value assessment all the way through execution.  TFS, on the other hand, is an ALM server for helping manage the software development process.  Together they make a great solution for managing your IT investments.

When we look at software development teams that use Project Server, we find that there is a big gap between the Project Management Office (that is usually driving Project Server usage in the enterprise) and the development teams.  They often think about things very differently - waterfall vs iterative.  They often work at very different granularity – the PMO wants very coarse grained project data and the development team wants to break everything down into 1 to 3 day tasks.  And they use very different tools for their work – the PMO uses portfolio management tools and the development team uses an IDE.  The result is a ton of manual effort trying to coordinate the two sets of data in two different tools and very poor visibility into the project status – in short a lot of wasted time.

Our approach with Project Server/TFS integration is to enable everyone to use the tools they like, work at the granularity that is comfortable for them, but share information pretty transparently.

  • Up-to-date project status and resource availability across agile and formal teams
  • Project managers track high-level requirements, while team leads manage the details.
  • Project managers live in Project Server which supports their workflow, while team leads live in TFS which supports their workflow

To help make this more real, the CTP includes 4 walk-throughs to demonstrate these principles in a few interaction scenarios.  They are:

  1. Real-time project status for the PMO
  2. Agile teams are no longer black holes
  3. Set the dial on your project plan details
  4. Resource visibility for the PMO

You’ll find that the 4th one “Resource visibility” is rough (you have run a whacky script to enable/disable it).  The development work for resource visibility is not finished yet.  In fact, it wasn’t planned for this CTP but we decided we could get it working enough that people could get a feel for it and give us feedback on the user model.

Please check them out and let me know what you think.

Adoption in Microsoft IT

One of our checkpoints for getting ready for this CTP was deploying a running instance for a team in Microsoft IT to start using.  It was a litmus test that the software is ready enough to show the world.  So, while it’s not quite ready for you to go live, we have one team internally that is live on it and our plan is to make it available for everyone to go live when we ship a Beta.

Preparing for the CTP, I asked the internal MSIT team for some feedback on their experience with Project Server/TFS integration so far.  I’ve included it here verbatim so you can see what they think about it so far:

We have been extremely pleased with the functionality around the connector – especially when it comes to the rollup features to track task completion.   Here’s a quick rundown of the good and bad.

The Good:

  • Once the association of the task is made with the work item, the system does a great job in keeping the two in sync – saving a ton of time between the PM and the team.
  • There is traceability in seeing what updates were made in TFS via the history which is handy
  • It helps eliminate a lot of noise out of the schedule that used to have to be managed there if you wanted the aggregation
  • The rollup calculations are awesome :)

Opportunities:

  • Workflow for creating tasks is limited to needing to create in the project plan first and sync over to TFS – which can be an annoyance when working in an existing project that already has a product backlog.
  • Really would like to see the TFS ID in Project (I think this can be done so not a big deal)
  • The resource mapping limitation is a real pain (i.e. how you have to have one resource in project mapped to one resource in TFS although the subtasks are assigned to multiple).

External Factors influencing the experience:

  • Getting over the changes of Project 2010 can be frustrating for a user who used 2007 and is now using 2010 with the connector due to behavior differences.
  • If resource changes occur in either project or TFS, it sometimes has weird impacts on the task updates (would probably need to further repro to understand those impacts).
  • The PWA approval mechanism only allowing one person to be able to approve submissions can be a pain when 2 PMs are managing the schedule.

You’ll see a couple of references to roll up here.  As part of the TFS 2010 Project Server integration, we are also adding some new core TFS features.  One of them is roll up by work item hierarchy.  With this version you will be able to, for example, have the cost of a task equal the sum of the cost of its sub tasks and that information will be kept up today by TFS automatically.

As you can see, we’re accelerating their move from Project Server 2007 to Project Server 2010 (because we haven’t finished 2007 support yet) and they are experiencing a little transition pain.  I’m sure it will go away as they get used to the new environment.

The issue with resource mappings is the unfinished feature in the 4th walk-through I talked about above.  MSIT doesn’t have that yet – you are getting a peak at it before they do :)

 

Summary

We’ve been working on TFS <-> Project Server integration for a long time now.  Originally it was going to be part of TFS 2010 but in early 2009, we realized that we were not on track to get it finished and made the painful decision to suspend work on it for a while so we could focus on the work that would ship in TFS 2010.  As we approached the release of TFS 2010, we picked back up the Project Server work and are making good progress.  Please check out the CTP and give us any feedback you have.  I expect this will probably be the only CTP we do before we ship a Beta and then we’ll release it when we have sufficient feedback to convince us that we have a winner.

Thanks,

Brian