Effort vs. Duration in Project for the Web
One thing that historically always confused the hell out of project managers was how Project Management software like MS Project did calculations of effort and durations based on task assignments. When I worked as a Project Manager in the corporate world, these math calculations by MS Project drove me crazy. You would assign the task to a few people, and the duration I set previously would change, messing up my whole schedule and go-live dates. I could never really understand how it worked and why it did what it did, even though I am Jewish and my mom always tells me that I am a pretty smart guy. Since now we can manage schedules in the cloud, thanks to Project for the Web application, I would like to clarify once and for all, how the math is done and, why certain things change when you assign users to tasks, and so on.
Effort vs. Duration vs. Assignments
To understand how math works with Project for the Web, it is first essential to understand the elements involved in the formula. Here are the elements involved:
Effort
Effort is the actual time it takes to do a certain task. For example, let’s say we are doing a SharePoint Migration project, and one of the tasks is to clean up the department file repository prior to migrating those documents to SharePoint. We estimate that the actual effort on that cleanup task is 20 hours. So, in this case, the Effort involved is 20 hours in total.
By the way, in Project for the Web, Effort is Effort, but in MS Project, we used to call it Work. So if you read other blogs or articles about the topic and see a reference to Work, it is really the same thing as Effort.
Duration
Duration is the actual duration it would take to execute the above task. It is not always directly related to effort. For example, if I were to work 8 hours per day, I could complete the above cleanup task in 2.5 days (20 hours divided by 8). However, I have other projects to work on, and those useless Teams meetings with management and my teams take way too much time from my day 😊, so I might only dedicate about 2 hours a day to this cleanup exercise. In this case, the duration of the task will be 10 days (20 hours divided by 2). I hope it makes sense.
Assignments
Assignments are the actual users assigned to a task. Using the above example, if I am the only person responsible for the task, it might take me 10 days to complete it. However, if I get help from my colleague, Mary, and assuming she can also lend 2 hours per day to this, we can complete the task much quicker, in half of the duration (5 days).
And by the way, again, you might see a reference to Units in other articles on the web. I call it an Assignment because it makes sense to me. Units are a bit vague.
Where do we change Effort, Duration, and Assignments in Project for the Web?
We can change Effort, Duration, and Assignments in Project for the Web in the task side panel.
You probably noticed that when you change some parameters, for example, duration, the effort might change. Or when you assign additional resources, the duration might adjust itself as well. So why does this happen, and what’s the logic? Let me explain.
How do Effort and Duration depend on the Assignments?
If you were wondering what the formula is tying all 3 variables, here it is:
Effort = Duration X Number of hours spent by the Assignment(s) per day
That said, a few scenarios are possible as you work on a schedule within Project for the Web and assign various attributes (duration, effort, assignments).
Scenario 1: Task is not assigned to anyone
When the task exists without a resource assigned to it, both Duration and Effort are free text fields. This means you can change the Duration or Effort, and it won’t impact the other field. In other words, the above-mentioned formula is not relevant in this particular case.
- For example, for a task below, I came up with 8 hours of Effort and 2 days for Duration (while the Assignment field is empty).
- I can then change any field to another value, and it leaves the other one unchanged.
- Hopefully, this makes sense. Since we have no one assigned to the task, there is no way for Project for the Web to make any assumptions on how fast the task will be completed since tasks can be done by 1 person working 8 hours a day or 5 people working 8 hours a day.
Scenario 2: Task is assigned to user(s)
When the task already has a resource assignment or resource assignment is made after duration and effort fields are populated, then the above-mentioned formula kicks in.
- To give you an example. Below, I have a task that I assigned to myself and listed 2 days for the duration and 12 hours for effort.
- Using the formula, Effort = Duration X Number of hours spent by the Assignment(s) per day, I spend 6 hours per day on the task. Effort (12 hours) = 2 days X 6 hours per day.
- So when I change the Duration to 3 days, it will change the total effort to 18 (3 days X 6 hours per day)
- However, if I change the Effort to any other number, the duration will not change! In the example below, I changed the Effort from 12 hours to 100 hours, yet it left the Duration the same (2 days)!
- If another resource is assigned to a task, it keeps the same duration but increases the effort. To calculate the new effort, it assumes that users work 8 hours per day. So, in the example below, I once again had a task assigned to me with 2 days of duration and 12 hours of effort. When I added Mary to the task, it kept the duration at 2 days but increased the Effort to 28. 12 hours I had originally assigned to myself + 16 hours for Mary (2 days X 8 hours per day).
In Summary
- Duration is always fixed (when either the effort or Assignments change). This totally makes sense, since, as a Project Manager, you have greater control over the schedule and task dependencies.
- Project for the Web assumes there are 8 working hours in a day for each user assigned to a task (for me, this seems like a half-day, but that’s the reality of a consultant life, I guess 😊.)
- If adjustments need to be made to the Project for the Web “behavior” described above, this can be done within the Power Apps by your IT/Development team