Generic Resources


Some time during project planning you are not sure about of the specific individuals that will eventually be assigned to the work. In such cases you can create resource and mark them as generic resource.Generic resources can help indicate demand for resources in a specific role. This helps with capacity planning, and can be a deciding factor during portfolio analysis. Certain resources are identified as generic resources. This allows them to be identified by skill rather than by name. The Generic field indicates whether a resource is generic or not.

To Mark resource as generic, in Resource Information check the Generic checkbox.


Marking Generic Resource
Marking Generic Resource


You can also specify non-enterprise resources as generic. You can add the Generic field and set it to Yes for generic resources or in the Resource Information dialog box, select the Generic check box on the General tab.

For example in our case we will create resource vendor to outsourced jobs in our project.

 Use the Resource Substitution Wizard to automatically replace generic resources with actual resources from the enterprise resource pool.

Assigning Resource to Task


Once you set up your resources it is easy to assign them to respective task. The easiest method to assign resource via Gantt chart view, to add resource to task  click on Resource column in Gantt view and it would popup all the resources.

Adding resource in Gantt chart
Adding resource in Gantt chart

Other way is to double click on task and from Task Information tab you can select the resources, This method gives more controls like you can define the % availability of resource and can maintain cost manually.

Assigning resource via Task Information
Assigning resource via Task Information

In our scenario Jayant is only 50 % available during coding so we can enter the % units. The cost for hourly resources is automatically calculated by MS Project.

The other way to add resource is via "Assign Resource" button in Resource Menu.

Assigning Resource from Resource Menu
Assigning Resource from Resource Menu
To assign resource to task first select the task and click on Assign Resources button in resource menu, this will launch the Assign Resource window.

Assign Resources
Assign Resources
If there is any conflict with your resources assignment , project will show smart tag that will quickly show you the possible solution to resolve any conflicts. When resource are over allocated MS Project will mark red icon in front of task.

Smart tag while assigning resources.
Smart tag while assigning resources.


Defining Resources and working with Resource sheet.


We have seen in details resource sheet, now let's add resources details as per our scenario.
To define resources as per our requirement, select resource sheet from any view.
Now as per our scenario we will update the details.

Resource Sheet
Resource Sheet



Please note we assume all resource work in standard time thus we have set Standard calendar to respective Work resources.

There is no value maintained for cost resources as that will be done at task level.

Understanding Resource Type and Resource sheet



As you know resources are critical part of any project, your project success failure can be largely depending on this.

There are three types of Resources in MS PROJECT 2010: Work Resources, Material Resources and Cost Resources.

Work Resources are people and machines, and they need time (hours, days, weeks, etc.) to perform the Tasks.

Material Resources are consumables like bricks, oil, concrete etc., and they are time independent.

Cost Resources are time independent resources, like Airplane tickets.  Or if you want to keep track of the project dinners you offered to team during execution phase.

This is important to understand how you use this type, for example in your project if you are charged the time you used particular machine (eg. Laptop, internet) you will like to define the resource as work resource as you spending money based on time but for example it don’t matter how much time you use but you are charged per use of it the resource must be defined as Material Resource an last if it is one time cost, not time dependent and may vary every time you can define this as Cost Resource.

Resource sheet
Resource Sheet
Let's understand Resource sheet in detail,

The first field as name suggests is Resource Name you want to assign or track.

Second is Type as we discussed earlier any of following work, material or cost. 

The other fields are as follows

Material: If resource type is Material Resources in this field you are putting measure unit (like tons, meters, pieces, etc.). This field is disabled for other resource types.

Initials: You can put initials for the Resource (like JD for Jayant Dhawale), this is quite useful to save space on Gantt chart.

Group: If you are going to have a group of resources (like Purchase, Vendors, Painters etc.) here is the place to put the name of the group.

Max: This field is only enabled for the Work Resources. You can put 10%, 50%, 100%, 300%, or any number you want (except 0%). This field defines how much specific resource is available to work on your project. Project use this field for calculating the Work for resource.

Standard Rate: This is Standard fee (MONEY) for the resource. You can put that fee like, for example 100/hour, /day etc. This is true only for Work type. If, for example, resource has $100/hour, and it will work 5 days and 8hours per day, cost for this resource will be 40 hours X $100 = $4,000. This field is disabled for the Cost type, because for this type of resources you will put the exact cost when you will assign that cost to the Task.

 Overtime Rate: This will help you define the overtime rate for resources . This field is enabled only for Work type of resources (there is no overtime work for bricks, or air ticket, is it? 😏)

