Cookbook

Recipe for making a GiveCamp

The Main Event!

Organizing and running a successful GiveCamp event involves keeping up with a lot of different aspects of event management:

  1. Volunteers
  2. Venue
  3. Sponsors
  4. Charities
  5. Prizes & Giveaways
  6. Ceremony
  7. Timeline

GiveCamp is a fun and exciting event to be part of but does not come for free. As with any large-scale event, running a successful GiveCamp requires a lot of coordination work to bring all the pieces together. Ideally, the leadership team for an event like this would consist of 3 main players:

  • Leader: someone, or perhaps a few someones, to serve as spokespersons for the event. They would take on the accountability for making sure that the event actually happens, recruit other leaders, approve spending, etc. Basically ?this person is the central point of contact for the event.

  • Participant Coordinator: this person would be responsible for recruiting developers, designers, dba? and other participants for the event. They would be responsible for putting together the communications for this group and work to assign them to charities once collected. An important aspect of this position is making sure that you have enough, b candidates on each team to prevent problems arising from lack of technical skill.

  • Charity Coordinator: this person is responsible for identifying and qualifying charities and other non-profits for participation in the event. The big ?otcha?here is making sure that the development teams will have enough information to build something for the charity. The developers should get some 1:1 time with the charity reps at the beginning of the event, but the more pre-qualification can be done before the event the better.

There is no way that one or two people could pull off an event like this of any scale without getting help. There are several other roles (not necessarily separate people) that are critical to the success of the event, and are listed here:

  • Analyst: part of the charity pre-qualification involves learning about the charities that have applied and determining if the charity is a good fit for the event. Typical analyst duties include:

    • calling the charity to determine initial requirements and scope
    • writing up a summary of the charity? requirements for public consumption and team assignments
    • Serving as point of contact for that charity in communicating dates, times, and other charity responsibilities
  • Venue Coordinator: someone on the team will need to make sure that a venue has been selected that is large enough to support the size of the event, and provides adequate space for the different teams to work. See Venue section below for more information.

Venue

Our first event was done at a Microsoft Partner facility that had multiple cubicles and office spaces for each of the teams to work semi-privately. An alternative might be to get one big giant room, like a gymnasium, and have tables for people to work at. It would probably be noisy this way, but would probably feel more like a larger group effort ?like HackFest does when everyone is in the same room. For the first event, our venue coordinator worked with a couple of sponsors to help pay for meals and made sure that they were ordered, delivered and set up on time. Having snacks around and a couple of Xbox 360s also helped people take the occasional breaks as well.

There are a couple of important things to consider when selecting a venue, including:

  • Building Access: is it open 24 hours? What’s the process for getting entry after hours? In Dallas, we bought a pay-by-the-minute cell phone that could be used across GiveCamp events so that people could call when they were outside for us to come open the door and activate the elevator. That worked out really well as there was only one phone number to rememeber (we put that number on the backs of their ID badges) and we could trade off duties by handing the phone to each other during the event. Also think about air conditioning and heat, depending on the time of year…
  • Network: the big challenge here is bandwidth and network availability. Is the network locked by a WEP key? We put the SSID and Key information on their ID badges too, just like the phone number, so it was easy for people to access in case they needed it.
  • Refrigeration: lots of caffene means lots of drinks means lots of room for them. Ice chests are good, but refrigerators are better. Ice machines with warm soda is a good backup, but I’m not a big fan because of the extra cups needed and extra mess generated. Plus, if you run out of ice, for cold drinks, developers get cranky…

Sponsors

Sponsorship is another important key to running a successful event. Unless you have a personal benefactor, or are independently wealthy, you’ll probably want to try to recruit some local area sponsors to help pay for things. Good items for sponsorship include:

  • Venue
  • T-Shirts
  • Laptop Stickers
  • Goodie-bag items for Developers
  • Goodie-bag items for Charities
  • Meals and Snacks
  • ID Badges and Printer Ink
  • Drinks (one of our sponsors bought us an Iced Tea maker!)
  • Trophies and recognition awards such as certificates, medals, buttons, etc.

