/team_tbd_sdtm_spr_2024

Team TDB - Software Development Tools and Methods - CSPB 3308 Spring 2024

Primary LanguagePython

JeoparDIY

Team #: 2

Team/Product Name: JeoparDIY

Team Members:

Day/Time for Scheduled Meetings:

Due to schedule conflicts/uncertainty, meeting dates and times are determined every week on Sunday using www.when2meet.com.

Vision Statement:

"JeoparDIY" is dedicated to offering an endless supply of Jeopardy content for both die-hard fans and casual players. Our platform, while based on past Jeopardy clues, aims to continuously evolve, incorporating new episodes and categories to provide a comprehensive tool for entertainment and learning. With the ability to customize games from a vast database of Jeopardy categories, our product serves as a dynamic resource for fans and a potent training tool for aspiring contestants, ensuring the Jeopardy spirit thrives in every game.

Motivation:

Our team is driven by the desire to dive deep into full-stack development and to harness the power of collaboration using the Scrum methodology. By focusing on delivering a Minimum Viable Product (MVP) that allows users to view, search, and compile custom Jeopardy games, we aim to create a platform that embodies quick, iterative development and continuous feature enhancement within a constrained timeline. This project offers us a unique opportunity to gain valuable exposure to effective project management techniques and to develop skills that are critical for future software development endeavors. Our collective goal is to not only deliver a functional and engaging product but also to grow as proficient full-stack developers through this hands-on experience.

Risks to Project Completion:

  • New Technology: Adapting to and learning new tools and languages poses a significant risk due to varying levels of prior experience among team members.
  • Collaboration: This is the first project we are undertaking as a team, which may present challenges in coordination and communication. Given the remote nature of our team collaboration, casual in-office/in-person drop-ins must be more formal in nature.
  • Resource Availability: There may be a lack of some needed resources, such as specific software or development tools. Additionally, time is a scarce resource for our group of developers moonlighting as both professionals and students.
  • Timeline: Because we are all learning new tools and learning how to work together as a team while doing this project, the timeline for the desired product might pose an issue. It is difficult to know ahead of time how long it will take us to learn the new tools and languages that we will need to complete this project, and how this will impact our product at the end of the semester.
  • Clue Classification: The task of sorting past Jeopardy clues into newly defined, broader themes or categories may pose significant challenges. Jeopardy categories are very diverse, which could make the interpretation and classification of past games complex. By developing scripts, we hope to accurately categorize and integrate these clues into our product, allowing the creation of personalized games.

We are learning how to use various tools in this course and will apply them to this project. This could pose a risk to project completion, as we all have different levels of experience with these tools prior to this course. Given our unique backgrounds, many aspects of the application development will be unfamiliar to us…while other tasks may be entirely familiar. We will need to leverage existing experience to streamline development, while leaning on each other's independent research to further the entire group's understanding when no previous experience exists. For example, this project may be the first opportunity for some to explore full-stack development, database creation/management, etc.

Mitigation Strategy for the above Risks:

  • Skill Utilization and Support: By identifying and utilizing each team member's unique skills, and providing support in areas of lesser experience, we can overcome the challenge of varying expertise levels.
  • Regular Communication: Utilizing Discord for daily communication and problem-solving, alongside our weekly meetings, will ensure steady progress and team alignment. We will leverage https://www.when2meet.com/ to effectively and efficiently schedule our meetings.
  • Resource Planning: Early identification of required resources and planning for their acquisition will help mitigate the risk of lacking necessary tools.
  • Adaptability: In order to mitigate the time limitations of this project, we will set goals for the final project that are realistic and achievable for our current skill sets and knowledge. By doing this, we will be able to focus on making sure that we are able to make tangible progress week to week. If learning new tools or skills takes longer than anticipated, we will adapt our plans accordingly to ensure that our project does not stall and that we can continually make progress toward a final product that we are all proud of, even if it is not in line with our original goals and plans.
  • Specialization: By understanding our unique skill sets and allowing each team member the opportunity to choose to work on particular aspects of development based on their personal experience and/or interest. We will collaborate within our Discord server to assist each other and discuss challenges we are facing outside of our weekly scrum meetings. This will allow us to resolve development conflicts as a team, as opposed to struggling through issues independently.

Development Method:

Scrum will be used as the development method for this project. We plan to take turns serving as the scrum master to allow each of us the opportunity to take leadership roles. Development roles will also change throughout the course of the project, we believe it is important for each of us to get hands-on experience developing multiple aspects of the application rather than seeing one single component from start to finish. There will be a dynamic list of features, requirements, enhancements, and other details for our product. This will help us set goals for the following week and assist our team with determining what each team member will be working on for each sprint. We will have a weekly sprint meeting to review what we’ve accomplished and discuss what’s in the works for the current week, as outlined in the project requirements this meeting will follow standard guidelines for Scrum/Agile development.

Project Tracking Software: