Sei sulla pagina 1di 15

Team Builder

CST-499 Computer Science Capstone




Faiga Revah, Roderick Burkhardt

2018 August 27
1

Executive Summary

As part of CSUMBs computer science curriculum, students are required to complete a

Capstone project. To fulfill the Capstone requirement, Roderick Burkhardt and Faiga Revah will

be creating Team Builder, an application that uses data to create well balanced teams. The

application will use individual points scored and other metrics to determine the skill of each

player, and will thusly be able to create fair teams. During the course of the development of

Team Builder, the developers will be integrating skills that they acquired during their studies at

CSUMB, such as Agile software engineering, Java programming, security, and design.

The goal of Team Builder is to encourage people to play pickup games, which are crucial

to the skills of athletes. Nearly all professional athletes hone their skills not only during training

time, but also outside of official training in arenas like pickup games in the local park. Players

who are at a lower skill level are often self-conscious and do not play, which results in their skill

levels remaining stagnant. Team Builder will encourage players by tracking their progress and

ensuring that players have teammates who can help them take part in a fair game.

The application will be created within an eight week time frame. The developers will first begin

honing the algorithm by testing it on their client, the San Francisco Gay Basketball Association.

Once the algorithm is working sufficiently, they will then create the interface and integrate the

algorithm with a front and back end of the application.

The application seeks to serve all basketball players- male and female of all ages- who

want to take part in a game. Creating a fairly balanced game will have positive effects on

developing players, who need an arena to fine-tune their skills, and older players, who need an

outlet for physical activity.


2

Table of Contents

Product 3

Problem and solution 3

Evidence 4

Environmental Scan 5

Approach 6

Goals 7

Objectives 7

Stakeholders and Community 8

Ethical Considerations 9

Legal Considerations 10

Project Scope 10

Final Deliverables 11

Usability Testing/Evaluation 11

Team Members 12

Appendix 14
3

Product

A team building app that creates teams for pickup basketball games based on the players

abilities. The app is primarily an algorithm that sorts the players in a game so that fair teams and

balanced games become more likely.

Our app will create a database of players and keep track of their playing abilities. This

will be based primarily on their scoring abilities, but also on other metrics that indicate the

players level of skill and ability. When a user of the app wants to play a game, s/he can search

for neighboring players who are also looking to play, or for an existing game. When a group of

players is assembled, the app will generate teams that are as well balanced as possible.

Problem and solution

Pickup games in the park have many benefits to players. Firstly, it aids player

development, improves conditioning, and of course is a fun way to practice. Many major league

players have honed their skills by playing pickup games in their respective sports.

Neighborhoods that have a culture of athletics often breed more major league players, since

players have more time to practice with a wide spectrum of players, and they can learn from the

skills of many different people.

The problem with pickup games as they are is twofold. Firstly, in neighborhoods where

the culture is not intensely athletic, there will not necessarily be a pickup game available at any

given time. It is important for someone aspiring to become an athlete at any level to consistently

practice, and the availability of a pickup game is key to his/her skills. Secondly, players are

profiled before they even play. If a player looks well built, or is of a certain race, other players

will assume something about their playing abilities and will make teams based on those
4

assumptions. Oftentimes, assumptions are incorrect, which can lead to a game with a two teams

of completely different skill levels.

This app can tremendously benefit female players. Pickup games are nearly nonexistent

for females. Males tend to dominate the courts in the park, and most female athletes practice time

is limited to when their team actually practices. This ultimately contributes to the wide gap

between male and female sports on the professional level. By providing females with a means to

create a game in a space that is exclusively theirs, they will have more opportunities to practice

and hone their skills. Additionally, with the assurance that the games will be evenly balanced,

players will be more confident and thusly more likely to join the game. This can also boost the

culture of athletics for females, which is far behind the male athletic culture. Additionally, this

app can help lesser skilled or confident players, who feel overwhelmed by pickup games, which

are often used as a means of showing off skills. Players can see who theyll be playing against,

and by knowing that the teams will be as well balanced as possible, will perhaps be more

motivated to join a pickup game.

Evidence

A number of studies have shown that as women have more access to coaching and more

opportunities to hone their athletic skills, the muscle gap between male and female athletes

closes (Fain 2016). This implies that opportunities to practice directly impacts not only skill

levels of athletes but also their physical makeup. The more an athlete, either male or female, has

access to training facilities, the more like s/he is able to accrue success in sports.

Studies have shown that one outcome of sports, in particularly team sports, is the

development of self esteem, especially when there is progressive skill development (Rosewater
5

2009). This app allows for progressive skill development by tracking the progress of the athlete

and always ensuring that they are on a balanced team, where each player must contribute.