Cost/Use: That is also known as a Setup fee, this is one time cost you have to pay to the resource to work on specific task. Note that this one time amount is added to task and not for duration. 
For example we have taken help from vendor to install hardware and they will charge one time processing fee for resource onboarding (or travel fee) .

Accrue at: You have three choices: Prorated, Start or End. This when will you charge those costs. Prorated means that if, for example, cost for the task is $1.000, and only 20% of the task is finished, it will be $200 charged! Start means that this $1.000 will be charged as soon as the task begins, and End means that this $1.000 will be charged not before the tasks ends.

 Base Calendar: You are assigning any specific calendar for the resource if you have one. This field is enabled only for Work type. 
Please note that project automatically creates the resource calendar for each work type resource. 

Code: If you have any specific code for you resource put it here.

There are two types of resources: Committed and Proposed. Committed (Default) means that you are 100% sure that this resource is available to your Project. If the Resource is proposed (TENTATIVE), it means that you NEED that resource, but you do not know if it will be available when you will need it.

Scenario continues…


Till now in project we know what kind of task involves to achieve our final output of project. Next step is to start on boarding of resources based on our plan. It is time to revisit our scenario based on resources.

After discussion with management we understand that we will need two functional consultants who can guide us on old system and manual work done in company. Andy and Maxi will travel from Germany to India for Analysis period and will join Jayant who is our technical sr. level consultant for analysis period. The hourly rate for all this consultants are 100 Euro per hour.

Vendor will provide three resources for Installation and Setup, the cost charged by them is 120 Euro per hour also note that they will be charging 10 Euro one time processing fee for Installation and Setup resources for respective task.

Jayant will be available full time on project for Analysis however due to his other project he will be only 50% available during coding time.

We have Soham who will able to develop web pages and coding along with Jayant, Soham will be charged at 56 Euro per hour. Swapnali the database developer will be cost 39 Euro per hour. Note that if Soham or Swapnali need to do overtime they will be charged extra 10 Euro each, this is not applicable to Andy, Maxi and Jayant.

Hemant can help us in creating testing scripts and setting up the documents. He will be charged 24 Euro per hour, the number of xerox copies made for testing are charged 0.25 Euro per copy. Irrespective of how many copies you made, each time you have to pay 1 Euro onetime charge for binding service to create books, it don’t matter how many books 1 or 100 you bind.

Based on above resource conditions in next few blogs we will see how to update the information in our plan.

Understanding Constraints


Constraints has impact on schedule thus it is important to understand them in detail. Broadly constraints can be divided in two main categories.

Flexible Constraints

Flexible Constraints do not have specific dates associated with them e.g.As Soon As Possible (ASAP) and As Late As Possible (ALAP).  Setting these constraints allows you to start tasks as early as possible or as late as possible with the task ending before the project finish, given other constraints and task dependencies in the schedule.

Inflexible constraints

Inflexible constraints have specific date associated with them e.g. Must Start On (MSO) and Must Finish On (MFO) require an associated date, which controls the start or finish date of the task. These type of constraints must be applied when you must take into account external factors, such as the availability of equipment or resources, deadlines, contract milestones, and start and finish dates


When you enter a new task in the Task Name field, Project assigns the As Soon As Possible (ASAP) constraint when you schedule your project from the start date. When scheduling from the finish date, Project assigns the As Late As Possible (ALAP) constraint.

If you drag the mouse in the chart portion of the Gantt Chart to create a new task, however, Project automatically assigns the Start No Earlier Than (SNET) constraint when you schedule your project from the start date. When scheduling from the finish date, Project automatically assigns the Start No Later Than (SNLT) constraint.

When you manually enter a start or finish date for task, you automatically apply a constraint to it.

When you schedule your project from the start date and you type a start or finish date for a task, Project constrains the task to begin or complete no earlier than that date. If you schedule your project from the finish date, however, Project constrains the task to begin or complete no later than the date you type.

Applying Deadlines and Constraints & when to apply them


Now till this time we have linked our all task and our basic plan is ready, before we finalize our plan it is important to look for constraints and apply them to our project.

First, switch all your task to "Automatic Scheduling", this is important as soon as we start applying constraints to our plan the overall duration will be automatically adjusted by MS Project.

Initial Plan
Initial Plan before applying constraints 

Now go back to our scenario and take look at below


  • As many people off during X-Mas vacation it is suggested to complete the manual work analysis with business before 18th Dec.
  • The Hardware sizing must be submitted to vendor by 22nd Dec, any delay will result delay in delivering new hardware and lead to commercial impact.
  • The new hardware will be only available on 5th Jan 2015.
