Team Formation Workflow

Pre-requisites

---

1. Download and install Java if you don't already have it (on a Mac, you should already have it)

2. Get yourself assigned to the "junta" group on the a2ultimate.org web-site. You can tell by clicking on "My Account" in the upper right corner. You should see a section marked "Junta Stuff" listing seasons from 2008 onward.

3. Get yourself onto the registration@a2ultimate.org email list so you see any issues that come up during registration

(4. Not strictly necessary, but a good plain text editor will be handy... if you don't already have a favorite in Windows, Notepad++ is good and free to download... for Linux/Mac, I won't step into the vi vs emacs debate)

Help

---

dev@a2ultimate.org (someone on this list should be able to help you out... if not you can always try the junta: a2ultimate-junta@googlegroups.com)

Download & Install TeamBuilder

---

1. Grab the latest version here:

http://a2ultimate.org/TeamBuilder/TeamBuilder_Latest.zip

2. Unzip this file into any location that suits you

3. There is no other installation process, though you may need to edit teamBuilder.bat (Windows) or teamBuilder.sh (Mac/Linux) to adjust the amount of memory the program will consume (1GB by default)

4. Open up the README.txt file for more detailed information, but you should be able to run the appropriate launch script for your platform:

Windows: double-click teamBuilder.bat

Mac/Linxu: open a shell, cd into the TeamBuilder directory and run ./teamBuilder.sh &

Team Building Workflow Overview

---

Basic Workflow:

1. Download players file & open it in TeamBuilder

2. Assign captains (you should have a list of these from the captains committee) & save

3. Run initial search & save

4. Adjust teams & save (really, save a lot... the program does not save anything for you automatically)

5. Upload teams

6. Send out Excel spreadsheet

Notes on Balancing

1. Stats view

2. What is and isn't balanced by the computer

Manual Edits:

1. Making custom baggage groups

2. Fixing age

Managing the Waitlist:

1. Bringing people in from the waitlist

2. Adding to an existing baggage group

3. Download new players file

4. Update existing saved teams

Basic Workflow

---

1. Download the players file for the Division you're working on from a2ultimate.org

a) Click on "My Account"

b) Under Junta Stuff, find the Year, expand the appropriate Season, find the correct Night, and click Players

c) Click on the third link: "Download for team formation program: Tab-delimited"

2. Start TeamBuilder

3. File | Open... (go to the file above)

Note: columns can be reordered / resized as needed (for now they reset everytime you close the application... future work!)

Sorting: you can click any column to sort, but when something changes (like assigning a team member), you may have to re-sort by clicking the column again.

The Team column is a special multi-column sort that groups baggages next to eachother and places captain baggages at the top of each team.

4. Set captains: click the checkbox in the Captain column to make a player a Captain. I recommend sorting by firstname first to easily find people (also, when Team is the sort column, it auto-updates the sort, so people you (de)assign captain jump around).

a) When you assign a captain, the program will automatically pick a team for them. It uses the rule that teams have two captains. To make life easier, it's best to select the captains in the order they are paired. For the most part, every second person you turn into a captain starts a new team (unless one of them is in a group with someone who is already the second captain on another team).

b) After assigning someone to be a captain, you can override what team they're on (to allow for three or one captains on a team). Just click in the Team column of that player and you'll get a drop-down of available teams. In fact, you can assign anyone's team at anytime this way. Also, you can type any number you want.

Note: when you're done changing someone's team, you usually have to either click somewhere else on the screen or press Enter and then F2 to make sure the value stays. That's a default Java UI thing that we'll fix eventually.

c) Some leagues have only one captain per team... to make this work, add a second dummy captain to each team. After all the captains are chosen, de-select the dummy captains.

6. Save this version of the file (you may want to use it again to start from "scratch" but not have to re-assign captains): click File | Save As... and save it as a .txt file wherever you saved the original players file, eg. "fall-2011-sunday_captains.txt"

7. Try a Search (by clicking the Search button). As results come in, you'll set "Best ## results..." in the status bar on the bottom of the window. Depending on your patience, set the time limit appropriately. The longer, the better to a point... I don't usually go longer than 10min unless I have other things to do, like folding laundry. The 20 best results will be saved for you.

9. Now you can take a look at some of the results. In the upper right corner, there's a results drop-down:

a) "Pre-search": the way things were before searching (you can come back here and try a new search)

b) "Option 3: 0.42": the options are listed in the order they were found, the second number is the score. Lower scores are better, they mean the teams are more balanced.

10. If you find an Option you like, save it. You can always re-open anything you save using Save As at a later time (though the search results list will not be saved, just whatever is showing in the table at the time of Saving). Usually, there isn't too much difference between the top 20 options, so I'll just pick one as a starting point and go from there.

I like to keep track of a version in each saved file, eg. "fall-2011-sunday_v1.txt," then "fall-2011-sunday_v2.txt," etc.

11. From here, you can change teams around. When you change a player's team, the whole baggage group will be changed.

Note: You can see some stats on a baggage group by hovering over the Grp Count cell (hovering over any other cell will just show the entire contents of the cell).

12. Another fun thing to do is sort on a given column (say Attendance), select a bunch of the low-scoring rows (drag consecutive rows, or hold Ctrl while clicking anywhere on the row besides the Team or Captain columns), and then sort by Team again. The selection will hang around, so you can see the distribution of your low-attendance players.

