Collaborative Software Development Project¶
Learning Goals¶
- Translating requirements into actionable user stories
- Practice getting to know a pre-existing code base and developing new features for it using previously unfamiliar technology
- Practice version control and development best practices within the context of a group assignment
- Plan and schedule projects in terms of tasks, milestones, and time estimations, and re-plan as required
- Make initial decisions on a team process, and reflect on your experience with the process
- Effectively coordinate among team members and conduct team meetings
- Meaningfully reflect on thse experience of working in teams
Project Context¶
The year is 2042, and Netflix has become a monopoly in the world of streaming video. They have begun to charge prohibitively high membership fees and the users are vying for an open source alternative where they can watch free and publicly available TV and movies.
However, in order for such a piece of software to gain adoption, the open-source Netflix alternative needs to be as feature complete and bug-free as possible. Being the capable developer and concerned citizens that you and your teammates are, you have decided to contribute to the open-source Fakeflix project to help break Netflix's tyranny!
You and your teammates have been assigned to add missing functionality, fix bugs, and improve the overall development process for the Fakeflix project. It is up to you and your team to assess the current state of the project, scope a set of requirements/user stories that need to be enabled, and implement the required functionality or refactorings.
Despite its considerable functionality, Fakeflix is still missing many of the basic features that you would expect to find in a full-fledged streaming service. You and your team will be responsible for coming up with an initial development plan and beginning implementation.
Deliverables and Deadlines¶
This will be the first assignment with your group. There are two (2) deadlines for this project. Each of the core deliverables are described below. This project is worth a total of 200 points.
Detailed information for each of the deadlines has been split into its own subpage on the left.
Tip
This is a large assignment spanning from now until after the midterm. We estimate that this project will take each student on the team on average 8 hours/week over the next 5 weeks, for a total of 40 hours. We highly recommend reading through the entire assignment before starting so you are aware of our expectations for the later deliverables.
To manage all of the write-ups, we recommend saving the pages as a PDF to print or annotate on as you work through the assignment with your team.
A) Team Process & Planning – 70 points – due Monday, September 23rd, 11:59pm
- Prerequisite: Team Setup
- Teamwork Contract (35 pts)
- Project Planning (35 pts)
- Extra Credit (7 pts)
B) Development Sprint – 130 points – due Friday, October 11th, 11:59pm
- Process & Implementation Project Snapshot (80 pts)
- Project Presentation (50 pts) - Short Video