Additionally, because of the assurance of balance, players will be more motivated and feel more

confident.

Environmental Scan

An application with the exact specification of this application has not yet been created.

There are many applications and websites that incorporate aspects of the Team Builder

application, but no app is designed uniquely for the purpose of building well-balanced sports

teams.

There are team generators that generate teams in a completely random manner, such as

randomlists.com. Most team generators online seem to be projects that were done by one

developer in his/her spare time. They have simplistic functionality, and very little logic

implemented.

There are a few apps that address the pickup game location function. Infinitehoops that

users find local pickup basketball games using their location. Another app, Hoop Maps, appears

to be the most successful pickup game app. In the week of March 22 alone, it gained 10,000 new

users. Hoop Maps is geared towards social networking. The app is connected to Facebook, and

allows for users to invite other players to their game through Facebook even if they are not Hoop

Maps users. The founders hope that the added convenience of joining a pickup game will

motivate people to move and abandon their static lifestyle (Friedman 2017). TechCrunch says

that Hoop Maps falls into the social planning and networking category of apps, making it

fundamentally different from the Team Builder App.


6

In order for Team Builder to properly calculate and balance the teams, the app will need

to keep track of game statistics of both teams and individual players. Capterra, a business

software referral website, lists the top sports league websites and applications. It includes

websites such as TeamSideline.com, which offers automated scheduling and scoring and team

sites, and Wooter Basketball, a platform for league managers to manage registration, schedules,

players, stats and videos. Most of the apps for sports leagues are for management and data

purposes.

Approach

While our application will have a functioning interface, the crux of the application is the

team building algorithm. Thus, we will begin the development cycle by creating and refining the

algorithm to build balanced teams. In order to ensure that the algorithm is as accurate as possible,

we will use our client, the San Francisco Gay Basketball Association as the test case. We will

first record statistics from a number of basketball games, including individual team points,

number of wins per person and team, height of players and position played. The algorithm will

be based on those statistics, and will attempt to create new teams with those players that are well

balanced. We will then continually test and refine our algorithm using statistics from games

generated by the algorithm and from other games.

After achieving a 65 percent success rate, we will begin the design and implementation of

our application. We will first design the application on the front-end using Angular 4 and test

that. We will then incorporate our logic together with the front-end and implement the back-end.

The entire process of development will be test-driven, from the creation of the algorithm, to the
7

design implementation, to the back-end functionality. Once the application is completed, it will

be run through a series of tests on the computer and on our client.

The application will be a web based application written in Angular 4 with Bootstrap UI

integration. The algorithm will be written in Java backend, and accessed via RestAPI calls and

will be paired with a MySQL or a MySQL type database. In the mobile application, the

algorithm will have an accessible component within the phone app to circumvent the possibility

that the phone might be offline during its use.

Goals

Build an application to support the facilitation of teams based on their players skills and

abilities.

Provide each team an opportunity have fun & vigorous play on the court.

Offer organizations a way to support their players abilities and provide them the best

possible experience on the court.

Objectives

Create an algorithm that takes a group of players and creates similar balanced teams for

open gym or league play.

Present the algorithm in an easy to use application for both players and organizations.

Application will allow players as while as organizations to update player information and

record player stats.

Make the application supported on multiple devices, such as desktops and mobile

devices, with support first on browsers, followed by android, with future support for

Apple mobile devices.


8

Future: Allow player or organizers that ability to check players into open gym sessions so

that the system can add them to available teams for playing.

Future: Let players sign up to join league teams from within the application.

Future: Manage league scoring keeping, and merge individual scoring statistics into

players stats.

Stakeholders and Community

The primary stakeholders for the this project will be the San Francisco Gay Basketball

Association and the community of basketball players that play with them. The SFGBA is one of

the oldest Basketball organizations in world that supports the LGBTQ community. The

organization operates basketball leagues twice a year, holds a national tournament every other

year as part of the National Gay Basketball association, and holds open gym 2 to 4 times a

month.

The organization for the most part relies on their founder during open gym sessions to

organize the available players into teams that are some what equally matched. He does this to try

and give every player on each team an opponent that is similar in skills and abilities as they are.

The teams that he creates are often matched in a way that allows each team to play a good

vigorous and challenging game against each other.

During one of the organizations open gyms is where the idea of the team builder

application was conceived with the idea that it might be possible for a computer application that

could possibly assemble teams based on the same player stats that are used to determine the

manually. With this application, the organization hopes would like to be able to create league
9

teams that are more eveningly matched to invite a more fair competition during the leagues

seasons.

Ethical Considerations

Like most other applications, privacy is one of the ethical considerations that we have to

take into consideration. It is important that we ensure that the user data is protected and that as

developers, we take all security precautions necessary. Users will likely have to submit some

form of identification, such as an email or phone number, so that we can create authentic

accounts with primary keys such as an email. Developers have an ethical obligation to ensure

first and foremost that the users private information is protected. Another ethical obligation that

we have is to ensure data integrity. We must make sure that hackers cannot access our data and

manipulate it, because that would jeopardize the integrity of the entire games algorithm. We

would therefore be marketing a product that does not do what it advertises.

In the design process of our application, we were debating whether or not to ask users to

enter their gender, as it would allow for us to create female-only games that are a safe space for

female players who may have less confidence. However, this would perhaps be sensitive for

gender nonconforming individuals, who would not like games to be gendered. This concern can

be mitigated by offering multiple choices for genders, allowing people to pick their games no

matter the gender, or perhaps eliminating the gender consideration altogether.

Handicap players or players of lesser physical ability may also feel the fallout of their

weaker skills. Since they usually have a low impact on the scoring, the record of their data and

its publicity can become embarrassing for them. Therefore, it is important that we give players

options as to whether or not they would like to make their data public.
10

Our application has no environmental impact, and encourages physical activity.

Legal Considerations

There are a few potential legal considerations that we must consider as we work through

this project. The application collects player information, a few of these bits of information can be

considered sensitive information that will need to be properly protected otherwise it could lead to

possible legal and privacy issues especially being that the application will be primarily a cloud

based application. It will be important that we select services for hosting the application that will

help us with securing and protecting the data used in the application.

In the currently planned version, there are not really any other legal considerations that

care clearly present at this time, but in the future should feature such as league registration

include the ability to accept payments, there will be additional legal considerations to take with

the handling of payments.

Project Scope

Timeline:

Faiga Roderick

Week 1 Project Documentation Setup project resources and


management

Week 2 Begin frontend coding Finish base backend application and


start algorithm coding

Week 3 Work on frontend design Continue work on algorithm

Week 4 Begin mock data creation and testing

Week 5 QA testing and debugging

Week 6 Enter / acquire real player and so real time testing at an open gym session and do
debugging as needed.
Week 7
11

Week 8 Finish up documentation and prepare for presentation.

For this project, we will be using a server to host the backend application as while as the

angular framework that will be used as the frontend application for the client to access. We will

acquire the hosting services for the server, likely a virtual machine system that can support all

the required technologies for the project. Additionally we may also sponsor an open gym session

for testing the application once we have completed QA testing on our side of the application.

To handle management, we will use JIRA, this will ensure that each team member stays

on task throughout the project. Github will be used to handle code versioning, branching, and

code merges.

Final Deliverables

Project deliverable are server application that will operate through a angular frontend that

will be used by the client and players to access the application. Players will be able to create and

update their profile information and basic stats. The organization will be responsible for keeping

up player game statistics and other information that is related to the organization. We will deliver

an application that will also include a database for securely storing all the information that is

collected.

Usability Testing/Evaluation

Testing will be done locally using mock data for QA testing in the beginning. Once bugs

are minimized we will move to real data collection of players from our client organization. Once

we have enough players in the system we will than start real life testing of the application in an

open gym scope.


12

Team Members

The developers of Team Builder are Roderick Burkhardt and Faiga Revah. Roderick and

Faiga have worked together the entirety of the CSUMB CSIT degree program. Because the

development team consists of only two developers, most of the work will be evenly shared, aside

from the work that only one of the developers can perform due to geographic constraints.

Roderick is located in Northern California and reached out to our client, the San Francisco Gay

Basketball Association. Because Faiga is not located in that area, Roderick will be accumulating

the data from the client. He will also be testing the algorithm of the application on the client, by

creating teams used by the applications team generator and using the data to tweak it.

Faiga will focus on the documentation and any other writing component of the Capstone

project.

Both Roderick and Faiga will work together to create the algorithm and application. They

will meet frequently through Google Hangouts, and use collaborative tools such as GitHub to

seamlessly collaborate on the project.

Different components will inevitably be assigned to one developer only, but the division

process will be organic. Both developers are seasoned programmers who have previously

collaborated, and the division of labor followed much in that way.


13

References

Fain, E., Weatherford, C. (2016). Comparative Study of Millenials (Age 20-34 years) Grip and

Lateral Pinch with the Norms. Journal of Hand Therapy, 29(4). doi:http://dx.doi.org

/10.1016/j.jht.2015.12.006

Rosewater, A. (2009). Organized Sports and the Health of Children and Youth. The Team-Up for

Youth Monograph Series. http://www.teamupforyouth.org. (Accessed August 20, 2017.)


14

Appendix

San Francisco Gay Basketball Association (client) website: http://www.sfgba.com/home/

Potrebbero piacerti anche