Archive

Author Archive

Estimating Using Cost Rate Tables

January 11, 2010 Pete Leave a comment

In my experience, cost rate tables have become very useful for assisting me in providing budgetary estimates to clients.  This approach is not for the novice Program Manager, or beginner in MS Project.  I would recommend MS Excel for those individuals.  However, if you are interested in understanding how you might be able to leverage built in Project Functionality in order to perform analysis on project estimates, please read on.

Prior to getting started, I want to mention a few assumptions you must understand as I discuss my approach.

Assumptions:

  1. The programs I have managed over the past 10 years have been of similar work, and thus I have implemented the use Project templates heavily to begin project work.
  2. Doing this type of similar work, I also have the need for similar skills in my resource pool.  Let’s say Business Analysis (BA).  Ex.  There are a number of activities in most of my projects that require a BA to perform the work.
  3. Finally, I have been lucky enough to be able to look to a broad resource pool in order to get the most cost effective resource.

How I have used MS Project for estimating:

Using the cost rate tables in MS Project, you can load a generic resource into a template for a skill.  You can then load the most common costs in each of the cost rate tables.
In Cost rate table “A” lets load the most expensive cost since MS Project defaults an assignment to that rate table.  Let’s say $200/hr.

Now you could also bring this type of resource on a project for less when lucky, so load the second cost into cost rate table “B”.  Let’s say $150/hr

Next, in the template, this generic BA resource is assigned to the typical tasks this role would perform.  The cost is calculated as MS Project does per task (Hrs * $200).  Again by default MS Project will use cost rate table “A” for cost calculations.

This next step is critical if you are interested in comparisons.  Copy the cost column numbers into one of the available custom cost fields on both the Gantt Chart View and the Resource Usage Views in order to capture what cost rate table A calculated for the entire project.

In order to change the cost rate table on the assignments, use the Resource Usage View and insert the Cost Rate Table field.  Now you can change the cost rate table on the resources assigned to the task simply by cutting and pasting the B into all fields on the assignments.

View the variances in cost right on this view, or jump back to the Gantt Chart to see the impact to the over all project costs.  (You can even create a custom field to calculate the variance for you)

Armed with the understanding of how to use this feature in MS project, there is an unlimited number of ways in which you can analyze costs in estimates.  Imagine the risk analysis in terms of cost you can perform having both the ability to change resource costs and project schedules all in one place.

Categories: Estimating Tags: , ,

Improving Efficiencies by using the Organizer

December 14, 2009 Pete Leave a comment

If you are like most people who use MS Project in order to manage a project, you likely only use some of the “out of the box” views and tables that come with the product.  You may also perform some of the same modifications to those fields, views, groups, tables, etc. over and over again on each project in order to get the Gantt chart just the way you like it.

There is a better and more efficient way to customize data rather than starting from scratch each time you create a project plan (assuming you do not use MS Project Server).  In an earlier posting, “Simple Techniques for Managing Project Finances”, I explain how to setup custom fields and groupings, and then add them to the Gantt chart.  I did not however, address how you can save these customizations so that on your next project you do not have to perform the same setup again.

You can use the Organizer in order to store these customizations in what is called the Global.mpt.  The global template in MS Project is used when you start a project plan from a blank slate.  The organizer is accessed by clicking on the Tools>>Organizer menu selection.

Once the organizer is open, you can simply navigate through the tabs and move the custom data from the right side of the organizer to the left side.  Make sure to select the template you wish to save data to from the drop down at the bottom of the screen.  Once the data element is in the template area, you are finished.  Now anytime you open a new project file, it will use the global.mpt and already contain all the customizations.

This trick has saved me countless hours of project planning startup time!

Updating Progress in MS Project

October 29, 2009 Pete Leave a comment

Let’s assume you are one of many that use MS Project to develop a nice neat plan in order to begin a project.  However, once the work starts you find the tool cumbersome to update the plan.  You promise yourself you will take a class one day on how to update MS Project with actuals, but right now you need to show the progress performed.  Below are some simple ways to do this.  (I still recommend a class when you have the time!)

As you attempt to catch-up with the work performed on the project and reflect it in the plan, the first thing to do is set the Status Date of the project. This is located in the Project Menu>>Project Information option.  Setting this is key to a number of different functions in MS Project, however we are keeping things simple today, so let’s do this.  Assume the status date is the current date.

Project info

