Final Project: Team Sprint 1
100 points
Due on Gradescope Thursday, April 04, 2023, 11:59pm
This final project homework is to be done and submitted as a team.
Learning Goals
Congratulations! Your project has found an investor who expects you to show them an MVP by the end of the semester. You should use the knowledge and experience you gained during the semester to build the MVP and satisfy that investor. We will not set deadlines for you this time. Instead, you must create your own plan. We will monitor your progress. It is your job to manage your time and your team to reach your goals in time.
Note: The final sprint will also take into account individual progress, so team management is crucial at this early juncture.
Final Project Tasks
In this pre-project sprint, you will create your own GitHub repository (inviting your team members accordingly) and specify user stories that will be included in your MVP and a plan/timeline to achieve them. This plan should include how many sprints you plan to do (within the timeframe), at what cadence, and what you plan to achieve during those sprints. You must also decide upon your tech stack: front-end and backend frameworks, databases, CI, team communication tools, etc.
You will also create a project homepage/landing page that should display your project name, logo, the list of team members on an about (sub)page, embed your pitch deck content (not just a pointer to your slides), and contain a two-sentence elevator pitch for what it's all about.
We continue to expect you to make proper use of your Kanban board, especially when assigning tasks to (all) team members.
We'll be checking to make sure that each team member has tasks/stories assigned to them.
Team Contracts
When working with a team, it is important to discuss each team member’s background and establish common expectations of the team. Miscommunication or the general lack of communication are often the most common causes of team conflict.
!!! Note: "Team Conflict Example"
A common conflict in working style is when there are team members who always want to get a headstart on their work, while there are team members who are fine with doing work a few days before the deadline. It causes panic in the former team members, while the latter team members feel frustrated as to why they are being rushed.
You will create a teamwork contract with your teammates. It is a 1 - 2 page document containing information that all teammates agree to follow. You should work on the contract with all members present. We recommend that you keep it to around 1 page. 2 pages is a hard limit.
Additionally, it is more important that you only include statements that the team will adhere to than it is to fulfill the length requirement (quality over quantity!) You do not need to write full sentences (bullet points are okay), but your decisions must be clearly conveyed in the document.
You are free to include anything that your team deems necessary, but you should minimally address the following sections:
-
Expectations
How much time is each team member expected to be putting into working on projects? Punctuality? How would your team accommodate when unexpected commitments come up for a team member (e.g. interviews, sickness, competitions)?
Do accommodate for the fact that the project load can get heavier towards the end of the semester.
-
Communication
What platform (s) will your team be using to communicate? What’s the expected time to get a response?
For any communication platforms you decide on, please test that everyone can receive notifications. We highly recommend using apps (Slack, Discord) over browser-based sites.
-
Meeting Schedule
When and how will your team meet? What modality would it be?
A strong recommendation would be to set up a recurring 1-hour meeting blocked out for the rest of the semester so that your team does not have to scramble to find a common meeting time each week. Teams that have recurring meetings are generally more successful in the class.
-
Responsibilities
How will you divide responsibilities for each project? During meetings, who will be in charge of note-taking, organizing and running those meetings?
From past courses, we noticed the natural emergence of a project manager in teams, who ensures the project moves towards completion. We highly suggest that you consider how your team would rotate that role amongst team members over the course of the remaining projects. Throughout the semester, we will ask for documentation of your meeting notes, so be sure to keep them organized (we recommend using a shared Google Drive folder).
-
Equitable Contribution & Conflict Resolution
What are the steps the team would take among its members to address teammates who are contributing too little? If all attempts to resolve the inequity are unsuccessful, when will the team bring this up to the instructors? What are the steps to bring up and discuss potential teamwork issues?
The first thing the staff will do is ask the team if they have followed the steps on their team contract.
Feel free to seek the assistance of TAs and instructors in drafting this document.
!!! Note
We will ask you to reference, reflect upon, and refine this document throughout this project, and we will evaluate your team's process strategies and interactions through what you outline in this contract. Please ensure that everyone on your team thoroughly discusses each of the above sections and agrees with the final decisions.
Once you have completed the contract itself, have all members sign and date the document as an indicator that all members have read the document and agreed to uphold all outlined items. Include this document as part of your submission below.
We also highly recommend that you bookmark the teamwork contract in your team’s Slack channel.
Team Deliverables
A project proposal document uploaded to Gradescope containing the following:
- A short intro/motivation for your startup and product (1-2 paragraphs).
- A link to your project homepage/landing page. This static site should include:
- your project name and project logo.
- the list of team members on an about (sub)page.
- an embed of your pitch deck content (not just a pointer to your slides).
- a two-sentence elevator pitch for what it’s all about.
- A link to your team's GitHub repository, which you should create for this project and invite members of your team to.
- Set of prioritized user stories that will be included in your MVP.
(Recall HW2).
- You should have a project backlog in some online tool that your team members can use to collaborate with; e.g., GitHub Projects, GitHub Issues, Trello, Zenhub, etc. Include a printout in PDF format of this backlog with your proposal. All user stories must have at least one team member attached.
- A list of user interfaces your product should contain, along with wireframes for each (Recall HW3).
- A list of what you will use in your tech stack: backend framework, front-end framework, database, etc. Agree upon and list your communication tools (e.g., Slack, etc), and development infrastructure (development environment, CI, code style/linting). Agree upon and list where you will deploy your application (e.g. Render, fly.io, Azure, Heroku, AWS, etc).
- Plan/timeline you anticipate following to build the MVP.
- How many sprints will you do? What will the cadence be? What will you accomplish during each sprint? When will each sprint take place? Schedule them on a calendar.
- In this plan, you should include how you plan to divide the workload among team members. Keep in mind that we will evaluate you against your own timeline, so try to be realistic.
- Your team contract (as discussed above).
Note: To evaluate your progress for the rest of this project, we will be scheduling regular meetings with your team for the remainder of the semester. Keep this in mind and take care to plan a realistic schedule.