Recently, my company did its second-ever hackathon. It was somewhat thrown together, but I think the results were amazing. It provided all the scrum teams with a much-needed break from the everyday grind, but more importantly, it gave them the opportunity to work on something they felt passionately about.
My company wants to give these teams more opportunities to innovate, so we’re doing two more this year; one is slated for August and the other for December. As I reflect back on all the things that happened last week, I’ve realized we can do a lot better. So I wondered about what really makes up a good hackathon. Below are some ideas, but first what IS a hackathon, anyway?
What is a hackathon?
Here’s what wikipedia has to say:
A hackathon (also known as a hack day, hackfest or codefest) is a design sprint-like event in which computer programmers and others involved in software development, including graphic designers, interface designers, project managers, and others, often including subject-matter-experts, collaborate intensively on software projects. Occasionally, there is a hardware component as well. Hackathons typically last between a day and a week. Some hackathons are intended simply for educational or social purposes, although in many cases the goal is to create usable software. Hackathons tend to have a specific focus, which can include the programming language used, the operating system, an application, an API, or the subject and the demographic group of the programmers. In other cases, there is no restriction on the type of software being created.
Now that you’re armed with the knowledge of what a hackathon is, you need to ask the following question:
What problem are we trying to solve?
Yes. You need to ask this question. Are you trying to create the most amazing mobile app ever? Are you in a race to design a faster better portal for your customers? Maybe you just want to build some camaraderie inside your scrum teams. Whatever the problem is, how will a hackathon solve it? When you get that answer, make that the theme.
Once you understand what problem you’re trying to solve, then you need to set expectations. Where do you start with those expectations if you’ve never done a hackathon before? Here are some suggestions
How long will this be? 1 day? 1 week? It’s very important that you time-box this with specific start and end times. It will help the teams decide what is worth tackling inside those parameters.
Team size and make-up
I’ve participated in hackathons where there were teams of one. That’s usually not ideal, but the size of the team depends entirely on what you want to do with all of this. A good rule of thumb is a team of two or more.
Who will participate? Devs and QAs are pretty standard, but what about your IT support folks and Customer Support? You might be pleasantly surprised with the out-of-the-box ideas you get.
Is this a free-for-all or do the teams need to adhere to that theme we talked about earlier?
I’ve also seen hackathons that had no theme at all. In one instance, a group of folks got together to figure out how to run a Keurig off of solar power in their bull pen. That provided no value to the company overall, but it did provide value to that team. It’s up to you, but unless you set expectations, dev teams will continue to do crazy stuff like solar-powered coffee makers.
How do we know we’ve succeeded?
Start with the basics like the SMART acronym: Specific, Measurable, Achievable, Relevant. That being said, the business should set the acceptance criteria for your Hackathon.
The hackathon we recently completed had three criteria: business value, creativity, and how quickly can we implement it. There were other judging criteria – extra points were given for snazzy presentations – but these three items were important to the business.
Will the teams just get bragging rights or will you take it one step further? I’ve seen prizes range from $100 Amazon gift cards to trophies to parking spaces. Get creative and make it worth their while. Otherwise, you’ll get lackluster results.
Running the Hackathon
Planning and Kick-off
Now that you’ve set expectations, how do you actually make this hackathon thing work? Start by giving people time to self-organize into teams and come up with ideas. This can be a week or two. You know your people. You know how long they’ll need to prepare. Then, give them the opportunity to present those ideas at a hackathon kick-off. Make it as big a deal as you want, but remember this: the more excited you are about it, the more they will be as well.
The Actual Hackathon
Once everyone has presented their ideas at a kick-off, then you need to just get out of the way. Let the magic commence. I would even go so far as to suggest that you provide meals and snacks – and maybe beer in vast quantities – to keep that magic going. If roadblocks appear, then remove them. If you need to walk around and be a cheerleader, then do that. Basically, let things happen.
Presentations and Awards
Once the previously agreed-upon time is completed, have closing presentations where the teams show what they’ve accomplished. This is very much like a traditional sprint review in which everyone inspects and adapts their completed work. Invite the world to this wrap-up party, and if prizes are to be awarded, then make sure everyone has the opportunity to vote. You can do this through Survey Monkey or some other voting system you devise. You award your prizes, and then you’re done!
Well. You’re not really done. What are you going to do with all the awesome stuff accomplished during your hackathon? Will you implement everything? Will you only implement the winning projects?
You choose, but know this: if you let the spirit of innovation die on the vine without implementing any of this hackathon brilliance, then you run the chance of never having another hackathon. No one will want to participate. Ever. Again.
So there you have it, Folks. This is by no means the only way to do a hackathon. Just like with anything agile, you need to find the right fit and make it work. I’m sure there are plenty of other wonderful ideas. Please share them in the comments below!