As we can see it in first point we are “suggested” to do manual work analysis before 18th Dec, we will treat this as the deadline for us. When we mark something as deadline MS Project will mark indicator on the plan to showcase the important event.


To setup the deadline follow following steps

Double click on the Manual Work task or click on “Information” button in properties group in Task menu.

Adding Deadline
Adding Deadline
Select the Advanced tab in “Task Information” dialog box. Now click on drop-down next to Deadline and select the 18th Dec 2014 date.

Deadline indicated on Gantt Chart
Deadline indicated on Gantt Chart
Microsoft project will indicate the green arrow showing the deadline of our task, so now we have to make sure that we have to complete the task before 18th.

Now once again Consider at point below

  • The Hardware sizing must be submitted to vendor by 22nd Dec, any delay will result delay in delivering new hardware and lead to commercial impact.
  • The new hardware will be only available on 5th Jan 2015.


This date condition is more serious than the earlier one as if we don’t able to deliver the design we will have commercial impact on the project! It is a constraint that we must complete the hardware sizing on 22nd Dec or earlier.

As per our earlier plan we will able to install new hardware on 31st Dec however this is of no use as the hardware will be deliver and ready for installation on 5th Jan only !

Now let’s configure both the constraint to the project.

Now double click on Hardware sizing task and select “Must Finish on” constraint in constraint type and select 22nd Dec 2014 as constraint date.


Adding Constraints
Adding Constraints

The popup would come up , select the "Continue"

Planning Wizard
Planning Wizard
Once you click ok, you will see the Gantt chart and relevant task are adjusted as per our constraints.
Also you can see new calendar sign next to "Hardware Sizing" task indicating we have applied constraints to this task.

icon indicating Constraints
icon indicating Constraints 
  Now same way set the “Start no earlier than” constraint for “Install new hardware” for 5th Jan.

Applying Constraints
Applying Constraints
Other way of setting this constraint is to manually pull the task in Gantt chart to 5th Jan and Project will set the constraint automatically for you.

Changes after applying constraints
Changes after applying constraints
Once we apply constraints the dependent task are automatically shifted accordingly, all the dates that are affected due to your current action are highlighted in blue color.

I hope till now you understand the difference in deadline and constraints, importing thing to understand that when you apply deadline and your task can go beyond the deadline however if you apply constraint (e.g. Must finish on) your task cannot go beyond the constraint date. Thus use both this wisely as per the situation.

 



Setting Milestones


Milestones are tools used in project management to mark specific points along a project timeline. Milestones do not impact project duration. Instead, they focus on major progress points that must be reached to achieve success.

Milestones can add significant value to project scheduling, it allow project managers to much more accurately determine whether or not the project on schedule. By constraining the dates associated with milestones, the critical path can be determined for major schedule intervals in addition to the entire project. Slack/float can also be calculated on each schedule interval. This segmentation of the project schedule into intervals allows earlier indication of schedule problems and a better view into the activities whose completion is critical.

 For example in our scenario we have task called “Design signoff” as one of the milestone until this is completed we can’t begin with implementation of design.

To mark a Milestone just set the duration to “0” and the project will convert the task to milestone.

Adding Milestones
Adding Milestones

Once you define all your milestones, on the View tab, in the Data group, click a filter in the filter list. Select the Milestone as filter, this will show all milestones in gantt chart. You can use this to showcase project milestone reporting.

Filter Option
Filter Option

Linking tasks – understanding task dependencies


In project task are done in sequence or in parallel. You can quickly link the task by clicking on the task and then dragging them over other task, this will make the link as end to start linkage.

When you link tasks by default MS Project will link the task using Finish-to-Start (FS) type. This means MS project assume that as soon as you finish your earlier task you can start with next task. There are additional types that are supported by MS Project as follows.

Let's understand the task dependency before you start linking the tasks,

Finish to Start (FS) task dependency :

Finish to Start - task dependency
Finish to Start - task dependency


This is default task dependency when you link two tasks, The dependent task (B) cannot begin until the task that it depends (A) on is complete.

For Example, In our case , task "Create Database Scripts" will be only started after "Setup of database".

Start to Start (SS) task dependency :

Start to Start - task dependency
Start to Start - task dependency

In this case the dependent task can begin anytime after the task that it depends on begins. The SS link type does not require that both tasks begin simultaneously. They simply require that the first task has begun, in order for the second task to begin.

For Example: We can start "Hardware sizing" as soon as our "prepare new design" task begins.


