Grade by Grade
B. Software Development · Software Development: Managing a Team Software Project

Software Development: Managing a Team Software Project: Unit Review

A4.2 A4.4 B1.1 B1.2 B1.3 B1.4 B1.5 B1.6 B1.7 B2.1 B2.2 B2.3About 40 minutes
Learning goals
  • I can plan a software project: roles, requirements, work breakdown, estimates, risks, schedule and design.
  • I can use Git and a formal test plan (unit, integration and regression tests) to build software as a team.
  • I can track progress, control changes and manage my own time.
  • I can document, deliver, support and review a project, and reflect on my own and my team's work.

Words to know

scope document
The agreed statement of what the project will and will not deliver, with requirements, deliverables and schedule.
critical path
The chain of zero-slack tasks; it sets the shortest possible project length.
commit
A saved snapshot of the project in Git, with a message and an author.
regression test
Re-running existing tests after a change to make sure nothing that worked is now broken.
earned value (EV)
The planned hours of the work actually finished.
variance
The difference between planned and actual.

Let's review!

In this unit you ran a software project from start to finish: you planned it (roles, requirements, a work breakdown, estimates, risks, a schedule and a design), built it with Git and a formal test plan, kept it on track with progress measures, change control and good personal time management, and finished it with user documentation, delivery, a support plan and a review. LendIt, the lending app for the Maple Grove Community Centre, was the worked example throughout; your own project followed the same steps.

How to use this review

Do two or three sections at a time. Answer on paper first; for calculations (estimates, critical paths, earned value, variances), show your working before checking. For every question you get wrong, write down why (forgot a term? arithmetic? mixed up two ideas?) and revisit that lesson. The quiz at the end mixes all the lessons.

Planroles, requirements,WBS, estimates,schedule, designLessons 1 to 5BuildGit, branches,unit and integrationtestsLessons 6 to 9Controlburndown, EV,change control,your own timeLessons 10 to 11Finishdocumentation,delivery, support,reviewLessons 12 to 14lessons learned feed the next project
The unit as one project: plan, build, control and finish, with the review feeding the next project.

Software Projects and Teams: Stages, Models and Roles

1

A client is not sure what she wants and would like to try early versions. Which model suits her better, waterfall or iterative, and why?

2

What does a responsibility matrix record?

3

Name three things a team charter should include.

Requirements, User Stories and the Scope Document

1

Functional or non-functional? "Staff can see a member's loans within 2 seconds."

2

Write a user story for a staff member checking an item back in.

3

What is scope creep, and which document protects against it?

Work Breakdown, Deliverables, Estimates and Risks

1

A task has O = 2 h, M = 4 h and P = 12 h. Find the PERT expected time and standard deviation.

2

A work package needs 12 hours of effort. Two people each work 2 hours a day on it. What is its duration?

3

Give a response for the risk "a team member is sick for several days".

A3 daysB2 daysC5 daysD1 dayStart A first.D needs B and C.
A small task network for the next section. Each box shows a task and its duration in days.

Scheduling Tools: Gantt Charts, PERT Networks, the Critical Path, Calendars and Task Boards

1

For the network in the figure, do a forward pass. What is the project length, and which tasks are on the critical path?

2

Find the slack of task B.

3

What does a WIP limit on a task board do?

Design Documents: Architecture, Data, Interfaces and Traceability

1

What is a traceability matrix used for?

2

What does this interface tell a teammate? def late_fee(due: date, returned: date) -> float

3

Why agree on module interfaces before coding starts?

Managing Source Code: Shared Folders and Version Control with Git

1

Which two commands record a changed file in the repository's history?

2

What is the difference between git restore on a file and git revert on a commit?

3

Why add a .gitignore file?

Teamwork with Git: Branches, Merges, Conflicts and Code Review

1

When is a merge a fast-forward?

2

Describe how to resolve a merge conflict.

3

Why use pull requests instead of merging straight into main?

A Formal Test Plan, Part 1: Unit Testing with unittest

1

An item due Friday, November 20, 2026 comes back Thursday, November 26. What should late_fee return? Write the assertion.

2

Which numbers of items already out should you test for the 3-item limit?

3

What are the three steps of test-driven development?

A Formal Test Plan, Part 2: Integration, Regression, System and Acceptance Testing

