Adjusting tasks in a project plan

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

Adjusting tasks in a project plan

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

1. A client requests a new login feature halfway through development. What is the best adjustment to the project plan?
A Leave the plan unchanged and fit it in somehow
B Add a new task for the login feature to the plan
2. The team decides a planned animation feature is no longer needed. What should happen to its task?
A Keep the task so the plan never changes
B Remove the task from the plan
3. A team member is away sick for two weeks and their database task is due soon. What is the best adjustment?
A Reassign the task to another available team member
B Delete the task from the plan
4. True or false: A project plan should never be changed once it has been approved.
A False: tasks are adjusted when circumstances change
B True: changing a plan means the project has failed
5. Testing finds a serious bug in the search function. Which adjustment is most suitable?
A Add a task to fix the bug and reorder later tasks if needed
B Remove the testing task so the bug is not found again

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1Add task: Write user guide (2 days, Sam) ATasks were added without adjusting time frames or reassigning people, so the plan is no longer realistic.
2Reassign task: Test login (Mia -> Jo) BAn existing task is given to a different team member so the work can still be completed on time
3Removing a task that is no longer needed keeps the plan realistic and frees up time and people CMove task: Design database before Code login page
4Tasks can be reordered so a delayed task no longer holds up work that depends on it DThe plan was not adjusted. Tasks should be reassigned to other team members so the work still gets done.
5Team member leaves -> keep the plan unchanged and hope the tasks get done ERemove task: Build reports page (client dropped feature)
6Scope grows by 3 features -> add the tasks but leave all deadlines as they are FA new task is added to the plan because a need was found that the original plan did not cover

Definitions

adjusting tasks

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
plan.______("Add login screen")
2.
plan.______("Write help page")
3.
owner = {"Test login": "Sam"} _____["Test login"] = "Mia"
4.
plan.______(0, "Fix login bug")
5.
if "Docs" __ plan: plan.remove("Docs")

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A tasks = ["Design", "Code"]
B tasks.append("Test")
C tasks.insert("Review", 1)
D print(tasks)
Question 2
A tasks = ("Plan", "Build", "Test")
B tasks.remove("Build")
C print(tasks)
Question 3
A owners = {"Test": "Sam"}
B owners["Test"] == "Priya"
C print(owners["Test"])
Question 4
A tasks = ["Plan", "Code", "Demo"]
B cut = tasks.pop("Demo")
C print("Cut:", cut)
D print(tasks)
Question 5
A plan = {"Code": "Sam", "Test": "Sam"}
B for task in plan.items():
C if plan[task] == "Sam":
D plan[task] = "Ava"

Answer Key

Adjusting tasks in a project plan
Section A: Quick Questions
Q1
B — Add a new task for the login feature to the plan
Q2
B — Remove the task from the plan
Q3
A — Reassign the task to another available team member
Q4
A — False: tasks are adjusted when circumstances change
Q5
A — Add a task to fix the bug and reorder later tasks if needed
Section B: Match the Pairs
Q1
Add task: Write user guide (2 days, Sam) → A new task is added to the plan because a need was found that the original plan did not cover
Q2
Reassign task: Test login (Mia -> Jo) → An existing task is given to a different team member so the work can still be completed on time
Q3
Removing a task that is no longer needed keeps the plan realistic and frees up time and people → Remove task: Build reports page (client dropped feature)
Q4
Tasks can be reordered so a delayed task no longer holds up work that depends on it → Move task: Design database before Code login page
Q5
Team member leaves -> keep the plan unchanged and hope the tasks get done → The plan was not adjusted. Tasks should be reassigned to other team members so the work still gets done.
Q6
Scope grows by 3 features -> add the tasks but leave all deadlines as they are → Tasks were added without adjusting time frames or reassigning people, so the plan is no longer realistic.
Section C: Definitions
Q1
adjusting tasks — Changing a project plan's tasks by adding, removing, reordering or reassigning them when circumstances change, so the plan stays realistic and the project stays on track.
Section D: Fill in the Blanks
Q1
plan.append("Add login screen")
Q2
plan.remove("Write help page")
Q3
owner = {"Test login": "Sam"} owner["Test login"] = "Mia"
Q4
plan.insert(0, "Fix login bug")
Q5
if "Docs" in plan: plan.remove("Docs")
Section E: Spot the Error
Q1
C — insert() takes the index first, then the new task. To add a Review task at position 1, write tasks.insert(1, "Review").
Q2
A — Round brackets make a tuple, and tuples cannot be changed, so remove() fails. A plan whose tasks may be cut should be a list: ["Plan", "Build", "Test"].
Q3
B — == only compares values, so the task is never reassigned. Use a single = to assign: owners["Test"] = "Priya".
Q4
B — pop() removes a task by its index, not by its name. Use tasks.pop(2) to remove Demo, or tasks.remove("Demo") to remove by value.
Q5
B — items() gives (task, owner) pairs, so plan[task] would look up a tuple and fail. To reassign Sam's tasks, loop over the task names with: for task in plan: