Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2018 August 27
1
Executive Summary
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
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
Table of Contents
Product 3
Evidence 4
Environmental Scan 5
Approach 6
Goals 7
Objectives 7
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
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.
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
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
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
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
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
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
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
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
Objectives
Create an algorithm that takes a group of players and creates similar balanced teams for
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
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
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.
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
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
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
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
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
Project Scope
Timeline:
Faiga Roderick
Week 6 Enter / acquire real player and so real time testing at an open gym session and do
debugging as needed.
Week 7
11
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
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
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
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
Appendix