Project

Overview

The course project for Winter 2026 is a collection of requirements and specification deliverables, including a final Software Requirements Specification (SRS), for a project of your choosing that is hypothetically to be developed by another team. Your team will choose a real-world problem that you think can be addressed or mitigated by software. I encourage you to use this course project as an opportunity to think about how software can be used to improve people’s lives (e.g., improve mental health and happiness, reduce waste and share resources, combat climate change, promote equity and inclusion, etc.). If you are looking for ideas, consider something related to the UN sustainable development goals. Another source of ideas are SE Capstone projects (here and here), but your team needs to find its own problem to tackle.

Starting from a vision for your project, you are responsible for identifying the customers and users for whom you are developing; understanding their problems and needs; expressing their work and needs using lightweight models; resolving, analyzing, and prioritizing needs into the requirements of a proposed solution; testing your hypotheses, ideas, and prototypes along the way; and documenting the final requirements and specifications in a Software Requirements Specification.

A strong piece of advice is to start early and to iterate repeatedly over your work. The actual deliverables may seem small, almost trivial. Indeed, the first deliverables might be only 1-2 pages! But don’t hand in your first draft, in the same way that you wouldn’t (shouldn’t) hand in your first draft of an essay.

Other places on this web site you should refer to: