Skip to content

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

UCF has over 68,000 students and thousands of courses every semester. Many of these courses use a combination of educational platforms to distribute course materials (handouts, lecture notes, etc), manage student information, assess student learning, and provide a means of communication between the students and course staff. Examples of such platforms include Canvas, and Ed Discussions.

However, the distributed nature of this system makes it difficult for instructors to synchronize information across each of the different platforms, and the lack of standardization across the university forces students to remember a different set of links for each class.

Your manager has assigned you to a team and has tasked you with building a new course management system over the course of the semester to be used campus-wide. To help manage the scope of this project, they have specifically requested you to focus on implementing the Q&A portion of this overarching system, i.e. the component that enables communication between the faculty and students.

Rather than creating a new Q&A system from scratch, management has decided that you and your team will repurpose and adapt the existing forum system provided by NodeBB. Beyond being a pretty decent forum platform, NodeBB provides complex features that you expect will be useful like user registration, permission settings, post creation, sorting and filtering capabilities, and more.

Despite its considerable functionality, NodeBB is still missing many of the basic features that you would expect to find in a course-based Q&A system and needs changes to better fit this new purpose. 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 Friday, February 9th, 11:59pm

  • Prerequisite: Team Setup
  • Teamwork Contract (35 pts)
  • Project Planning (35 pts)
  • Extra Credit (7 pts)

B) Development Sprint – 130 points – due Thursday, February 29th, 11:59pm

  • Process & Implementation Project Snapshot (80 pts)
  • Project Presentation (50 pts) - Short Video