Pulling the development and the project management worlds together into a single view has long been regarded as the killer feature of the Microsoft IT work management world. For evidence of this, check out this link to the 2007 Project Conference keynote where Steve Ballmer himself was on stage helping demo the new (at the time) connector with Project Server.
Needless to say, Microsoft has made great strides since 2007. The version of the connector released for 2010, well, just worked. It was a bit of an effort to install (usually due to security configurations), but once you got it working, it could plug along happily. That is still the case with Project Server 2013 on-premises…..but once you start talking about the cloud based world, it becomes a bit murky.
At the time of this writing, Microsoft offers Project Online, a hosted Project Server service and Visual Studio Online, a hosted Team Foundation service. This means that we regularly run into customers that have Project Server, Visual Studio, or both online. The question inevitably comes up about whether any of the online options can be integrated with each other – or with on-premises installations.
This post is intended to run through the various options and provide recommendations:
Out of the Box Server – Server Integration
Currently, the downloadable integration pack only works to link Project Server on-premises with TFS on-premises. Note this pack is downloadable from MSDN Ultimate. I’m pretty sure it’s the same pack for both Project Server 2010 and 2013, but let me know if you find out otherwise.
This option is definitely the recommended option if both TFS and Project Server are on premises.
Project Desktop Integration with Team Explorer
This works reasonably well, although it assumes your project managers are scheduling within the Microsoft Project desktop application and not using the Web based scheduling feature. Essentially, you download the free Team Explorer add in, which then adds a tab to your Project installation.
When updating tasks in Project, click the option to Publish, and the tasks appear in your TFS (online or on-premises) instance.
I was able to create a Visual Studio Online tenant and link it to my project in a couple minutes. Admittedly, this is not a seamless integration:
- It requires use of desktop scheduling (which – to me – is not a major issue. I live in the desktop scheduling tool).
- It requires a couple extra steps to push the data from the desktop to TFS – well actually, one button push.
- It requires an extra step to download the data from TFS into the project schedule.
Also in the past, I’ve heard of issues where TFS will overwrite key data in the project schedule, like durations, etc. In testing out the Team Explorer add in, I didn’t experience these issues, but feel free to report back in the comments below.
Until there is direct out of the box integration with cloud based implementations, I’d definitely recommend going this route for connecting Project Online with Visual Studio Online, Project on-premises with Visual Studio Online, and Visual Studio on-premises with Project Online.
Custom Development with CSOM to Project Online
For those of you running TFS on-premises and Project Online – which is the most common scenario we see these days, there is always the option of writing custom code to push or pull data from Project Online into TFS. To assess whether or not the Project Online Client Server Object Model will support custom scenarios, I would encourage you to look at this link:
…then take a look at this link that Ionut wrote about remote event handlers for Project Online:
Visual Studio Online is also extensible. See the link below for more information on integration with other services:
I would stress that the effort to develop your own integration package probably outweighs the incremental benefits that may be earned over using the desktop integration method. Customization scenarios typically only work when there is a significant need for automation and your processes are very well defined.
3rd Party Tools
Last but not least, take a look at third party tools that may be out there to assist you in the integration. More and more offerings are coming out each day, and stay tuned on the Project Server or Visual Studio application store to see if anything has popped up to support this scenario.
As more and more organizations move to the cloud, it will be refreshing to see Microsoft add extensibility options to allow improved integration and customization. That’s definitely the direction I see happening with the cloud based offerings – and it will only drive the development of ever more applications that fill in the current gaps in functionality.
For some additional blog posts about connecting integrating Project Server and TFS….