13. Whenever there are players (baggage groups) that don't have a team assigned, you can run a Search and just the unassigned groups will be changed... all existing assignments reamin the same). So one strategy for getting closer to balanced teams is to un-assign a bunch of players and the Search again.

14. Once teams have been reviewed and you're ready to upload the results:

a) Save it! eg "fall-2011-sunday_v2.txt" -- you really really want to keep a copy of the uploaded version around

b) back in TeamBuilder, go to Clipboard | Copy for Web

c) open up a text editor and paste the results into the blank text file

d) save this, too! for example as: "fall-2011-sunday_v2-forWebsite.txt"

e) on the web-site, under Junta Stuff, find the correct division and click Team Management, Browse for the new file and Upload it

IMPORTANT NOTE: if you have to make changes and upload a new version of the teams here, there additional steps (see Managing the Waitlist below)

15. When teams are uploaded, we like to send out an Excel spreadsheet version to the Junta / captains.

a) in TeamBuilder, go to Clipboard | Copy for Excel

b) paste into an empty spreadsheet

c) clear out the e-mails (and I usually take out at least T-Shirt size as well)

Notes on Balancing

---

1. Stats view: in the top half of the TeamBuilder program, there is a table of statistics by team. Anywhere you see a cell with two numbers, the number on top is an average (for that team or across all teams in the last row), while the number on the bottom is the standard deviation.

- cells will turn orange or red when their average is more than two or three standard deviations away from the mean, indicating a potential balance problem. The Team column cells will turn the "worst" color of all the cells for a given team.

- the W Attend column is average attendance of the women on the team

- the W Expect column is an estimate of how many women to expect at any given game

2. What is and is not balanced by the computer

- the main focus on balance is getting all the teams as close to the average Adjusted Rank as possible (while keeping the same number of men / women on each team)

- the Rank is made up of the Athleticism, Forehand, Backhand, Receiving, Experience, and Strategy

- the Adjusted Rank factors in attendance (a better than average player's Adj Rank goes down if their attendance is low)

- in addition, the computer will try to spread high-ranked baggage groups out as much as possible... other constraints may be added in the future

- there are a few things that are NOT balanced that need to be manually adjusted:

- Attendance: especially for women (keep an eye on the W Attend and W Excpect columns)

- Age: we've had a couple of teams where most of the people who shoed up most of the time were older

- Height

- Players New to the League: for now, you'll have to spot these by looking for players with only whole numbers for all of their skills, and also by reading the Highest Level comments. Try to avoid placing all the players new to the league on the same team.

Manual Edits

---

The player list and team files are tab-delimited text files. They can be edited in a plain text editor, or even pasted into Excel, edited, and then pasted back into a plain text file. Most common edits include changing someone's baggage group number to add them to another existing group, or editing an obviously wrong age that's throwing off your stats. This usually happens at the last minute during the team review meeting (otherwise, it's usually better to edit baggage groups using a2ultimate.org/admin/).

Managing the Waitlist

---

Overall, managing the waitlist consists of checking on it, deciding to place someone (keeping track up of attendance reports, checking with captains), taking them off the waitlist, and making / uploading a new team file.

1. Check the waitlist by clicking on the "Registration Status" link for the correct division under Junta Stuff in My Account on a2ultimate.org. (You can also see a list of waitlisted players on the List of Players link under each division in the left-side navigation.)

2. Check attendance reports by clicking on the "Score reports" under Junta Stuff

3. Take someone off the waitlist in the "Registration Status" screen. Unless there are special circumstances, players should be removed from the waitlist in the order in which they registered. Be sure to check the different types of waitlisting (paypal-completed_waitlist, check-completed_waitlist) before determining the next person to take off the list.

4. Download the player list again from the Players link under Junta Stuff (the third option: Download for team formation program)... I usually save it as the next version ("fall-2011-sunday_v3.txt")

Note: this version of the player list will include any uploaded Team assignments, so you can start from this file without losing any previously uploaded data.

5. Start TeamBuilder and open the newly downloaded file

6. You should see the newly added plaeyers with no team assignment... assign them to the team you want & re-save the file (alternately, you could've edited the file by hand and assigned the teams)

7. Under Settings, double-check that the base team number is the same as whatever the first team number is on the web-site for that night (eg. in Summer 2011 Thursday, the base number is 481):

Note: It's very important to upload a modified file with the correct team numbers set, otherwise any information about color, team name, etc. will clear out (b/c the system will create new teams). You can always recover the old teams as long as you know the correct team numbers (the a2ultimate.org/admin/ site can help find those).

In general, if you're opening a downloaded players list after teams have been uploaded once, you'll get the correct base number. However, if you just open a file you saved before uploading, it will not have team numbers, and setting the base number is necessary.

8. Use the Clipboard | Copy for Web-site and paste the results into a new file and save that ("fall-2011-sunday_v3-forWebsite.txt")

9. Upload the new file using the "Team management" link under Junta Stuff

13. Notify the newly added player(s) and CC: relevant captain(s) and registration@a2ultimate.org (to keep the team and league e-mail lists updated - currently Kevin does this and is on the registration@ list). This e-mail should include a list of the players names, email addresses, and what team(s) they were added to.