To start let’s establish a common understanding of what defines a hackathon, and what does not. It is not an uninvited criminal breach of a secure computer network. Nor is it a clumsy, reckless kludge. And despite the name, a hackathon is not a physical cyber-fitness endurance challenge. Rather, a hackathon is a short-duration event of intense focus and extreme collaboration often comprised of several teams competing for a prize. Hackathons are generally in the context of software development, specifically involving building mobile apps. The goal of the hackathon format is innovation. A new idea or an inventive solution to an old problem. Along the way, hackathons may even produce clever alternatives to the problem-solving process itself.
The goal of the hackathon format is innovation. The competitive setting forces each team to think differently and strategically. Several teams tackle the same problem and vie for a single prize. To win, those teams must capitalize on risk instead of avoiding it. They have to venture down a path no one has tried before in order to gain an advantage. New ideas are brought forward and innovation is born. Hackathoners are not afraid of failing. They are only afraid of not winning. This is a key differentiator to the traditional, more methodical approach to solving problems.
So are hackathons Agile? Yes. They are…for the most part. Hackathons bear all the principles of Agile software development: individuals and interactions, collaboration and responsiveness, and a functioning software end-product. Also, Hackathons are lean. There’s no time for any unnecessary effort (often there’s not even enough time for a minimally viable product!). Hackathons are extreme cases. A whole team hovers over one laptop with several sets of eyes all focused on the same code. Hackathons are absolutely driven by goals—the ultimate goal being victory. And the best results are obtained through an iterative process of plan-build-review, making adjustments along the way.
So why not use a hackathon format for every mobile app development project? First off, hackathons are too expensive for any single organization to use to solve every problem. The cost of everyone devoting their time—albeit brief—on a single problem is just not effective. Many teams’ solutions will go unused and much of the effort poured into those solutions will not be productive (nor rewarded). It’s a great format for innovation but not for productivity. Besides, the hackathon pace is simply not sustainable. The intense fury of a heated competition is not something many teams can endure over the long run—one reason hackathons never appear high on the list of Agile software development techniques.
Despite its Agile characteristics and the lure of rapid development cycles, the hackathon format should be used sparingly. It is a great tool for sparking innovation and facilitating an evaluation and can certainly be used to help organizations through creative slumps and difficult decisions. But once those challenges are met with a winning hackathon solution, the organization should fall back into a comfortable development rhythm that will sustain over time. Agile teams maintain a level of innovation and productivity over the long run, whereas hackathoners make great strides in short bursts. Use a hackathon format to take the lead. Then use an Agile software development approach to cross the finish line.