Next thing I like to do is see the status date visually on the Tracking Gantt Chart.  In order to do this, select the format option from the menu and select Grid lines.  In the lines to change area, select “Status Date” and on the right side of the window choose the type and color of the line you would like to see.

Status date

Once you click OK, a vertical line appears on your Tracking Gantt chart to show the status date.  Last but not least, enable the tracking toolbar.

Satus date gantt

Now you are ready for the easy updates you were looking for.  There are multiple options to perform the tracking depending on how detailed you want to go, but I will explain 2 of the methods I have used most.

Method 1:  The easiest method if all is going well.  Simply select the task/s you would like to update and the click on the option off the tracking toolbar to “Update as Scheduled” this will update the task as complete through the Status Date.

Updateas schedule

Method 2:  This is a bit more complex, but easier as you get the hang of it.  If some of the work is complete, but not all, update the portion of work that is complete using the % complete buttons on the tracking toolbar.  Now the remainder of the work that is not complete must be rescheduled, so click on the task and then select the reschedule work option.   This will move the incomplete portion of the work after the status date.  This makes sense since you cannot complete the work in the past.  (Caution, if you have setup your network diagram properly the remainder of the schedule could change)

rescheduled

Simple techniques make all the difference in gaining efficiencies for the Project Manager.

Happy tracking!

Categories: Uncategorized Tags: ,

Simple Techniques for Managing Project Finances

September 9, 2009 Pete 2 comments

In my opinion there are 2 key skills that make a rock star project manager; managing and understanding your stakeholders, & project finances.   Due to some of my current time constraints, I am going to first tackle project finances.

A project manager that can speak and understand finance is invaluable to most program managers and companies.  In my experiences, I have used some simple techniques in order to assist me in this task for my projects.  First, a former mentor recommended I review financial terms I did not understand at www.investopedia.com .  What a great site.  It continues to be one of my most used bookmarks.  Second was to develop an understanding of the ways MS project can help a project manager better manage the costs of a project.  The remainder of this entry deals with some simple techniques to assist a Project Manager in differentiating capital and operating expenses within a project.

First you will need to customize a field in MS Project.

  1. Go to tools>>Customize>>Fields
  2. Select the rename option for any of the text fields.
  3. Rename the field to “Expense Type”
  4. tools

  5. Select the lookup option and type in 2 values, one for capital and one for operating
  6. Lookup

  7. Click OK to save the custom field.

Now you need to setup the Gantt chart in order to assign an “Expense type” to your tasks.  This will enable you to perform grouping, filtering, and rollups to gain an understanding of the breakout of your finances.

On the Gantt chart add a few fields.  Add the field for “Cost”, and “Expense Type”.  (You can create your own table for this if you would like…)  You can rearrange these fields as you like, however I like to leave them to the far left in order to do the next steps.

Now, load your schedule with your WBS, and on each task in the schedule assign an “Expense type”.  Your schedule might begin to look something like this:sample plan

Once you have completed loading the schedule, you need some groupings to sum the expenses.  Setup a custom group for Expense Type (Project>>Group>>Customize Group By).  Once this custom group is setup you can group by expense type on both the Gannt chart table and the task usage table to begin to gain an understanding of how your finances are looking during the planning and execution of your project.  See the screen shots for what you can expect.

capexpgroup

You can even begin to track the forecasted expenses over time by using the task usage screen.  Simply insert your custom field for expense type, then group by that custom field.  You can forecast and track actuals on this screen per your expense type.  This can become very powerful.  See my example below:

actuals

There are many, many more things you can do in project in order to assist in the financial management of your projects, hopefully this techniques inspires you to customize your own.

Build in Your Own Schedule Contingency

August 12, 2009 Pete Leave a comment

So, you want to build your own contingency but you’re not quite sure where to start.  First ask for it.  Most reasonable managers understand the need for contingency, but they usually hold their cards tight unless or until absolutely pushed for it.  So let’s assume you need to build the case for your own contingency.  MS project can help you with this simple technique.

Most people open up a scheduling tool and start scheduling.  MS project comes out of the box assuming there is a 40 hour work week.  We want to manipulate the tool in order to build in some schedule contingency, so let’s say we want to work under the assumption that a work week is actually 35 hours and not 40. This allows us 5 hours of contingency on our tasks which will build in some schedule buffer.

  1. Go to the Tools>>Change Working Time option off the menu.
  2. Highlight the headings M through F
  3. On the lower right side Change the from and the to options to match the screen capture
  4. MSP3

  5. Click the options button on the bottom of this window
  6. Sync up the Default start time and Default end time with those from the prior screen
  7. Change the hours per day to 7
  8. Change the hours per week to 35
  9. Click OK and exit out of the calendaring options

