This past weekend I had the honor of attending the Ann Arbor Give Camp. A give camp is where a group of developers get together and develop applications for charitable organizations. These applications ranged from new websites, Access applications, web applications and WinForm applications. In all there were 14 charities and about 114 developers that registered.
I was able to spend some time with a few different charities before the event collecting requirements to present to the selection committee. During this process I meet Norm from NOCIRC of Michigan who was looking for an application to schedule volunteers to staff their booth at public events. Norm was excited about making the application generic and available for other charities to use, since many charitable organizations have a need for this type of application.
I presented the application idea to the committee selecting the charities, and it was decided that the application was too large to be completed in one weekend. By that point I was on board with the idea of a generic scheduling system and starting to get a ton of ideas, so I pushed and was told if I could get a team together I could do the application during the camp.
Compiling a Team
I set out to put together an all star team, I contacted dynamite designers, awesome asp.net developers, comedic C# developers, and dangerous database administrators asking them to join the team. When I was done I had commitments from 10 people to work on the application. I was excited and had big hopes for the project, until a week before the event when slowly everyone started to cancel. On the Friday before the event, I had a firm commitment from one developer to work the full weekend and 2 developers that would be able to work on Sunday.
The Event
The event started at 6; I arrived around 5 which gave me time to catch up with Josh Holmes, Mike Eaton, John Hopkins and Patrick Steele. At 6PM sharp, the Give Camp officially started with an introduction from Jennifer Marsman, followed by introductions from each charity. After the introductions, the teams broke out with the charity representatives to talk in depth about the applications that would be developed.
The Team
Before the introductions, I ran into Tim Schafer from GLUG.net. He had not registered for the event, so I was able to snag him for the team. Along with Tim I was able to convince Dave Smith to join. Since I was obviously shorthanded, two other developers, Jen Ledbetter and Marc C, were assigned to my team.
In Depth Requirements
I had talked with Norm a few times before the event, and had a good idea what he needed so I was able to bring screen mock ups to the event. After the charity introductions, the teams went outside to have dinner and discuss requirements. After dinner we went up to our assigned room, created stories and laid out a sprint plan. With the stories in place, Norm decided to take off and let us get to work.
Development
Dave and Jen decided to tackle the database, and start on creation scripts and test data. Marc and Tim started laying out a few pages, and I started the project setup (the data layer and common libraries). By 11:00 PM we had a registration page coded and saving to the database. We were on a good, substantial path. Around 2:00AM my machine was running slow, so I decided to reboot. To make a long story short, the machine did not come back up and I was dead in the water. Luckily my wife’s Carla machine was sitting on the table, and Carla was fast asleep, so I stole it and had a development environment set up in about an hour (luckily I decided to bring the MSDN DVD’s with me).
On Saturday morning, I looked over what we had completed, and realized we were running behind schedule. I talked with the team, and came to the conclusion that our issue was that some team members were fairly new to web development. At that point, we made the decision to do a few hours of pair programming, and make sure that everyone got a good deal of learning out of the experience. It was at that time that Jay Harris sent me an instant message asking if anyone could use a helping hand. Jay was able to jump into our project and help us get back caught up. He was able to clean up all of the pages we had created, and then get to work “wiring” up pages we had just thrown controls on. By 11:00PM Saturday night, it looked like we were going to be able to deliver a working product on Sunday.
Demos
Sunday afternoon at 3:00PM, the teams and the representatives from the charities assembled in the lecture hall to show off the completed applications. At that point development was done, and the projects handed over to the charities. It was emotional to see what the teams accomplished in just a weekend. I was so exhausted when I was showing off our project that I forgot to show many of the features, and kept forgetting what I was event talking about (4 total hours of sleep over a weekend will do that to you).
What we delivered
Our project is currently a work in progress. We were able to get basic registration and events scheduling up, as well as basic event reporting for administrators. We were able to get a domain name registered and site installed at http://www.GiveTime.info . We were able to open source the project through Code Plex http://www.codeplex.com/GiveTime. I plan on working on the Give Time application in my spare time, to add features that we did not have time to complete. I am hoping that another Give Camp will have a charity with the same need, and I would like the opportunity to organize a team to flesh out the application further.
The Fun
We put a great deal of hard work and time into the application during the weekend, but we also had a bunch of fun. We shared a room with Mike Woelmer, Martin Shoemaker, and Dan Hibbits and those guys are great to work near. The conversions ranged from 3rd grade level to college level throughout the weekend. On Saturday night, Dan mentioned he brought episodes of the IT Crowd. If you have never seen this show, you need to check it out. It’s a brilliant British show. We ended up watching all the episodes on the projector screen throughout the night.
I had a fun walking around to the classrooms throughout the weekend watching other teams work. I enjoyed the late night conversations with Sara Dutkiewicz, Greg Campeau and Len Smith. I learned a ton from Jay Harris and hope to work with him more in the future.
The Event
The event was very well organized and catered to the developers that were giving their time. From having endless supplies of soda and monster energy drinks, to having McDonalds breakfast on Sunday. Another thing that sticks in my mind is that during registration each volunteer was given a note book and USB drive. Things that were surely used by many during the development. Jennifer and crew did an absolutely great job with this event, and I look forward to attending more events put together by this team in the future.