Red Argyle Logo

Patterns
The Salesforce Blog with Tailored Goodness

Our First Company Hackathon

We try to keep our Friday afternoons as “sacred company time” at Red Argyle. We use this common block of time to focus on internal projects and processes and as a chance to reconnect as a company, despite everyone being spread out across the country. Last month, we spent one Friday afternoon having a company hackathon.For the uninitiated, a hackathon is typically a technology-slanted “brainstorm-and-build” session where several people (armed with code, diagramming tools, etc) work together to achieve a common goal in a finite duration of time. Company hackathons have great side effects, including collaboration between teammates, learning through exposure to new ideas, and giving your company an opportunity to focus on itself, which can be a rarity.
The overarching goal at our hackathon was to improve our home-grown project management tool. Here are some things we learned:

Have a Plan

It may sounds obvious, but don’t underestimate the importance of providing structure to hackathon participants, and do it ahead of the day of the event. If you want to involve your entire company, you need to make sure everyone has a way to use their skills to contribute. While we had a solid plan for some of the dev-heavy aspects of our goal (“write code to make X work”), our plan for everyone else was much looser, and consequently it took more time to get everyone contributing and getting a collective energy around the event.

Keep it Short, and set a Deadline

Our first hackathon schedule looked like this:1:00pm: Everyone jumps on Google Hangout, recap the plan previously sent out. Break up into groups and start working.
2:30pm: Check in #1 – see how everyone’s doing…
2:45pm: Back to work!
3:30pm: Check in #2 – one hour to completion….
3:45pm: Back to work – get ready for Demo
4:30pm: Demo time! Pencils down, show the team what you accomplished.
5:00pm: Have a good weekend!4 hours felt like the right duration of time to meet a few times, make progress and have a demo session at the end. Any shorter, and I don’t think you have enough time to get into a productive rhythm. Any longer, and I think the energy would begin to wane.Because we’re a remote company, we used a Google Hangout as our conference room. We kept one “mothership” conference open for the full duration and popped off other hangouts if people needed to dig into a specific topic. I think it would be an interesting experiment to to have all conversations remain in the same hangout. We may try that next time.

Demo Time is the Real Goal

You need an overarching goal to guide your hackathon, but the reality is at the end of the hackathon there may still be a huge gap between that goal and what was actually accomplished. The real goal is The Demo: the time at the end of the hackathon to show off what you accomplished with your teammates. Demo is the reward for all the intense work you put in, and getting a couple oohs and aahs while you demo is icing on the cake.

Managers: Temper Your Expectations

In light of the previous point, keep your expectations realistic. The goal will likely not be achieved. Don’t let that detract from all the excellent work that is being done, especially if you’re seeing your entire company operating as a tight, cohesive unit all afternoon. That’s gold.

Developers: Curb Your Enthusiasm

If ever there is a time to prescribe to a “you ain’t gonna need it” / “get things done” / “done is better than perfect” philosophy, it is during a hackathon. Remember your goal and proceed to throw code at it. Don’t refactor code that hasn’t been written yet. Be a little more repetitive and a little less abstract with your approach. Remember: you need to demo something, and development work is often difficult to demo, especially if its pure code. Keep it simple and make sure you can demo. Also, avoid sharing raw code during demo time. That code needs to drive something (a UI, business processes, etc), so demo that instead.

Everyone: Get Involved

A corollary / counterpoint to my first “Have a Plan” point: every hackathon participant is either adding energy to or taking energy away from the event. Unless you have a specific plan going into the hackathon, plan on being a chameleon and find a way to fit in, even if it’s something you may be unfamiliar with. Remember that a hackathon is an opportunity to learn, collaborate and get work done with your teammates.

Do It Again

Most of the points above were hindsight reflections of our first company hackathon. We’ll go into the next one armed with this information and make some adjustments, and we’ll probably come out with a brand new list of ideas and reflections!