MSP4

What you have done now is told MS Project you are now working in a 35 hour a week environment.  Now you might say this is how we should always schedule, and it is not really contingency, and you are right, however for now you get the idea and can manipulate the hours how you see fit.

The beauty of building a schedule in this manner is that you can simulate the finish date of the project by manipulating these options.  You may start with a 35 hour week for the initial schedule, but choose to go with the 37 hour week once you have negotiated with management on the true contingency.  Prior to starting to track against the plan you can change these dates and the schedule will adjust accordingly.

Just be careful not to look foolish when you get caught manipulating the schedule in the event you do not reveal your methods to management…

Assigning Multiple Resources

July 27, 2009 Pete Leave a comment

I am an advocate of not assigning multiple resources to a task in MS project if possible.  Assigning only one resource to a task simplifies the way in which MS Project calculates the amount of work.  However, I can understand that some people want to use this functionality, especially for very large efforts, so the following post is to provide the fundamentals to assist in this regard.

There would be 2 ways to plan this out in MS Project.

Scenario:  I have 2 leads that are responsible for providing detailed work plans to their teams.  As a project manager I want to manage a task to make sure these work plans are planned and completed on time.  I have a development lead and a QA lead that are responsible for this work.

The first way and my preferred mechanism would be to create 2 tasks called “Create Work Plans” and assign the development lead to one task and the QA lead to the other.  In this scenario, I can deal with them as 2 distinct entities.  Once this is complete you can review my earlier on post on “Basic Scheduling calculation in MS Project” and you will be on your way to a simple schedule.

The second way becomes more complicated.  We can proceed with assigning both resources to one task. This requires some additional knowledge and setup of how MS Project works.

  • Performing these  steps to help get you started.
  • Setup the Gantt Entry table and view for easy entry. (Add the work column)
  • Split the view, and enable any one of the sub views that has the resource work displaying.  I personally like the Resources and Predecessor view

Now what you have done is enabled the screen to show you all the options you need in order to understand what MS Project is trying to do for you.  Look at the screen shot below and you will see all the places you will have to review in order to move forward.

Screen

The next items to understand in order to be successful at assigning multiple resources to a task in MS project are the ‘Task Type” and “Effort Driven” flags.  These are important to understand when assigning a single resource, but become must have knowledge when working with multiple resources. Below are the multiple combinations that can be set on a single task.

  • Fixed Work with Effort Driven enabled
  • Fixed Duration
  • Fixed Duration with Effort Driven enabled
  • Fixed Unit
  • Fixed Unit with Effort Driven enabled

When the effort driven checkbox is enabled, MS Project assumes you are going to split the work evenly on the tasks depending on the number or resources you assign.  Take an example where you have a fixed work task, with 16 hours of effort and 2 days duration.  You assign 2 resources to the task and MS project will place 8 hours of work on each resource.  Give it a try and watch what happens in the lower window.

Fixed work, Fixed Duration, and Fixed unit task types with the effort driven flag enabled will all act in a similar manner.  I recommend practicing with these until you understand what is happening; just remember to set the work and duration numbers back to their original starting points. (Also use the resource dialog box to assign and remove resources from tasks when practicing  msp2 ).  You will become an expert in no time.

Once you get good at the above simple scenario, try a fixed duration task using an odd number for work such as 17 or 21 hours over 2 days, something that does not divide by the 2 resources evenly.  Then try assigning these resources one at time to the task as well as at the same time from the resource dialog box.  Observe the calculation performed.  MS project is trying to be helpful.  Fixed duration with effort driven turn on is difficult to work with.  I would recommend turning effort driven off for these types of tasks.

My next post will include more examples and scenarios for turning off the effort driven flag, but now that you know how to practice, feel free to try it for yourself.

Categories: Uncategorized Tags: ,

Basic Schedule Calculations in MS Project

July 14, 2009 Pete 2 comments

Microsoft Project has 3 main factors that go into the scheduling criteria of a task.

1.  Duration

2.  Work

3.  Unit (% of an allocated resource)

