As a project manager you have to estimate the project time line and set the deadline according to the human and physical resources on your hand.
In this case generally what I do Using MS Project, is,
- Identify what are the tasks (planning, engineering, development, documentation etc ) needed to complete this project.
- Assign estimated time spans for the corresponding tasks
- Then assign my team members to the corresponding projects. Of course the time span assigned for the project is regarding expert level of the corresponding team member.
Now an obvious issue arises that, to assign date and time schedules for each task (and the corresponding responsible person). In a software lifecycle, there are several situations where some of the team members can't be engaged with the project until some other team members finishes their tasks. For instance, in "Waterfall" software engineering model, when the analysis is being performed by the system analyst, designers, implementers, testers has no tasks to do.
But in real case the time and effort budget might not be positive in this consideration. Obviously all the team members has to work together by utilizing their best affords, no matter in which level or phase of the current project is being continued.
This is up to the Project Manager to plans, manages and ensures the highest level of efforts is being used.
While it is the fact to assign time spans for the team members so that THERE WILL BE NO UNALLOCATED TIME for any team members in the given time line for a project, no matter what the expertise the team members have, MS Project can help us a lot to do that. How? Well lets move...
- First set the project start time, standard working hours, human resources etc.
- Then forget about the time span assignments. Just put and group the tasks.
- Working hours durations for each sub-tasks (NOT the start/end date).
- Assign the resources
It's time now, to assign start and end dates for the tasks.
When you go in the way above, without specifying start and end date, MS Project automatically sets the start time as the start time of the project and sets the calculated end date according the assigned working hours duration for the corresponding task. Obviously there will be lots of 'over allocations' for each resources, as all the tasks starts at the same time and any given team members can be assigned to multiple tasks in the same time.
When using MS Project you can manage the 'over allocations' by simply using "Tools" -> "Level Resources" -> "Resource Leveling" window.
Does it actually distributes unallocated times of the team members properly ?
In MS Project you cannot set the project start and end date simultaneously. So if we consider project start date, the end date will conceptually be considered as the (estimated by MS Project) end date time of latest task. So when we use the feature above, again there will be several 'over allocations' at the end time (conceptual) of the project, of the merged time for a given human resource is greater than the conceptual end date.
In this case you have to put a virtual (or actual) task whose start and end date will be the highest considering any merged time of any given resource and use "Projects tart No Earlier Than" constraint.
---------------------------------------------------------
MS Project -- Considering Multiple Person in Single Task
---------------------------------------------------------
* Use default Task Type "Fixed Units" (Effort Driven)
* Make the "Unit" effort same (always 100%)
* Leave the "duration" as estimated (as well as automated), consider "Work" hours always.
* To assign multiple persons in one tasks, with separate segment of responsibilities, swith to "Task Usage View" and set the appropriate working hours.
- if we increase the basic time of a person resource, we have to choose the first option (increase task duration ...), to remain the UNIT same.
if we decrease the basic time of a person resource, we have to choose the first option (decrease duration ...), to remain the UNIT same.