Thursday, June 7, 2007

How to Use Microsoft Project Efficiently

I've worked with a lot of project managers who don't really know how to use MS Project efficiently. I was trained well on MS Project because in the consulting business, you have to be able to build million dollar project plans in days for sales pitches. Our PMO figured out a number of ways of using Microsoft Project more efficiently.

Here are my recommendations:

1. Get rid of the GANTT chart by dragging it to the right. Use the extra space for some additional columns.

2. Go to Window and click on Split. This will bring up the Task Form dialogue box at the bottom. You will find that entering data in the task form is much more efficient and visible than any other method.

3. Go to Tools->Options and click on Schedule. Change the Default Task Type to Fixed Duration and click off the box marked "New Tasks are Effort Driven". The reason is that when you're estimating, you'll find in most cases its easier to think in duration and allocating a % of a persons time across that duration than thinking about person hours. For example, instead of thinking of a task taking 25 hours, its easier to think about a task taking 3 days at 100%. Its also easier to think about a task as taking 2 people x 3 days, especially if you're days are 7.5 hours (do you think of a task as taking 50% of a week or 18.75 hours?)

4. Don't put in any absolute dates in your plans. Make all your dates based on dependencies except for the basic project start date.

5. For tasks that you want to go in parallel, use the SS predecessor type to make sure that multiple tasks start at the same time.

6. Go to Format->Text Styles and click on Item to Change. Select Critical Path and change the colour to something obvious (I use BOLD RED). This will help you in making sure that every task has the appropriate predecessor set - if it doesn't, you'll notice that the critical path stops half way through your project plan. It should highlight tasks from the beginning to the very end of your project.

7. Lets assume you have a project plan that is way past your target timeline and you want to now parallel your effort by adding more people. Many project managers will start creating streams of tasks in parallel with complex dependencies. But here is a simpler way if all you want to know is how many people you need to complete the work on time - simply take your tasks, change them to fixed work and increase the percentage to 400%, 500%, etc. until you get your timeline in the ball park. If its 500%, that means you need 5 full time developers to get the work done.

NOTE: the one draw back to this approach is that it doesn't tell you when each task will be done. But in my experience, this is not that useful as development projects tend to have 50 tasks that can largely be done at any time over a longer period and you simply spread the load across a pool of developers until the work is done. If there are specific tasks that are dependent, then set them up as a seperate stream. But if its simply a pool of tasks that need to get done this technique is much faster and simpler to manage.

8. Don't allocate overhead resources to tasks (e.g. your PM, your TA, your QA lead, your stakeholders, etc.) unless you have very specific requirements. In most cases, you can estimate an overhead resource at a % allocation across an entire project phase. For example, I'll allocate a PM at 30% for the duration of the project, a TA for 20%, etc. This again is a bit of a cheat - if you want to plan that a PM is going to be busy at 100% on Wednesday and 20% on Thursday and 40% on Friday, then this technique fails. In my experience, this is not the way overhead resources work and in the end having your project plan reflect this micro-detail is not worth the work to maintain it.

9. Here are a few ways to calculate contingency:

  • Click on Insert Column and pick Cost1. Right click on it and select customize field. Then click on Formula and type in Cost*1.10. This will calculate contingency at 10%. If you want 25% contingency then use Cost1*1.25. Make sure that Calculation for Task and Summary Rows has Rollup selected and Sum.

    NOTE: There is a bug in Project 2003 where it sometimes does recalculate fields properly. If you notice this, then go to Tools->Options->Calculation and click Calculate Now. This will recalculate the field.

  • Create a task called Contingency and set a price for it. This is good for setting an arbitrary contingency amount.

  • Create a task called Contingency and assign a resource called Contingency at sufficient hours to drive up the price. The advantage of this approach over the one above is that it means your total hours assigned also has contingency built it and your hourly rate stays consistent with what it would be without the contingency assigned.

  • Create a task called Schedule Contingency and set the duration to an amount of time with no resources attached. Bury the task where you think the schedule risk is going to occur - I usually put it into the QA phase of the project as this is the mostly likely area where you'll need the contingency.

10. Save often. I've had too many cases where Project crashes and there is no automatic recovery. In addition, there is only one level of Undo in Project 2003 (this is fixed in 2007) so if you make some significant changes its tough to revert them.

11. Use the keyboard as much as possible. Learn keyboard shortcuts. Don't drag things around when you can copy and paste. Don't use your mouse to indent when you can click on Alt-Shift-Right Arrow. Typing in predecessors manually instead of clicking on the link task button in the toolbar generally is faster.

Hopefully, that will help speed up your MS Project work dramatically. If you work this way, you'll find that planning with MS Project is feasible. If you're doing it the traditional way by dragging grantt bars around you'll find a major speed improvement working this way.


Colm Smyth said...

Interesting MP tips but one comment; 5 developers does not address a 500% over-allocation of effort - that's a classic case of Mythical Man Month thinking.

Christopher Woodill said...

I would tend to agree. So this is really just a tooling tip - you're right in that simply scaling the number of resources doesn't get you a linear multiple of productivity.

KLM said...

Cool thoughts...

I specificaly like the shortcuts tip (a shortcut fan here). Do you have an URL with all the shortcuts listed perhaps?!

Caycedo Bloom said...

This is great and it clears my mind in project workin' But I have a very intrincated situation. My project i delayed, I update the tasks work doen eahch day or two and i wnat to calculate how much time is my project delayed. Can you throw a hint on this please?

Anonymous said...
This comment has been removed by a blog administrator.
Anonymous said...

The faster you type the more work you get done. A shot of pethadine in the eye ball helps.

Miguel Chaves said...

Old, But new! Great Thoughts...Thanks, Chris Woodill...

Your tips gave me same directions but I still feel myself a little lost. The company I works has some milestones and depend mainly on the arrival date. So, I linked every task from the last one to the first one, so that I put the date to delivery the product to client and I get when each date of each task should be. So, with the during days I adjust each task to get a reasonable timeline. This is just to have a first idea how will be the timeline project. So, I have another file where I linked each task from the first one to last one. In the beggining, I adjust this file to be equal to the first one and after I use its to control the project each day. So, I put one file on the top of my computer (The baseline) and the other file on the bottom (changes during the project). Then, to get the delays to make decision and arrange the project, I deduct the bottom file from the baseline. This way haven't worked properly and there is also a lot to do. Therefore, could you have some idea to obtain the delays days between a baseline and the normal timeline? A better way to manage instead of that one I described? Does MsProject has freeze panel like Excel? Could you suggest some website where can I discuss those topics and also I could discuss more about Project Management?

I do appreciate a answer and I'm sorry for the long comment...

Miguel Chaves

Peter Lynch said...

You mention a bug in PROJECT 2003 saying it sometimes does calculate correctly. Did you mean sometimes does NOT calculate correctly?

ioana said...

I really need your help. I am a student and my final paper is about Microsoft Project. Please help me by filling my survey. Your answer is very important. Thank you!

The survey link:

Project Plan said...

Probably one of the most outdated tips i have red today. But some information you have here though.

Project Plan: Project Planning Software and Templates