A few weeks ago, I created a small web app for scheduling project teams at TOPP Labs. At any given time, we’ve got anywhere between 10 and 20 active projects, so keeping track of it all is difficult, and planning ahead requires a good clear overview of everything that’s happening.
Why create something new? Good question. Before I started making a custom app, I experimented with a few existing tools. I started with a basic spreadsheet. Then, I tried dedicated project scheduling tools like OmniPlan. While each of these tools got me part of the way there, nothing was exactly right. Spreadsheets were too slow and OmniPlan was too complicated. I really wanted to do one simple thing: drag people around from project to project on a weekly basis — including the ability to experiment with different configurations. I didn’t need to get more granular than “project”, “person”, and “week”, and I needed something that would let me change these parameters easily and quickly.
The inspiration for what I wanted came from my time as a ballboy at the US Open tennis tournament. At the Open, there are 18 courts, ~300 ballpersons, and 4-5 shifts per day. At every shift change, a crew of 6 ballpersons is assigned to each court — each team consists of 4 “backs” and 2 “nets”, and the team makeup (ratio of veterans to rookies, etc) is critical. The staff at the Open manages all this is with a giant magnet board, holding one magnet for each ballperson. Before each shift change, the staff sets up “crews” by dragging the magnets around the board, grouping them, and finally assigning them to courts. It’s a perfect system for the job — just the right amount of detail, and highly visual and tactile.