Applications Services Blog
Get the latest thought leadership and information about the role of Applications Services in an increasingly interconnected world at the HP Blog Hub.

Tips for running a code "hackathon"

By:  Kathryn Kuhn, Agile Evangelist - Product Development IT, Hewlett Packard Company


hackathon word cloud - condensed.jpgOne awesome development practice that seems to be gaining tracking is hosting mass gatherings of developers into "hackathons."  I prefer the term Code Jam, following one of the larger ones in Google Code Jam.  I hear of more groups within HP looking to host hackathons - either as internal events or as developer-oriented initiatives to get people interested in using HP's products more.


But before you book that conference room, buy the pizza and fly everyone in, you'll need to do a little planning and preparation to make sure you make the most of your time together.



 body grapic.png


Solve the Same (Really Hard) Problem

There should be one easy-to-articulate problem that everyone is going to work together to solve.  "Work on the backlog of features" is not a problem.  The problem should be one that the developers themselves value solving and typically something that is difficult or slow to do virtually.  Hackathons are not the time to develop enterprise-ready software.  


Good ideas: Refactor a crucial portion of a large application, learn a new language/protocol by creating a somewhat useful sample application, develop stronger application monitoring features which notify developers faster and with more data when there might be production issues, rework the end-to-end user experience for a particular business problem/user.


Envision the awesome demo at the end... and then work backwards

Make sure it's realistic in the timeframe set aside and the number of contributors.  Be prepared to ruthlessly shed scope.


Organize, but keep it light

Whiteboards, stickies and Kanban boards work the best in this environment.  Resist the urge (plea) from remote non-participants to document electronically.  Scribble, erase, and talk with your hands.  If you focus too much on electronic documentation you lose valuable time in the same room with some pretty smart people.


Sample Daily Agenda

  • Brief standup
  • Review the plan for the day and for the rest of the week
  • Code!
  • Take the last 15 minutes of the day to review and celebrate any achievements and review the plan for the next day


If you really want to be out there, bring in craft supplies for rapid prototyping.  Stanford's D. School has created these awesome carts and highly encourages teams to quickly create low-resolution prototypes of their ideas using pipe cleaners, tape, stickers, construction paper and other materials typically found in a kindergarten classroom. 


Collaborate Constantly, but Allow for Some Focus Time

When the room is full of talking people and I'm trying to focus and get something done, nothing beats a set of good quality over-the-ear headphones.


Environment Matters

Make sure you're in a room with windows, good ventilation and space to move around.  Alternate forms of seating are a plus. No one wants to sit in the same chair/place for hours on end.  Comfy chairs, couches and ball pits are great.  One person brought in their tent and set it up with a lawn chair, sleeping bag and camping pad for quick power naps.


Steady access to food and coffee are a bonus - a little pampering goes a long way. I've been known to judge events quickly and harshly based on the quality of the coffee served.  Contrary to popular belief, developers don't universally love pizza. 


Take time to get out of the building and take breaks - outside breaks are the best.


Give Participants Homework Assignments

Make sure that your participants arrive on Day 1 and are ready to code.  Laptops should be fully configured with all tools and all security/firewall/network issues solved.  Send them background materials to read up on the product or market space or analogous solutions.  Don't assume they will "just know" or that they know/have everything they need to "just code."


Participants should be fully briefed on the goals and objectives of the hackathon before they arrive. 


Celebrate and Make Sure What you Did Matters

This whole thing starts with the idea for a really awesome demo.  So make sure you celebrate that demo. Bring in big screens, add popcorn, bring in extra admirers, and really take the time to admire the accomplishments of the team.  Hand out awards - even goofy ones.


Prizes do matter and make a difference. 


The output of the hackathon should continue to inform the team - remind everyone.  The strides made should be apparent for weeks afterwards.  Take the time to constantly point that out.  Use real data, not just words, to show participants how much of a difference their work made.


Previous blogs by Kathryn Kuhn:

Related links: 

About the Author


kkuhn_Profile.jpgKathryn Kuhn, Agile Evangelist - Product Development IT, Hewlett Packard Company

Kathryn is a self-described Agile Evangelist and Chief Analogy Officer at Hewlett-Packard. Kathryn began her career at Accenture in Washington DC, has done service work in Guatemala, moved her family to Singapore and now calls the San Francisco Bay Area home.  She’s been practicing Agile techniques in its various forms for about 11 years in large and small companies.  She has the usual Agile certifications.  She hopes to be a disruptive force to anyone who thinks that the way we develop products is just fine. @kathryn_e_kuhn

Showing results for 
Search instead for 
Do you mean 
About the Author

Follow Us
The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.