Project proposal
This section describes a project milestone. See the schedule for due dates.
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’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.
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” i.e., 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 at least one persona for a typical user of your product2.
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”.
You can either use our persona template, or another one that you find online.
3. Requirements
Identify the target platform and OS version you are targeting with your application i.e., Android, iOS, Windows, macOS.
What are the features that you plan to deliver on that platform, to solve this particular 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 those 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 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
> Project Proposal
page, and submit a link to your top-level project page.
Proposals must be submitted by the listed time and date.