Summary - Hackathons are ways for organizations of any size to engage employees, harness the creativity of their teams and leapfrog the competition in the process. Our VP of Software Development has a 7-step guide on how to host a hackathon.
Hackathons or hack days are great ways for organizations of any size to cultivate and harness the creativity of their teams and leapfrog the competition in the process. Organizing a hackathon is also an excellent way to motivate staff, keeping the work environment engaging, and tapping into the hidden talents of employees. In this blog, I will guide you step-by-step on how to start and host your own internal hackathon event in your software development organization bringing to life your developers brilliant ideas.
Hackathons, also known as hack days, really started to become popular in the 2000s. Hackathons are an event where Software Developers, for a defined period of time, work on topics of interest that may or may not be related to their regular work.
During this event, developers usually take shortcuts and don’t follow the normal processes and procedures in order to expeditiously arrive at a working proof-of-concept (POC). Projects can be undertaken by a team of developers or by an individual. Developers often choose projects that are innovative, let them explore new technologies, may be of value to the business, or simply help make their day-to-day life easier at work.
Hackathons can be internal, in which case only companies’ developers participate in the event, or they can be external with a focus on collaborating with others outside the business. External or open hackathons build an ecosystem around products, giving visibility to the brand, while building the hiring pipeline. In this post, we focus on internal hackathons.
How to run a hackathon in 7 steps
Great, so... you see the value and want to run a hackathon for your organization. How do you make it happen as a development manager? In short, just follow the seven steps in the diagram below starting with crafting a pitch and scheduling it all the way to productizing a hack. Keep reading for more details on each of these important steps.
Step 1: Pitch your hackathon and win buy-in
The first step is developing a pitch slide deck. While hackathons are very common in the software industry, there are still organizations that may be reluctant to give up a day or so of their development team’s time. Anticipate who might resist the idea and address their concerns in your pitch. Explain to them why this process is important to the business. I suggest articulating the following points in your slide deck:
- What’s a hackathon? Give a quick intro to hackathons and their variations.
- List companies that have hackdays: Include some unicorns and some renowned startups and familiar names such as Netflix, Facebook, IBM, Google, Shopify, and of course Klipfolio :)
- List world famous projects that were born from hackdays or free time given to employees: Great examples are Gmail, LinkedIn’s “year in review”, and Shopify Stories. There are many more examples on the web that you can choose from.
- Explain why hack days are important to developers? The classic motivation trio by Daniel Pink is a good data point to touch on: freedom and autonomy, mastery and purpose may motivate people more than money. Recognition and visibility are other motivational aspects of hack days that you can also leverage.
- Why are hack days important to the business? Obviously, motivated employees are a key ingredient in the success of a business and hack days, as discussed, are an important part of that. Cycles of innovation, new opportunities, exploring new areas, derisking big hairy problems, marginal improvements, are all good reasons for business to have hackdays.
- Proposal: You should also include a one slide proposal in your deck with information like, duration, scope, frequency, and evaluation. Basically, now that you have sold the idea, how are you going to run it.
After presenting the pitch to the key stakeholders and getting buy-in, you still have a lot of work to do, but he hardest part is done.
Step 2: Build excitement for your hackathon!
While getting buy-in is a crucial step, having excited participants is probably the second-most important step. If you declare a hack day but your talented team is not into it, then the event and, obviously your initiative, fails. To build excitement among team members, I suggest the following:
- Present a modified version of the pitch slide deck, geared towards developers, and highlight the benefits.
- Be excited yourself: Show your excitement to the team. Use any opportunity to highlight what a big deal it is that you have approval from the powers that be for the event.
- Brainstorm: Engage the team in a brainstorming session to come up with ideas and projects for the event.
- One-on-one: Ask team members what they want to work on in your one-on-one meetings and again, highlight at a personal level, the importance of the event.
- Hallway and elevator conversations: Ask people about their ideas and projects when you run into them in the building.
In summary, use any opportunity to highlight the event and be clear it matters to you, show why it’s important to the business, and why it should matter to developers. This is your event and you should evangelize the heck out of it to rally your team around it.
Step 3: Build a backlog before your hackathon
You don’t want your team to lose time on the day of the event figuring out what they want to work on. Create a collaboration space/document (for example, a wiki page or Slack channel) at least one week before the event and start collecting ideas. Write your ideas down to get people excited and also ask developers to contribute and add their own. You can also facilitate a brainstorming session ensuring the team comes up with as many ideas as possible. Remember, no idea is a bad idea. You can also ask people outside the development team, like Product Management, User Experience designers, content developers and the support team to add their suggestions to the list. However, make it clear to everyone that developers are absolutely free to choose what they want to work on. Remember the motivation trio I mentioned earlier in the post.
In summary, the list of ideas saves time on the day of the event, provides structure and organizes the process, ensures everyone has something to work on even if some developers have a hard time coming up with ideas themselves.
Step 4: Make your hackathon different and memorable
You want the day to be different than a normal day at work. This obviously depends on your context. But, for instance, if your organization provides free food everyday, well, free food is not special... In many cases, having a budget for pizza and snacks works and developers appreciate it.
You can also think about making it an off site event if you can find a good venue. The venue does not have to be expensive. Perhaps even a coffee shop will do the trick, if you don’t have a large team. You can also print posters or change the workstation configurations in the office to make it feel different. If you use Slack or other communication tools, create a channel for the event.
Step 5: Book the date and start preparations for your hackathon
Choosing the right date is also crucial and the most important aspect is making sure people can take time from their regular work. While you have the approval, as per first step, you need to schedule it for a time when everyone is not putting in 150% to finish a business changing release. You will never find the perfect time, but make sure at least it’s not the worst possible time for everyone.
You can do your part by canceling team meetings and booking everyone’s calendar ahead of time to make sure they don’t have to go to other meetings. In addition, communicate the event to the people with whom your team usually meet outside your organization (for example, PM and UX leads) and give them a heads up that your team is not available.
Then the day before the event, have a quick chat with the team, get them excited and reiterate that they should already have a project in mind. While it’s best not to exert too much influence on the projects, you may want to ensure that at least one project is worthy of showing off to management and justifies the value of hack days.
Step 6: Book a hackathon demo meeting
It’s celebration time! Invite senior management and everyone else in the product team to a Hackathon demo. As a manager, it’s your job to make sure key people are present and that the team has enough time to pitch their idea and show off their work.
In addition, depending on your organizational culture, you may also want to select winners chosen by a panel of judges or audience votes. Some organizations prefer not to have winners to avoid demoralizing the non-winners. In my opinion, a healthy dose of competition is always fun and can motivate people! The winners could get more time to finish off their hack, receive a monetary reward, or take a geeky trophy back to their desk!
Step 7: Ship it!
While having a day to work on the topic of their choosing is very exciting for the developers, nothing motivates them as much as seeing their hacks materialize in the product. Keep in mind that if none of the hacks are productized, developers may not be as motivated the next time around. If you have done a good job of assembling the hackathon backlog and facilitating the ideation sessions, you will definitely end up with some hacks that are worth the productization effort. Make sure you do whatever is in your power to select at least one project and feed it into your product roadmap. This demonstrates the value of your hackday to senior management and keeps the developers inspired and energized for the next events.
Wrapping up the hackathon
As a development manager, one important aspect of your job is keeping people engaged, inspired and stoked. Hackathons are one of the many ways you can achieve this goal. Giving developers autonomy and opportunity to master a new technology and infusing the business with fresh ideas are well within your grasp if you follow the seven practical steps described here. Let us know if this advice was useful in setting up your own hackathon.