2.3Task Types & Effort-Driven Scheduling
The essentials in 30 seconds
- The task type decides which variable stays fixed in the triangle: Fixed Units (default, units do not move), Fixed Duration (the deadline does not move), Fixed Work (total effort is constant).
- Effort-driven scheduling redistributes a constant total work: adding resources reduces duration without changing effort.
- Consciously choosing the type per task means controlling your schedule instead of suffering it: known effort → Fixed Work; imposed deadline → Fixed Duration.
Running mini-case — Meriem masters task recalculation
Meriem, project manager at an engineering & construction (BTP) company in Algiers, finds that a duration exploded after an assignment. Rather than fixing it at random, she opens the task details (double-click > Advanced) and sets the type. On 'Writing the technical file', the effort is known (40 h, whoever does it): she chooses Fixed Work and enables effort-driven scheduling, so adding an engineer reduces the duration without inflating the effort. On 'Client training', the duration is imposed (3 days): she switches the task to Fixed Duration. She also spots the 'Effort driven' checkbox and remembers that a bad setting produces absurd durations. From now on, she asks herself which variable to fix BEFORE making a change.
Standalone case for this section: it comes back in the lesson, the diagram, the script and the 48h challenge of section 2.3.
1. Which variable stays fixed
Each task has a type that decides which variable stays fixed in the Work/Duration/Units triangle. Fixed Units (default): units do not move; changing work changes duration. Fixed Duration: duration does not move; changing work changes units. Fixed Work: total effort is constant; adding resources reduces duration.
2. Effort-driven scheduling
On top of that comes effort-driven scheduling (effort-driven): when enabled, adding or removing resources redistributes a constant total work (more hands = less time), without changing the effort.
3. Control instead of suffer
A bad setting produces absurd durations or workloads. Meriem asks herself 'which variable do I want to fix' before changing anything, then sets the type: known effort → Fixed Work (often with effort-driven scheduling); imposed deadline → Fixed Duration. That is the mark of a user who controls their schedule.
🔎 Concrete example — 🔎 Concrete example — Choosing consciously
Depending on reality, Meriem decides which variable to fix.
Known effort ('40 h whoever does it') -> Fixed Work.
Imposed deadline ('3-day training') -> Fixed Duration.
-> the default (Fixed Units) = thinking in 'someone at X %'.
Reading : the type decides what stays constant
Reflex : ask which variable to fix BEFORE changing
Reading: a known effort calls for Fixed Work; an imposed deadline calls for Fixed Duration; the default Fixed Units fits when you think in 'someone at X%'.
Lesson: choosing the type according to reality gives credible durations and workloads, without surprises.
Section vocabulary
- Task type
- Setting that defines which variable (units, duration or work) stays fixed during a recalculation.
Simple example: Meriem sets 'Writing the file' to Fixed Work.
What it is not: the bar colour in the Gantt chart.
Reflex: which variable to fix → the task type.
- Fixed Units
- Default type: units stay constant; changing work changes duration.
Simple example: Meriem thinks 'someone at 50%' on a task in Fixed Units.
What it is not: a type where duration stays constant.
Reflex: thinking in % of resource → Fixed Units.
- Fixed Duration
- Type where duration stays constant; changing work adjusts units (and vice versa).
Simple example: Meriem sets 'Client training' to the imposed 3 days.
What it is not: a task whose total effort never moves.
Reflex: imposed deadline → Fixed Duration.
- Fixed Work
- Type where total effort stays constant; adding resources reduces duration.
Simple example: Meriem sets 'Writing the file' to Fixed Work (40 h).
What it is not: a task whose units never change.
Reflex: known effort → Fixed Work.
- Effort-driven scheduling
- Behaviour (effort-driven) where adding or removing resources redistributes a constant total work.
Simple example: Meriem enables effort-driven scheduling and adds an engineer: duration drops.
What it is not: the task type itself, which is a separate setting.
Reflex: more hands = less time → effort-driven scheduling.
In practice — In practice — Mastering task types and effort-driven scheduling
- Open a task's details (double-click > Advanced) and locate the 'Type' field and the 'Effort driven' checkbox, like Meriem.
- Test 'Fixed Work' + effort-driven scheduling: add a resource and check that duration decreases (constant work).
- Test 'Fixed Duration': add a resource and see that duration stays, but work or units change.
- For each task, choose which variable to fix according to reality (imposed deadline → fixed duration; known effort → fixed work).
Step-by-step script — setting the type like Meriem (5 min)
1) Double-click 'Writing the technical file' > Advanced tab. 2) Set the 'Type' field to Fixed Work and tick 'Effort driven'. 3) Add a second engineer: check that duration decreases at constant effort. 4) Switch 'Client training' to Fixed Duration and add a resource: duration stays. 5) For each task, ask yourself which variable to fix BEFORE changing anything.
Effort-driven scheduling is a behaviour; task type is a setting: the two combine, do not confuse them.
Copy-paste template — my type choice per task
Task Reality Type
Writing technical file effort 40 h Fixed Work (+ effort-driven)
Client training imposed 3-day deadline Fixed Duration
Site monitoring someone at 50% Fixed Units (default)
Rule: which variable to fix? decide BEFORE changing
Known effort
Meriem sets 'Writing the file' to Fixed Work: adding an engineer reduces duration, the effort stays at 40 h.
Imposed deadline
Meriem switches 'Client training' to Fixed Duration: duration stays at 3 days whatever happens to work.
Thinking in percentages
On a task in Fixed Units (default), Meriem thinks 'Karim at 50%': the units stay constant.
Effort-driven scheduling
Meriem ticks the 'Effort driven' checkbox: adding resources redistributes a constant total work.
✓ Best practices
- Ask yourself which variable to fix before changing anything.
- Known effort → Fixed Work; imposed deadline → Fixed Duration.
- Use the Smart Tag that appears after a change to choose the recalculation.
✗ Common pitfalls
- Suffering the default type without thinking.
- Getting absurd durations after an assignment.
- Confusing effort-driven scheduling with task type.
Key takeaways
- The type decides which variable stays fixed: Fixed Units (default), Fixed Duration, Fixed Work.
- Work = Duration × Units: changing one variable recalculates another according to the type.
- Effort-driven scheduling redistributes constant work when resources are added or removed.
- Choosing the right type per task = controlling your schedule instead of suffering it.
48h challenge — apply it tomorrow
Like Meriem, take a task with a known effort (e.g. 40 h) and set it to Fixed Work with effort-driven scheduling: add a resource and note the drop in duration. Then take a task with an imposed duration and set it to Fixed Duration: add a resource and see that the duration does not move. Conclude in one sentence on the value of choosing the type consciously.
- I know which task type to choose depending on what I want to fix.
- I understand effort-driven scheduling and how it differs from the type.
- I move from absurd durations to realistic durations and workloads.
Frequently asked questions
Which task type should I choose by default?
It depends on what you want to fix: known effort ('40 h, whoever does it') → Fixed Work (often with effort-driven scheduling); imposed duration ('the training lasts 3 days') → Fixed Duration; the default Fixed Units fits when you think in 'someone at X%'.
Why does my duration become absurd when I change an assignment?
The task type does not match your intention: Project mechanically applies Work = Duration × Units. Before changing anything, ask yourself which variable must stay constant and set the type accordingly; the Smart Tag also helps you choose.
What does the 'task type' decide in Project?