Management vs Development, they look like 2 worlds apart right? J Yes they are indeed, but this doesn’t mean that they can’t exists together on the same world and be interconnected. If you want to know more about how to bridge the collaboration gap between their project management offices and their software development teams continue reading…
I still remember those days, years back, where the Projects Manager used to spend an uncountable number of hours with the Team Lead catching up on the status of the projects, delivery dates, impediments and other matters related. It was such a show to see the TL trying to explain the Management what an iteration and user stories were. My manager used to leave these meetings with a terrible headache and long face, so the next action were to come to desks and ask us all the details about when, how and why of the releases we had on the pipeline.
This rings a bell for you right? This continuous reporting is good and bad at the same time, this makes the transparency to increase but the amount of time lost in reporting is huge. What if Project Managers and Software Development Teams can use the tools that they prefer, work at the level of precision that supports their needs and share information organized, transparently and immediately?
To enable this flow of data you can have two options:
Option A – TFS and Project Server Integration: On the management side (usually the PMO) install the Team Foundation Server Extensions for Project Server on the application-tier or web-tier servers that run Project Server that will participate in data synchronization.
With this, Project Managers would be able to use Microsoft Project Server to access up-to-date project status and resource availability across software teams using Team Foundation.
This integration enables data to flow from work items in Team Foundation Server (TFS) to tasks in enterprise project plans in Project Server.
Option B – Team foundation plug-in to Microsoft Project: This scenario doesn’t require a Project Server, just Microsoft Project but it is a very limited scenario. For example:
- Supports mapping a task field in Project to a field in Team Foundation but Tasks are not bound to work items
- Project plans are bound to Team Foundation server
- For resource tracking, hours are rolled up in Project but not in Team Foundation, so resources are not rolled up either
- View across multiple enterprise project plans and reporting, portfolio optimization and demand management are excluded in this operational model
Oh yes! Now we are talking J
Let’s take a look at the internals and how this works.
As you can see you can use MS Project to open a project plan, manage and track the work across all your backlogs and teams and even control the timesheets and the resources usage. This will be fully connected through a series of mappings to TFS so the development team will see the changes reflected on their dashboards when they will access through the team web portal or Visual Studio Team Explorer.
As well every time the development team make a change on the user stories or the work items, this will be reporting directly to the project server (if changes applies).
The process flow for Top-Down Planning on a regular project is represented on the next figure:
- The Project Manager define the deliverables, features and requirements in the project plan (Project or Project Web App – PWA)
- Save and publish the project plan to Project Server
- Each time something is published from Project Server, the sync engine performs the right mappings between the item types of Project Server and the work items in Team Foundation Server, binding them both.
- The team lead opens the Team Explorer or the Web Portal to review the deliverables with the Team
- The team lead break down into tasks the user stories and features that the Project Manager established in the Project Plan
- And assigns a resource to each task
- Saving it on the Team Foundation server and publishing it back to the Project Server for the Project manager review
- The Project Manager reviews the progress of each deliverable and adjust the schedule based on the updated information and
- A baseline is established, so it will be able to track progress against the baseline.
Usually you will find scenarios where to integrate TFS with Project Server 2010 or Project Server 2013.
There is no a big difference between using 2010 or 2013 but small differences on the authentication and security:
- On Project Server 2010, during the set up you must install all the cumulative updates on all Web Tiers and on all App Tiers in the server farm.
- On PS2010, the Classic Mode Authentication is the only allowed authentication mode.
- Security: On PS2010 you manage your PS security through customizable security groups where in PS2013 you can use SharePoint Permission Modes to control user access to sites and projects.
So this will be the typical architecture:
/benefits of integrating TFS with Project Server/
- Go deep into portfolio execution, alignment with strategic objectives, and resource usage of software development projects.
- Automate the sharing of project information across teams whatever methodologies are using (waterfall, agile, cmmi,…)
- Enable development and project-management teams to collaborate through project timelines and progress using tools such as Visual Studio, Microsoft Project, SharePoint and Excel.
/How the Project Manager will see this in MS Project/
Basically like this:
To mark a new deliverable as an item to synchronize with Team Foundation Server, we will have to set the Publish to Team Project property to Yes and set the Work Item Type to the right value (p.e. Requirement, task,etc).
All we need now is to save and publish the project plan to the Project Server and the synchronization will be triggered.
/How the Team Lead will see this in the Team Explorer/
If the team lead opens the Team Explorer and goes down to the Work Breakdown to check the work items.
There the new requirements and tasks will be visible and we will be able to edit them and add extra information like for example the effort estimation, the priority, change the assignation, etc.
Also, any change made from here will be synchronized with the Project Server as well, as for example, imagine that we are working on an specific work item and once we finish it we want to report that the Remaining work time for this Work Item now is 0. Just saving the Work Item from Visual Studio the Project Manager will see the submission request on the PWA portal as this:
Where the task update to get approved will have the next details:
And therefore will be updated also in the Project Plan.
It can be a bit messy if you don’t look at the picture from a general view, as you have to know a bit how the project management usually work and how the development team operates. What this integration is offering is a way to communicate both teams, save time, be transparent and improve the internal process of control.
I recommend you to follow these Hands On Labs to know more about the integration of PS with TFS and if you want to go deeper on it, you know where to find me J
– May the plan be with you –
Eduardo Ortega Bermejo
Team Foundation Server and Project Server Integration Virtual Machine: http://blogs.msdn.com/b/briankel/archive/2013/04/12/team-foundation-server-2012-and-project-server-2013-integration-virtual-machine-and-hands-on-labs-demo-scripts.aspx