SSW Foursquare

Rules to Better Microsoft Project Server - 4 Rules

Since 1990, SSW has supported the developer community by publishing all our best practices and rules for everyone to see.

If you still need help, visit SSW Consulting Servicesand book in a consultant.

  1. Do you use MS Project to track project budget usage?

    As long as you have work items created and your developers keep them up to date, you can use MS Project to calculate project budget usage in real-time; this helps the project manager to determine the progress in term of $ which is what client really care about.Note: To have this working properly, you need VSTS 2010 because it has better MS Project integration.

    Calculate the total cost for your release

    Follow the steps below to save a baseline and track your project budget usage:

    1. Open MS Project and connect to your Team Project
      ChooseTeamProject Small
      Figure: Click “Choose Team Project” and choose the project you want to track
    2. Query the work items from the team project
      QueryTheWorkItem Small
      Figure: To select the work items that you want to use you should click on “Get Work Items” and choose a query
    3. Note: normally you want to create queries for each of your Releases, then you can quickly import them together.
    4. To Track progress, we will use the "Team System Task Sheet" view; this can be selected from the "View" menu.
    5. Your work items will be imported and arranged within a hierarchy. As we are trying to track the progress, we want to keep “Original Estimate”, “Remaining Work” and “Completed Work” together, so drag them after the Work Item Title.
      ArrangeWorkItems Small
      Figure: Arrange your work items so we can easily track their progress
    6. In order to have the cost calculated, we need to assign a rate to each of the resources. This can be done by going to “View | Resource Sheet”
      AssignResourceRates
      Figure: Assign resource rates
    7. When you switch back to “Team System Task Sheet”, you will want to add the following fields so we can see the cost status: a. Baseline Cost b. Remaining Cost c. Actual Cost

    You will notice the “Remaining Cost” column has been calculated based on the “Remaining Work” column and the Rate we entered for each task.

    CostColumn Small
    Figure: Showing the cost columns

    1. In order for MS Project to calculate and display a total cost for your current release you will need to add a summary task at the top level of the project tasks. Choose the 1st task in your project, right click and create a “New Task”
      SummaryTask
      Figure: Create a summary task at the top

    Name the task as per your release name so you know what this plan is for; also you don’t want this task to be created in your TFS as a work item because it’s just a summary, set “Publish and Refresh” as “No”.

    NoPublishAndRefresh
    Figure: Don’t publish and refresh this summary task
    In order to make this a summary item you need to select all the other tasks and indent them. To achieve this click the little red forward arrow in the toolbar.
    IndentTask Small
    Figure: Indent tasks
    Now, your summary task is ready and it’s showing the total cost for your current release:
    TotalCost Small
    Figure: Total cost is calculated

    Baseline management

    Baseline management is very important for every project manager as it helps you to determine the budget usage; once the client approves your initial estimate for the project it will become your baseline. So before you set a baseline in your MS Project, make sure the client approves it.

    To set a baseline, choose “Tools, Tracking, Set Baseline” from the menu:

    SetBaseline Small
    Figure: Set Baseline...

    ChooseBaseline
    Figure: Choose “Baseline” and click ok

    A handy feature of MS Project is its ability to handle multiple baselines. Use a new baseline to seek approval from clients when they alter the project scope.

    Once your baseline is set, you will be able to see the “Baseline Cost” column is showing $

    BaselineCost Small
    Figure: Baseline Cost is showing $

    Track your project on the go

    When your project is running, your developers will update the “Remaining Work” and “Completed Work” columns from TFS, they may not use MS Project so you will need to refresh your MS Project file to get these changes, and the $ will be calculated on the fly to give you up-to-date status.

    To refresh your project file, simply click on the “Refresh” button in the toolbar.

    RefreshProject
    Figure: Click the “Refresh” button to update your project file

    BudgetUsage Small
    Figure: Budget usage is calculated

    Note: If you find that the values are not calculating properly, it may be that the calculation mode is set incorrectly. If pressing F9 updates the values you should change the setting “Tools | Options | Calculation” from “Manual” to “Automatic”.

    CalculationMode Small
    Figure: set the calculation mode to “Automatic”

    Also make sure “Actual costs are always calculated by Microsoft Office Project” is enabled.

  2. How long will it take (aka How long is a piece of string)?

    Judging how long a project will take is a difficult task as there are many factors to consider like resourcing, leave and blowouts.

    how long 1
    Figure: Estimating how long a project will take is like asking how long a piece of string is

    Thankfully Project Server 2013 or 2010 allows us to stay on top of the project with live updates with TFS and the project gantt chart to track progress and delays.

    how long 2
    Figure: Get the right figures at a glance with Project Server 2010

    how long 3
    Figure: Tracking project blowouts with Project Server 2010

  3. Do you know the easiest way to enter timesheets with TFS?

    Timesheets have always been the bane of developers, with them trying every excuse under the sun to avoid them and project managers trying everything to convince them to enter them.

    chase up timesheets
    Figure: Our Office Manager chasing up timesheets

    The main problem is timesheet entry is often difficult, time consuming and requires double entry (e.g. into different systems TFS and invoicing system).

    Project Server 2013 offers a solution that integrates with TFS work items.

    tfs timesheets
    Figure: Project Server 2013 pulls work items from TFS and updates the actual and remaining hours

    If you want a timesheeting solution built on top of Microsoft CRM and Azure DevOps, See www.SSWTimepro.com

  4. Do you know the impact of adding an "urgent new feature" to the Sprint?

    Projects will change and deviate from the original scope – that is a given in software development. When a client sends you an urgent task (as per the order of importance rule) then you need to do it in the current Sprint.

    This should rarely happen, as new features should be pushed back to the backlog, to be prioritised into the next Sprint, but sometimes the Product Owner will say that it's urgent and has to be done immediately.

    Understanding the impact of slotting in a new request into the Sprint is important because you can tell the Product Owner:

    "If we do X now that means we can’t do Y and Z in this Sprint and they will be push back to the backlog".

    Tip: If you're using Project Server, you can see the impact on the timeline visually in the "Tracking Gantt".

    gantt chart
    Figure: Project Server Tracking Gantt tells us the deviations from the baseline estimates

We open source. Powered by GitHub