Rather than take money, it’s always easier to take goods – so unless you’re willing to incur the tax implications of receiving money from a company, or set up a Non-Profit of your own to handle it, I suggest getting good as donations. For example – see if Dunkin’ Donuts would be willing to sponsor Breakfast one morning, or In-n-Out Burger sponsor dinner…

Charities

The whole point of GiveCamp is to make a difference in your local community. That means finding the right charities, getting them signed up and making sure that the teams building applications for them are focused on providing high value in a short timeframe.

Recruiting widely and early will help everyone get the most out of the event. For the 35 charities that responded to our original request, we ended up with 18 going into the competition. The decision to pair them down this far was based on the number of developers we had participating, the size of the venue we would be working in, and the requests of the charities themselves. It was important to us to make sure that the participating charities were actually non-profits and/or charities, and that they had well defined requirements that our teams had a good chance of completing by the end of the weekend.

Based on what we learned from the first of these events, all participating charities should be encouraged to attend as much of the event as possible. Having representatives from the charities on site made a BIG difference not only in the quality of the development products produced, but helped raise the morale of the development teams to have someone with whom they could work closely on their development. The happiest of development teams came from those that got to spend a large amount of time with their charities.

Prizes & Giveaways

For each of the charities, we offered up a ?asket of goodies?containing books and software. This is a great place to get Microsoft involved as a sponsor ?sponsoring these baskets. Here? what was in our original basket from January, 2008:

  • Visual Studio 2005 (2008 had not yet been released)
  • Expression Suite 1.0
  • Vista Ultimate
  • Office 2007 Ultimate
  • Programming SQL Server 2005
  • Expression Web Step by Step
  • Expression Design Step by Step

Note that over time, we’ve learned that most charities aren’t going to make as much use of the software, so we’re probably going to stop donating that to each charity and perhaps raffle off some of them as prizes to developers that attend. It’s the developers that would make best use of them anyway.

Ceremony and Parties

We also suggest both a pre-event kick-off meeting, and a post-event demo+awards meeting. The pre-event kickoff meeting is intended to accomplish several goals:

  • Get everyone together, face to face, so that we can all meet
  • Give the developers a chance to meet charity representatives in a 1:1 environment
  • Give the developers a chance to meet their development teams
  • Describe the rules of the competition, if there is to be a competition
  • Give all sponsors a chance to speak in front of the participants
  • Give the charities their goodie bags
  • Give the developers their goodie bags

The post-event meeting accomplished the following goals:

  • Give each development team the opportunity to demonstrate their solutions to the entire audience
  • Award prizes
  • Food, Fun and Fellowship after the event
  • Put a ?ow?on the event

Technology Considerations

At the end of the day, these events are about providing technology solutions to non-profits and charities. We have several partners that we’ve been working with that provide some valuable services and software packages for our use. To compliment that list, here is a list of technology considerations we’ve put together in support of running a b and developer-friendly event:

  • Networking: Whether it’s wireless or wired connections, you’ve got to make sure that a solid and reliable fast connection. Especially considering the nature of the hosted web sites and databases… I’d also consider stress testing your environment if you’re not sure. Even at off-peak times, 100 developers hitting the web at the same time might overwhelm your network.

  • Source control: Our friends at SaaS Made Easy have agreed to host TFS sites for each of the charities participating in GiveCamp. You can always go with another SCC, but why would you want to?

  • Web hosting: we’ve been lucky to get the support of DiscountASP.NET for all our web hosting needs. You can certainly reach out to them as one of our partners, or (as some have done) set up your own hosting. If you’re going to self host, think about the variety of applications you’ll be supporting such as Web servers and Database servers, or whatever else your application needs.

  • CMS installs: we’ve also got some great partnerships with software providers to provide free licenses of their software, but it doesn’t hurt to download those installers early to have around. You can use the Microsoft Web Platform Installer for some of these, or you can download the installers yourself and provide to the teams:
    • Graffiti (Telligent)
    • Sitefinity (Telerik)
    • DotNet Nuke
    • WordPress
    • Joomla
    • mojoPortal
    • Drupal
  • Power strips and extension cords – always important
  • Printers – sometimes you need to print stuff
  • Printer paper + extra ink
  • Whiteboards
  • Paper pads, pens & pencils
  • Web cams – these are useful if you want to provide Live Streaming