In an attempt to assist the Project Manager, the software will work to automatically calculate one of these factors based off of the default settings and the way in which a PM enters the information.  The way in which to think about this is the following: 

  • One of these factors is fixed and will remain constant.  The default setting is fixed Units (why that is I have no idea).  I recommend you change this and will tell you how to change this a little later.
  • You will then need to place the other 2 factors in manually.  Whatever the third factor is, Microsoft will automatically calculate it.  

I recommend until you understand the following examples and play with them you only assign one resource to a task.  Once you get good at this, you can progress to multiple resources on single task.

Example 1:  Lets assume you have the default setting set to fixed work.  That means once you type in the work number Microsoft project will not attempt to automatically calculate for you.  You type in 16 hours of work.  Next you assign a resource at 100% units of allocation.  Microsoft will automatically calculate the third criteria which in this case is duration.  Assuming an 8 hour work day, the system calculates 2 days duration.  Easy right?

Example 2:  Next let’s take the same example and change the units of the allocation to 50% units of allocation.  What will Microsoft recalculate?  Yep  Duration.  The system calculates 4 days duration.

Once you understand this fundamental calculation your life becomes much easier in Microsoft Project.

How to set the default fixed criteria:

1.  To set the default task type criteria for all tasks in the project, go to Tools>>Options>>Schedule Tab.  Under the “Default Task Type” drop down select the criteria you would like to fix.  Please note: this only works for new tasks entered in the plan.  If you have a number of tasks already in the plan please review #2.

2.  To set the default task type criteria for a single tasks in the project, double click on the task>>select the advanced tab>>Select the Task Type criteria you would like to fix for this particular task.  You can also change the task type on multiple tasks by selecting those tasks in the plan, then selecting Project Menu>>Task information>>Click on the advanced tab and change the task type.

Hope this makes your life easier in MS Project. 

Categories: Microsoft Project Tags:

Understand and Manipulate the Critical Path

July 11, 2009 Pete 1 comment

Understanding the critical path in MS project can be a relatively daunting task.  In order to do this you need to have a fundamental understanding of the predecessor relationships you have setup on the tasks within the plan.

First thing to do when determining the critical path on the project is to ensure that every task in the project has a predecessor, with the exception of summary tasks and the first task in the project.  To do this determine the mandatory logic throughout the project first, and then move into your discretionary logic.  Once complete you will have a plan that you can work with to understand the critical path.
In order to view the critical path in MS Project I recommend doing 2 things:

  • Display the critical path on the Gantt chart.
  1. Right click on the open space in the Gantt Chart.
  2. Select Gantt Chart Wizard.
  3. Move through the wizard selecting the critical path options.
  • Display the Total Slack column on the Gantt table.

Once complete, any task with 0 days in the Total Slack column is considered critical since it has no slack or ability to slip until it impacts the end date of your project.  All the tasks with 0 slack on them should also be red in the Gantt chart.

Any task with a number >0 should be blue on the Gantt chart and for the purposes of MS Project is considered not critical.

Now there are a few things to review since the critical path is exposed.

  • Does your discretionary logic make sense?  Do you have too many dependencies on tasks due to this logic?  If so tweak the plan.
  • Does your discretionary logic cause too many tasks to become critical?  Should you rearrange some logic to make the critical path make more sense?  If so tweak the plan.
  • Are there any tasks with large amounts of time in the Total Slack Column?  If so, is the logic on that task appropriate, or did you miss that task when creating the logical network.  If so tweak the plan.

Once you have reviewed and are comfortable with the schedule network you can manipulate the way in which MS Project shows the critical path.  First why would you do this?

  • An example would be that there are a few tasks that are not critical but only have 1 or 2 days of slack.  You may want to show these tasks as critical to management.
  • Another example would be tasks that are near critical above, but have resource constraints that make you concerned such as a key resource that may leave.
  • A third example would be to influence behavior for a resource on that task.  Once a resource realizes their task is not on the critical path, they tend to think they have more time and begin to procrastinate.  Procrastination on a task that has slack will eventually eat that slack and steal it from other tasks.  This is what I like to call “Stealing Float”  ex.  Testers hate it when developers steal the float and they end up with no slack to test.

To manipulate the way in which MS project calculates the critical path, open the Tools>>Options menu, click on the Calculation tab, and increase the number of days in the option “Tasks are critical if tasks are less than or equal to”.  When you move back to the Gantt chart tasks that meet this criterion will now be red and considered critical to MS Project.

Feel free to post any questions or comments

Categories: CPM, Microsoft Project Tags: ,