Advengers assemble! With a team of FreeWheelers from around the globe, I recently competed at the NBCU Hackathon on a whirlwind trip to Seattle. Our team built and debuted “adHarmony,” an interactive app that unifies ad measurement across all screens by listening to and recognizing video ads played somewhere nearby. Integrating with LISNR let the app track ads on any device (TV, VOD, mobile, etc.) Spoiler: we lost the competition, but I learned several lessons about teamwork and hackathons worth sharing.
LESSON ONE: KNOW YOUR GOALS
A hackathon is a game with a defined objective, but getting first place isn’t the only way to “win.” From the start, our team defined success as building something ambitious with the potential to improve video advertising (and to learn a few things along the way). Being honest about our objectives helped us relax about the outcome and focus on building something fun.
LESSON TWO: ARGUE VEHEMENTLY. COMMIT COMPLETELY.
Building something in 24-hours requires complete alignment. Anyone working on functionality that doesn’t support the goal is wasted work, and we have very little leeway for waste. Alignment is impossible without first having agreement.
At the starting bell, we set aside time to argue about what we were building. This discussion was heated, controversial and the most productive 30-minutes of the entire competition. Within half-an-hour, we agreed to a common vision and each member of the team felt heard and valued.
After reaching this agreement, solving how to build the app was much easier. We completed the tech design in no time because we were aligned on the same target.
LESSON THREE: FIRST DIVIDE TASKS, THEN SYNC CONSTANTLY.
For those of you who haven’t coded before, building an app is pretty easy:
Build the parts of the app
Combine those parts
It’s kind of like building an Ikea bookshelf. (For those of you who haven’t built an Ikea bookshelf, you’re missing out!)
A hackathon is all about constraints: time, people, and skills. Because we each have different skills, blindly dividing the tasks would lead to bottlenecks. Here’s how we approached scheduling the tasks:
We first took an inventory of our known obstacles and listed the necessary tasks. If two people were working on things that talked to each other, that integration was flagged as a separate task.
Next, we delegated the most critical functionality that didn’t have dependencies and could be completed by the fewest team members.
The team checked-in every 30 minutes to run mini-scrums during which we reviewed progress, updated our list, and held ourselves accountable for delivering against our timelines. This ensured dependencies were complete before subsequent tasks began.
Our synchronized approach ensured we completed the tech in the time allotted and delivered a functional app.
No, we didn’t win, but we celebrated as champions because we achieved what we set out to do: we built something ambitious and learned many things along the way– I’m incredibly proud of our sweet tech.
What has stuck with me after the event is my deeper appreciation for engineering management. But, more important than what I learned, are the FreeWheel friendships that were solidified at the Hackathon. We’re looking forward to our Annual Hackathon in October when we’ll get to invent something new all over again. Advengers Assemble!