Finish to Finish (FF) task dependency :

Finish to Finish -Task dependency
Finish to Finish -Task dependency

 In this case the dependent task can be completed anytime after the task that it depends on is completed. The FF link type does not require that both tasks be completed simultaneously,  They simply require that the first task be finished, in order for the second task to finish.

For Example: "Analyze Manual work" task can complete only after "Analyze old system" task. That can help us to understand what is missing in old system thus user need to do manual work. 

Start to Finish (SF) task dependency :

Start to Finish -Task dependency
Start to Finish -Task dependency

This  is a little tricky to understand, In this type of dependency, you are saying that the second task in the relationship can’t finish until the first task starts. However, the second task can finish any time after the first task starts. 


You can define task dependency in task sheet by entering respective dependency in predecessors column or by dragging task on other task in gantt chart. 

linking task in gantt chart
linking task in gantt chart


You can use network diagram to define the task dependency like below.

Linking task in network diagram
Linking task in network diagram




Adding Duration, Start time and End time (Understanding days vs edays)


You can manually enter the respective Duration, Start date or End date to the respective task. The duration can be marked with number followed by duration indicator like days or hours etc.

To enter duration in Hours you can enter h similarly for min (m), days (d) , or week (w) or y for years. Please note that to indicate months you have to enter as (mo) And not as (m) !

Some time you can enter? Next to duration, this indicates the values are estimated and may change.

Adding Duration to Task
Adding Duration to Task
As you can see the question mark on manual task disappears as soon as you enter the duration and either of start or end date.

In our project there is task to move the data from old machine database to new machine, the task is automated and will be done 24 X 7 and will be continue on holiday.  Your IT person expects this would need 240 hours approx. 10 days to copy data for last 10 years.

Project Schedule when duration is 240 hrs
Project Schedule when duration is 240 hrs 
 If you enter the 240 hrs in duration MS project will schedule it for 6 weeks, this is because MS project assumed the task as 8X5 job with Sat, Sun as off. To tell MS project it as 24X7 job with no holidays change the 240 hours to 240 ehours !

Project Schedule when duration is 240 ehrs.
You will see the task will be now adjusted to 10 days!

When you indicate any duration with prefix e it is treated as elapsed time, you can indicate edays, eweeks and so on.   The Elapsed time as I mentioned earlier 24X7 with no holidays.


Adding Tasks

Now you understand the concept of scheduling mode let’s begin by adding our tasks to MS Project. First look at our WBS sheet. We have three KEY WBS, Enter them manually in available sheet.

New Task Entry
New Task Entry

You can quickly do spell check once you enter task name, for example in above case Analyze task has wrong spelling, you can correct this by using spell checker (press F7).

Task Name after spell check
Task Name after spell check
Now every this WBS ha sub elements, let us begin with Deploy WBS.

Deploy Sub WBS
Deploy Sub WBS

Deploy has 3 sub elements, let's enter same.


Now to mark them as sub Task of Deploy select all the three task and click on Indent Task,

Indent Task option on toolbar
Indent Task option on toolbar

Or right click task and select indent task

Right click option on selected tasks
Right click option on selected tasks

The result will be as below

Task Indent Result
Task Indent Result

Now you can see the Deploy task is automatically switched as Summary task and to automatic mode. This is indeed ok as it will automatically adjusted the duration and dates as per the sub tasks. 

Now to add sub task of Analyze click on task next to it (i.e Build) and select the number of rows as per the required task and right click and click Insert task

Insert Task
Insert Task

The result is as follow
Result : Insert Task
Result : Insert Task

Now you can enter the sub task and then intend task as showcased above.

In case you want to make any sub task to main task you can do so by clicking Outdent task either from toolbar or by right clicking task and selecting Outdent Task.


Outdent Task
Outdent Task on Toolbar



Understanding Tasks Manual vs automatic scheduling, When to use them !

Once we setup the calendar, we are set to enter our tasks to Microsoft project and begin to plan our project.

Before we start do so I like you to understand the concept called Manual Scheduling and Automatic Scheduling.

If you observed the status bar on MS Project you will find bar with comment “New Tasks: Manually Scheduled”

New Task mode in status bar
New Task mode in status bar
When you select the Manual schedule, the tasks can be entered with or without duration, start dates, or end dates. Duration and dates are entered as free-form text, and summary tasks do not inherit dates and task data from sub-tasks.

In Automatic Scheduling the task start and End date are automatically determined by MS Project, In case you didn’t enter the duration, project assumes this as 1 day task. The task Start date and End date is determined by the dependencies with each other and the resource/ task calendar.