1

What is the difference between a stub and a driver?

2

Why run the whole test suite after every change?

3

Who does acceptance testing, and against what?

Keeping a Project on Track: Progress, Burndown, Earned Value and Change Control

1

PV = 40 h, EV = 30 h, AC = 50 h. Find SPI and CPI and interpret them.

2

On a burndown chart, the actual line is above the ideal line. What does that mean?

3

List the steps of handling a change request.

Managing Your Own Time in a Team Project

1

Eisenhower matrix: where does "write the integration tests due next week" go, and what do you do with it?

2

Your estimation ratio is 1.4. You estimate a new task at 5 h. How long should you plan for?

3

You are stuck on a bug that blocks your task. What should you do?

User Documentation, Training Materials and Deployment

1

LendIt is at version 1.0.0. Give the next version number for (a) a typo fix, (b) a new feature that keeps old data working.

2

Who reads the user guide, and who reads the README?

3

What belongs on a quick reference card?

Closing the Project: Acceptance, Delivery, Support and Maintenance

1

Name the type of maintenance: (a) fixing a crash reported by users; (b) adding skate sizes; (c) updating the program for a newer Python.

2

What does the client's sign-off mean?

3

Name four things a support plan should state.

Project Review and Reflection: Plan versus Actual

1

A milestone planned for Thursday, November 26, 2026 is reached on Thursday, December 3, 2026. What is the slip in working days?

2

Planned effort 60 h, actual 75 h. What is the effort variance?

3

Rewrite blamelessly: "Amara was too slow at testing."

Just for fun

A project manager's favourite three words: "on time, done". The team's favourite three words: "all tests pass". The client's favourite three words: "can it also..."

Check your understanding

Quiz

1.

Which requirement is non-functional?

2.

A task has O = 3, M = 5, P = 13 days. What is its PERT expected time?

3.

What is the critical path?

4.

Which command creates a new commit that undoes an earlier commit?

5.

Two teammates changed the same line on different branches. What happens when the second branch is merged?

6.

Which test checks that the storage and loans modules work together?

7.

PV = 50 h, EV = 40 h. What is SPI, and what does it mean?

8.

Under the Eisenhower matrix, what should you do with an important but not urgent task?

9.

LendIt 1.1.0 adds a feature. A later release only fixes a bug. What is its version number?

10.

Which is the best recommendation for a project review report?

For parents and teachers

How to use the review: Let your teen work through two or three sections at a time and check answers honestly. Mistakes show which lesson to revisit:

  • Mixing up project models, roles or the team charter → Software Projects and Teams: Stages, Models and Roles.
  • Functional versus non-functional requirements, user stories, scope creep → Requirements, User Stories and the Scope Document.
  • PERT arithmetic, effort versus duration, risk responses → Work Breakdown, Deliverables, Estimates and Risks.
  • Forward and backward pass, slack, critical path, task boards → Scheduling Tools: Gantt Charts, PERT Networks, the Critical Path, Calendars and Task Boards.
  • Interfaces, traceability, design documents → Design Documents: Architecture, Data, Interfaces and Traceability.
  • Git basics: add, commit, diff, restore, revert, .gitignore → Managing Source Code: Shared Folders and Version Control with Git.
  • Branches, fast-forwards, conflicts, pull requests → Teamwork with Git: Branches, Merges, Conflicts and Code Review.
  • Writing unittest assertions, boundary tests, TDD → A Formal Test Plan, Part 1: Unit Testing with unittest.
  • Stubs and drivers, regression, acceptance testing → A Formal Test Plan, Part 2: Integration, Regression, System and Acceptance Testing.
  • SPI and CPI, burndown charts, change requests → Keeping a Project on Track: Progress, Burndown, Earned Value and Change Control.
  • Prioritizing, estimation ratios, blockers → Managing Your Own Time in a Team Project.
  • Version numbers, kinds of user documentation → User Documentation, Training Materials and Deployment.
  • Kinds of maintenance, sign-off, support plans → Closing the Project: Acceptance, Delivery, Support and Maintenance.
  • Working-day variances, root causes, blameless wording, reflections → Project Review and Reflection: Plan versus Actual.

Arithmetic slips in the estimating and progress questions are worth redoing slowly with every step written out.