Cross Project Task Dependencies in Project Server 2010
BY: Collin Quiring
Sometimes two projects on the same Project Server 2010 instance are being managed separately, perhaps even by different groups or organizations, but they have inter-dependencies. When doing Google and Bing searches for the best way to do that, I keep running into sites stating that you need a Master Schedule. This isn’t the case. And, in many situations, having a Master Schedule is much more damaging to Resource loading and other areas that they aren’t worth it (hence why there is even an option to NOT allow Master Schedules to be published at all…but I digress).
Also, I suspect there is a bug in the way that I have seen others explaining how to do this. That is highlighted below.
I thought I would just post a quick “how to” when you want to link tasks within different projects but not have a Master Schedule to deal with. I have two schedules built on the same Project Server 2010 instance. They are named ScheduleONE and ScheduleTWO. ScheduleONE currently has four tasks, all at 2 days duration and all linked sequentially like this:
ScheduleTWO has tasks with 4 day durations and is linked sequentially like this:
Both of these are saved to the server (they don’t need to be published for this to work). For our example, we have decided that for Task C in ScheduleONE to be completed Task 4 in ScheduleTWO must be completed. Or, using the Project parlance – ScheduleTWO, Task 4 is a predecessor for ScheduleONE, task C.
Now is the critical part – the syntax. To link between projects, the syntax is to have <>Project NameTask ID . NOTE – that is the task ID, not the task name! So, in our case, the syntax is going to be: <>ScheduleTWO4. And, we are going to put that as the predecessor for Task C. The natural way to do this, and normally the documented way, is to go to the Task Information for the task, and add that syntax to the ID field in the predecessor tab. And, it APPEARS to work – in fact, you get this result:
All appears well – the syntax in the ID field, and the system has even put in the text for “External Task”. But, when you click on OK, nothing happens. No error and no result. Hence why I think this is a bug.
However, this is easily resolved. Just put the syntax into the Predecessor column text field directly like this:
Now, after you hit enter, the predecessor will be in place. And, if you have the “show external predecessor/successor” set to display then you will see the ScheduleTWO task in ScheduleONE as a grayed out task like this:
AND, in ScheduleTWO, Task C will automatically appear like this:
No need for a Master Schedule and when you have the syntax down and the work-around for the predecessor bug, it works great!