#
M2: Project Proposal
A project proposal is a high-level description of your project. It should detail what you intend to build. We usually do this up-front to ensure that everyone is on the same page 1. It's also a great way to get initial feedback before you have invested too much time in the project.
You must complete M0 Selecting a Project before you can proceed.
#
What to include
This document should be a Wiki page in your project named Project Proposal
. You should include the following sections:
#
1. Purpose
What is the purpose of your project? What problem are you solving, and for what users? Think of this as an "elevator pitch" - a paragraph that defines your project goals.
e.g., "We are building a software application that will allow parakeets to order takeout from their cages.".
#
2. Background
Describe your users, what they need, and what problems exist that you are trying to address for them. Provide a one persona for a typical user2.
e.g., "Polly the parakeet is a typical parrot who can get peckish. Parakeets are always hungry, but they are often caged and can't just go for takeout whenever they want".
#
3. Requirements
What are the features that you plan to deliver, to solve this problem? If you identified any User Stories as part of defining your project, you can include them in this section.
Minimally, list 5-10 features that serve as the core of your project, and that you expect to implement. Make sure to consider the core project requirements, since you need to address them as well.
- You should create these features as issues under
Issues
>List
. They should be unassigned, and listed as "No milestone," since you haven't scheduled them yet.
e.g., "This needs to be a phone app. We'll need to support a stylus because she has claws. The parakeet can use it to pull up her favorite recipes on the main menu, and then click a button to order. We'll send the order through the Uber Eats server. Somehow. We also need to figure out how to get her to enter a password."
This document shouldn't be overly concerned about solutions or technical considerations. It's sufficient to identify what you wish to accomplish in this proposal. The M3 Design Proposal is all about defining solutions.
#
Where to store this document
Your proposal should be contained in a Wiki page titled Project Proposal
, and linked from the README.md
file of your GitLab project.
#
How to submit
When completed, submit your Project Proposal for grading. Login to Learn, navigate to the Submit
> Dropbox
> M2 Project Proposal
page, and submit a link to your top-level project page. Remember that your project proposal should be stored entirely in your GitLab project, and linked from the README.md
file.
Proposals must be submitted by 11:59 PM on the listed due date.
-
You'd be amazed how many projects fall apart because there wasn't a common understanding of what the team was actually building. The more you discuss this now, the less likely you are to have problems later.↩
-
You can either use our template, or another one that you find online.↩