In the first few weeks, you and your team will choose a project, define requirements, and discuss design issues.
You should create a Wiki page in your GitLab project named Project Proposal, and link to it from the landing page of your project site (i.e. the top-level README file at the top of your project). This page should contain the following details, either on a single page, or multiple pages linked together.
(a) Project Plan
As discussed in the Planning slides, you should identify and detail:
- Goals: What high-level project goals do you have?
- Resources: How is your project staffed? Do you have any constraints on people’s time and availability?
- Risks: What project risks can you identify? How will you mitigate these?
- Milestones: Identify your sprints and deadlines (dates provided on the schedule), and a high-level plan of what to focus on for each sprint.
As discusssed in the Requirements slides, you should detail:
- Problem: One or two-sentence summary of your project idea. What problem are you attempting to solve?
- Users: The specific group of users that would be interested in your project
- Interview at least 2 people in that group, and summarize their feedback in your requirements.
- (Optional) Include a role-based or goal-based persona suitable for your project.
- Functional Requirements: What features are you considering?
- List your “top-ten” requirements: what features do you think are critical? This list doesn’t need to be comprehensive but should call out features that are core to your project.
- Describe in a document but also link to your issues list in GitLab (i.e. Product Backlog of unassigned issues).
As discussed in the Architecture and Design slides, you should detail:
- System Diagram: A box-and-lines diagram that shows the architecture of your application (aka architectural style).
- Non-Functional Requirements: If applicable to your project, list any non-functional requirements (system qualities related to performance, or other factors). Most projects in this course will not have these, unless specifically identified by a user during interviews.
We will grade content in your GitLab project directly. Please ensure that:
- you previously emailed the instructor your project URL when you formed your project team,
- instructors and TAs have permission to access your project, and
- everything is completed (documented in your project Wiki) by the deadline.