This list is just a start, as each venue is different, but thinking about thge technology you’ll need beforehand can save a lot of trouble.

An important technical aspect of working with the charities is remembering that they are not technical wizards. When building a system for them to use the developers need to keep in mind that semi- to non-technical people will do most of the site maintenance. Using the products of one of our CMS partners is very highly encouraged. The event is not about showing off your mad technical skillz – it’s about providing value to the charities. Setting up and customizing one of the popular CMS packages, updaing the theme, outlining the content, adding downloadable plugins, and even developing your own plugin is the best use of your time while at the event.

Then, once the application is developed, make sure it gets deployed before you go home. 90% of the time, it is up to the development team at GiveCamp to coordinate with the hosting provider, configure the domain name, and deploy the application to the web. Your charity will NOT KNOW HOW to do this, so you need to make sure you do it for them. Since you’re using a CMS package, the charity should be able to maintain the site after you turn it over, but if it’s not deployed, they won’t be able to update it.

The Code – Who Owns It?

The main idea here is to build applications for charities as they usually don’t have the capacity to build their own sites, and we have the knowledge to get them up and running quickly. Once the code is written, it should get turned over to the charity.  GiveCamp.org will hold absolutely no claims to the code that is written at one of our events, and each event organizer needs to make sure that all of the teams, and the charities know that.  Some groups have recommended that each of the projects be published as Open Source, and allow anyone to work on and/or contribute to the code.  As far as GiveCamp.org is concerned this is perfectly acceptable, as long as the charity (for whom we’re doing the work) is OK with that. Many of the charities I have talked to tell a story about how they lost control of their web site source code, and were no longer able to maintain it. As long as the charity understands what Open Source means, and they’re OK with it, I think it’s fine to proceed that way. Otherwise, the charity should own all rights to the source code that is created for them.

Timeline

I’ve broken the timeline down into 2 sections – overall event planning timeline and “day of event” timeline:

Overall Event Timeline

  • T-6 Months
    • Create non-profit to run the event (optional)
    • Secure Location
    • Get a web site up
    • Recruit sponsors
    • Start advertising with Developer Community
  • T-5 months
    • Recruit charities
    • Recruit volunteers and business analysts
  • T-4 Months
    • Get information from charities about what they want
  • T-3 Months
    • Select final list of charities
    • Advertise Charities on the web site
    • Start recruiting developers
    • Connect with “interested parties” for PR opportunities
    • Produce a PPT slide to hand out to user groups
    • Re-advertising with Developer Community
    • Finalize sponsorship monies
    • Purchase any t-shirts, stickers, badges, signage, etc. for day of event
  • T-2 Months
    • Finalize Catering/Food
    • Assign developers to charities
  • T-1 Month
    • Connect teams to charities

Day-of Timeline

Friday:

11:00 AM – Arrive at Venue and begin setting up (put out signs, drop off food, drinks, etc.)

01:00 PM – Begin sign-ins for attendees

02:00 PM – Opening Ceremonies (introduce event, charities, developers, sponsors, partners, etc)

03:30 PM – START THE CODING!

Saturday:

AM – Training for developers & charities, any interviewing or news folks come out to document the event

PM – Training for developers & charities

Sunday:

AM – Continue working, but start to wrap up

01:00 PM – CODE FREEZE (turn in code, finalize deployments, have lunch with everyone)

03:00 PM – Final Ceremonies (developers & charities demonstrate the application)

05:00 PM – Reception

Other Notes

  • The suggestion was made at #WAM2010 to post a contact number on the public event web site so that family members can reach the event staff if they’re not sure where their loved ones are. With so many people working so late into the night, it is useful for them to have someone to call and ask “when did my husband leave the event tonight?” without wondering if they ran into any problems on the road and are unable to call home.

  • Consider creating some type of document that both the charity/non-profit and the developers sign that basically says “what happens at GiveCamp stays at GiveCamp”. This document would protect the charity from developers that don’t turn over source code or try to charge the charity, and protect the develpers from being forced to maintain the code they developed at the event.

  • When organizing your event be sure to contact any PMI (Project Management Institute), ISSA (Information Systems Security Association), AITP (Association of Information Technology Professionals) chapters or any other user groups in your area they can be invaluable resources.