Internal Hackathon
All participants are employed by a single organization.
These are often the most simple hackathons to run, and can produce multiple types of artifacts including Open Source, Inner Source, and potentially Intellectual Property.
Thoughts on internal hackathons here.
External Hackathon
Participants are mostly sourced from the public. Organization can work with both internal and external experts.
Due to the marketing tasks and varied experience of the participants, these can be the most complex to run. The artifacts created in external Hackathons are typically (but not always) Open Source. (More thoughts specific to community hackathons here.)
The content provided here is derived from the experiences of the contributors, makes no claim that this guidance is the only way to execute on these events and as such welcome input from the community in any regard (please see Contributing for further details).
There are many reasons to run a hackathon. Recruiting talents, marketing a product (or a company) and building new skillsets, to name a few. There are different ways to run a hackathon and as mentioned above, at least within Microsoft, we have two categories; External and Internal hackathons.
Internal: We see a hackathon being run in the internal format when we want to build muscles for the employees.
- Collaborate & Learn
- Drive Innovation
- Technical Upskilling
- Shifting Culture
External: An organization can run the hackathon alone or partner with other organizations to gather more audience.
- Discover solutions for industry related problems or for targeted audiences
- For companies, they can host hackathons in the hopes of recruiting gifted talents that fit their vision and culture. For example, Kaggle is an online data science/machine learning community and they host competitions.
- Some organizations may be launching new products or initiatives so they may host a hackathon for potential clients to market their new offerings.
- For VCs and investors, they can host hackathons to find talents and ideas they can invest in. Hackathons such as these will drive innovation and attract many great talents with great ideas
Something to think about - Do you have a system in place to gather metrics to measure success for each of these items?
For more examples of real world reasons why you should run a hackathon
blog coming up soon (How hackathon can play a big role for the culture of an organization/team)
Reference Write-up (Community hackathon) - NurseHack4Health - Spring 2021
Without a problem to address, or categorical area of focus, participants in a hackathon are likely to spend too much time trying to determine a path and may ultimately not provide value to the intended goal of the event. For this reason it is important to define the problem statement, and or areas of focus ahead of time.
Keep in mind that even if you do ask the participants to bring their own problem statements (which is completely fine), it's helpful to provide problem types or categories to help keep the event focused. Remember, hackathons generally have a constrained amount of time. One of the most difficult components of that aspect is balancing specific direction and ideation of the partipants.
The additional focus helps participants understand the goals of the hackathon. The topic(s) may also help participants understand what skills or experiences may be needed, in addition to the expected outcomes. This is especially important when it may be helpful to have less technical individuals on the team that may bring other skills to bear (eg. experience in that type of situation, industry experience, etc.).
The additional categorical focus should also make it easier to identify and recruit coaches and panelists - subject matter or technical. If you know that you want to focus on building a next-generation Medical Records System, then you know you'll likely need expertise in Heathcare, EMRs, Software Development, and Data Development.
Depending on what type of hackathons you want to run you may or not want some of these roles.
- Organizers - this role often represents one or more of the following personas:
- Budget holders - approve any expenses
- Marketing - define and execute a marketing plan to attract participants and raise public awareness
- Technologists - provisioning or creating any required resources (eg. Website, Microsoft teams, etc.)
- Support - depending on the size of the event, this may require one or more of the following personas:
- Topic Leads
- One for each "topic" or category
- Moderates sharing sessions at the end of the hackathon which align with their topic or category.
- Will work to attract people specific to their problem space.
- Tech Mentors - deep technical expertise in topic-relevant areas; ideally each team will have a tech mentor.
- Agile/Design Thinking Mentors - individuals skilled in helping teams break down problems and drive for a Minimally Viable Product (MVP).
- Topic Leads
- Participants - individuals that are (hopefully) working on a team with others. The more diversity of talent, skills, experiences, and background on a team the more learning oportunities for everyone in addition to a better deliverable.
With any hackathon, its important to define success early in order to drive further decisions on how the event is run, teams are formed, etc.
Organizer Goals: Is the desired outcome to...
- educate participants? Are you trying to build awareness and hands-on experience with a technology, product, or concept (e.g. agile development)?
- source ideas for a problem? Are you looking for creative solutions to a particular challenge?
- build functioning solutions? Are you looking to accelerate innovation or time-to-value/market?
- encourage business development?
- create or grow a community? Are you hoping to increase collaboration across teams or the organization? Are you trying to foster a community of external collaborators?
How will you (quantitatively) measure success of the goal(s)?
- Participants progress through the selected training material?
- Amount of dollars invested in project(s)?
- Number of projects advancing to a "business stage"?
Expected outcomes from participants?
- Slideware concept of a solution?
- Functioning Minimum Viable Product (MVP)?
We believe open source is a great fit for hackathons. Open source licensing is still a relatively new and often misunderstood approach to intellectual property, but we believe it's the perfect fit for many hackathons - especially community hackathons.
Whichever licensing option you select, you will need to be clearly communicate any intellectual property (ideas, code, etc.) produced by HACKATHON TEAMS during the event will abide by this decision. We prefer the MIT License, but you shoud understand the other options so you can appropriately fit the license to your event. A communication can be used with the participants along the lines of the following:
Because people are coming together from many different places to join solution teams or act as mentors, and none of these people will have signed NDAs, we require all ideas, code, and documentation generated during the event to be open sourced under the MIT license.
Typically, the event ORGANIZERS own the repositories (to host the code and other artifacts). These organizers will usually designate a co-owner or even the entire team the necessary permissions to contribute artifacts to the repository. We believe GitHub is the best repository for hackathon artifacts and it provides great support for open source projects. (DISCLOSURE: The authors of this are employees of Microsoft which owns GitHub.)
The MIT license allows anyone to build on the output of the event – be that new contributions from the community or for use by commercial solutions. License options like GPL
While we believe open source is the best option for most community hackathons, if you want to be a closed source event, this needs to be VERY clear in your messaging. Here are some things to consider:
- Who is the owner of the intellectual property? The HACKATHON TEAM? The organizers? The sponsors?
- Does each member of the HACKATHON TEAM have and/or need to sign an NDA? What would stop them from taking the idea or code back to their employer or their own business?
- Do you want HACKATHON TEAMS from companies with closed source solutions submitting their product in the hackathon?
If your HACKATHON TEAM produces artifacts like code and documentation, GitHub is our recommendation. We recommend event ORGANIZERS create GitHub Organizations and create a repository for each team under that Organization. They can grant various levels of access to one or more members of each HACKATHON TEAM.
Having covered the basics of a hackathon above, noting the differences between internal and community hackathons, you can now choose your hackathon type below to be directed to the guidance specific to that event type.