The topic of agile and project management generates a lot of interest among project managers. It may be that PMs are boggled by managing IT projects that don’t adhere to the standard waterfall method of development. After all, if a team of developers is talking with users and getting together every week to reprioritize what’s most important, exactly how do you manage the schedule?
It may be that your executives want more assurance regarding that outcome of that $50,000 investment they’ve just made in developing a mobile phone app for multiple platforms, and they’re looking to you as the lead member of the project management office to keep them informed about the status of the project. It may be that you just want to know whether or not the integration work that’s going on with your SAP or CRM system is truly on track.
Likewise, on the IT side, the development team needs to be aware of changes in the PMO that will affect their plans. Perhaps the PMs are working with marketing on a product launch that’s just been tied to an event with a harder deadline that initially set or the PMs have been pulled into meetings with a compliance team that’s grappling to meet a new regulatory requirement that will affect the organization’s biggest initiative.
In all these scenarios, communication between the two groups is vital. The challenge is that PMs and developers don’t use the same methodologies. Developers are with much greater frequency turning to Agile and Scrum; PMs are tapping PMI PMBOK, Prince2, or some custom framework developed internally. Likewise, their toolsets are different. In the Microsoft realm, PMs are using Microsoft Project and Project Server; while developers are using Visual Studio and Team Foundation Server.
What is Scrum?
As Chris Menegay, president of Microsoft development firm Imaginet, explains in the excellent Microsoft whitepaper, “Reconciling the Agile Team with Enterprise Project Management,” with Scrum, a popular flavor of Agile development, “all proposed work is placed in one large backlog.
Work is performed in time boxed iterations (called sprints). Only a subset of all work in the backlog is addressed during each sprint. For example, if there are 20 items in the backlog for a software project, the items are prioritized based on business needs and based on the team’s capacity, assigned to a particular sprint. At the completion of the sprint, the backlog is reprioritized and another sprint is performed on the highest value items remaining in the backlog. This allows for a constant reprioritization of work with every sprint, allowing the development teams to be more agile in responding to changing business needs.”
As Menegay points out, scope and focus are ever-changing, which makes it “very difficult to schedule long running projects and have a date denoting [completion] of the effort.”
Communicating the Essentials
Many years ago Microsoft released a connector that allowed users to integrate the project management capabilities of Visual Studio with Project Server 2003. In 2007, the company posted updates on its open source project hosting site, CodePlex, that connected Visual Studio Team System with Project 2007. That release, however, had community support, not direct company support. Major customers — the kinds with large PMOs and vast IT organizations — wanted something more official from Microsoft that included documentation, localization, and official support.
That finally surfaced under the unwieldy but descriptive name, Team Foundation Server 2010 and Project Server Integration Feature Pack. Available within MSDN for customers with Visual Studio 2010 Ultimate, this feature pack, like the earlier releases, allows status data to be pulled out of Team Foundation Server and synced up with Project Server 2007 or 2010 and vice versa.
The Feature Pack addresses three organizational needs:
Insight. It provides real-time views into portfolio execution, alignment with strategic objectives, and resource usage of software development projects by leveraging the quantitative data stored in different systems;
Coordination. It automates the exchange and sharing of project information across teams and improves coordination among teams using different methodologies via common data and agreed upon metrics; and
Collaboration. It helps development and PM teams collaborate and communicate project timeline and progress using familiar tools such as Microsoft Visual Studio, Project, and SharePoint.
As Christophe Fiessinger, senior technical product manager for Microsoft, explains, “In the Project world, tracking work is done with tasks. In the Team Foundation Server world, there are buckets of work called work items. Work item can be different types — a risk, an issue, a bug, a feature, a user story. That’s for granularity. That’s what they call a task in their world.”
The Integration Feature Pack provides bi-directional communication that does field mapping, tying work items in Team Foundation Server to tasks in Project. The project manager can configure the integration to support the way he or she wants the project to be managed by controlling the level of granularity that’s used for the communication. For example, when the development team breaks down requirements into tasks and child tasks (possible with Team Foundation Server 2010), the Integration Feature Pack enables the PM to see how the work and committed resources roll up through the project. That information can guide the PM in assessing resource allocation and work estimates.
A Sampler of Field Mapping
|Project Server||Team Foundation Server|
|Resource Names||Assigned To|
|Remaining Work||Remaining Work|
|Actual Work||Completed Work|
On the developer side, for each deliverable submitted to Project Server, the programmer can define and estimate the tasks required to implement whatever the deliverable is, such as a specific sprint. As work progresses and the developer updates task hours, those are automatically submitted to Project Server for viewing by the PM. A developer lead can use a Work Breakdown query to review work items submitted by the PM.
The data that flows back and forth delivers near real-time progress reports (there’s about a 30-second delay) on the development work and on how the overall project is being executed on by the PMO.
The connector, Fiessinger says, is “methodology agnostic.” It doesn’t care what methodology is being used by PMs or by programmers. “Those teams that have very different execution and rhythm, they can still coordinate. They can rendezvous on those milestones without changing what they already have established in house.”
Fiessinger points out that the PMO doesn’t need to be in charge of the project in order to exploit the Integration Feature Pack; it can be a passive form of data delivery, set up strictly to provide work visibility.
The Team Foundation Server view of the work to be accomplished…
…And the Project Server view.
He emphasizes that the Integration Feature Pack isn’t intended to replace communication between the two sides entirely. It simply does the “grunt work” of exchanging data on the back end. The main benefit is reducing the time spent in meetings. “We’re not saying you shouldn’t meet. But you don’t have to ask, how do you stand on [this task or that task] When we start that meeting, you’ll have that information. Instead, we can shift that conversation to the future — ‘I know you slipped. How do we accommodate that to meet the overarching deadline that we can’t miss?’”
Besides expediting team conversations, the tool is also useful for bumping visibility up within the chain of command to the executive level. The CIO, for example, may not want regular reports on project progress at the task level, but certainly he or she may require it at the milestone level. The Feature Pack can have multiple levels of granularity set by role in order to deliver accurate data that keeps people informed.
“We are saving 70 to 80 percent of the time that project managers used to spend talking about status updates, because with the feature pack for Visual Studio and Project Server, we can trust the information reported,” reported one customer, Daniel Franco Abraho de Oliveira, team manager for Brazil consultancy TechResult.
Another customer, global cosmetics firm Revlon, has found multiple advantages to using the Integration Feature Pack in its IT organization. “First and foremost,we have reduced the number of project planning and status meetings,” says Piotr Prussak, vice president of global applications. He estimates that staff will reduce time spent in meetings by 10 to 30 percent. “We used to spend a lot of time in meetings working through potential issues and asking people to raise flags. But now the feature pack allows people to raise flags more quickly and in a more comfortable setting — which means we make fewer mistakes.”
Also, Prussak adds, “Team leads can no longer complain that project plans aren’t detailed enough — because with the feature pack, they can control the level of detail. So with the feature pack, the team leads can take more responsibility for exactly what they are doing and be more accountable to the other members of their team.”
“People want visibility,” Fiessinger concludes. “It’s no longer just an ‘open’ bar of developers and budget. We need to rendezvous at specific milestones to ship products and serve our business units.”
Resources for Team Foundation Server 2010 and Project Server Integration Feature Pack
Microsoft Project Conference 2012 features two sessions on the Integration Feature Pack:
Optimizing Development Teams Using Team Foundation Server Project Server Connector
Practical TFS and Project Server integration in mid size enterprise
The company has uploaded customer stories about the use of the Feature Pack here:
- MSCom Grid, part of the IT team at Microsoft
- TechResult, an IT management and solution provider based in Brazil
Finally, Microsoft has produced four brief videos explaining how to use the Integration Feature Pack:
- Top-Down Planning of Business Requirements within an Enterprise Project using Team Foundation Server and Project Server (25 minutes)
- Managing Project Details in an Enterprise Project Plan Mapped to a Team Project in Team Foundation Server (16 minutes)
- Making Agile Team Progress Visible to the Project Management Office (21 minutes)
- Managing Field Mappings for Integration of Team Foundation Server and Project Server (21 minutes)