It is up to you decide which mode suitable to you, the manual scheduling is useful at initial as at start we don’t know the exact date for task or duration. You can mention the details in the column and MS project will not change it. However once you completed planning it is advisable to switch task to automatic scheduling as this will help project to take care of schedule.

Manual Task with custom data
Manual Task with custom data
You can observe the italic font for duration, start or finish. This way MS project indicate it don’t understand the duration etc.  Also there is no bar exist on Gantt chart.

A word of caution when you switch from manual to automatic and if there is no relation maintained in task then the task moved to start date of project start date and if duration is not maintained it will be treated as 1 day.

How to switch between tasks:

You can switch the task by clicking on task and then selecting Task Mode from Tasks group in Task menu.

Switching New Task mode
Switching New Task mode

Other way is to right click on task and select the mode.

Switching Task mode
Switching Task mode



Creating new calendar


Usually we don’t need to create new calendar as the existing three calendars are enough to perform any critical tasks.  You can customize the existing calendar to fulfill your needs however some time you have some requirement that need to be worked out differently than normal. In such conditions you can maintain the different calendar. Note that resource calendars are created automatically thus you can customize them separately based on resource available time.

TO create new calendar, click on “Change working time” button in “Project” menu and click on “create new calendar ….” Button.

Create New Calendar
Create New Calendar
You will be presented with two options.

Create New Base Calendar
Create New Base Calendar

To create new calendar from scratch or to create copy of existing calendar, Even though you selected new calendar it usually similar to default standard calendar. 

You can give suitable name to your calendar that you can customize like normal calendar and assign them to any task etc.

The partial working hours


If you remember the constraints due to power cut, we need to mark every Thursday as 4hour working.

1. Due to recent increase in power consumption government has declared Power cut for four hours every First Thursday of month for four hours starting from 1 Nov 2014 till 15 Feb 2015.

To do so first select the first Thursday of Dec 2014 (i.e. 4th Dec 2014) and enter Half day in Name.

Change working time
Change Working Time


By default Project assumes that this is holiday, to tell MS project it is half day. Select the row again and click details.

Working Time
Working Time
Now select working hours and remove the second line, to mark this as monthly event. Click on Monthly radio button in Recurrence pattern and select the “The First Thursday of every 1 month” In case this was alternate month event you can change the months to two.

Select End by 15 Feb 2015 so next month I.e from March 15 will be normal working hours.

After you setup you can see Project mark this special days with different colors.

Calendar Legend
Calendar Legend

In case your company not following the default Saturday, Sunday as holiday but may be following Sunday- Monday as off you can set it by setting up the Work week values.


Select work weeks tab, select default row and click details


Select Monday and click “Set days to nonworking time” and then select Saturday and click “Set day(s) to these specific working times” and enter the working hours with break.

The output will be as follows.




Setup Calendar

Even before you jump and start entering your task in project it is good idea to set up the project calendar, In fact it would be good practice to quickly setup the calendar as first thing in project.

Why setting the calendar is important? Because your schedule is depend on this and MS project automatically consider the off hours to reflect correct possible schedule.

To setup calendar, GO to Project Menu and click on Change working time button


Once you click on this Project will open “Change working time” window. 


Even though the first option on this window says “For Calendar” it has broad view. Ie. It refers how you work time and days. If you select the dropdown you will find three options.



24 Hours: Project assume that you are working in all three shifts 24 hours

Night Shift: Project assumes the project is executed in night shifts (12 hours X 6 days)

And lastly standard: means you work 8 to 5, 5 days a week.

You must manually maintain the leaves and working hour exceptions in this three calendar separately if you are using this calendar for any task or as resource calendar.

If you can see next to Standard calendar in bracket mentioned as project calendar, this is the default calendar used by MS project to calculate duration, this is the one we setup while we setup the project information.

Now let’s move to our scenario, we know that no one works on X-Mas and 1st of Jan every year. So we need to mark them as holidays so Project don’t schedule any task for this days.

To mark 1st Jan as holiday select 1st Jan in calendar and enter “New year” in Name column.



If your project is supposed to be executed for 10 years, you don’t need to manually select every 1st of January and mark this as non-working day, you can easily set the recurrence using recurrence.

To do so select the new entry row and click details, select the recurrence as “Yearly” and fill out the range using Start and End after or End by.

Similarly to mark multiple day as off (i.e. X-Mas off on 25th and 26th Dec) go to December month and select both dates and enter X-Mas in Exception Name column.