Guest post by Sanjay Zalavadia
Hackathons have become more popular in recent years. Although the name may conjure up images of lumberjacks hacking into pieces of wood, a hackathon is actually an event in which people such as programmers, project managers, technical writers and others work through a set of exercises in a limited amount of time, with the intent of solving a specific problem.
Many famous products were first developed at hackathons. For example, the Facebook "Like" button as well as the Timeline were both initially fleshed-out at company hackathons. Granted, not all hackathons get such breakthrough results. How can you ensure the best possible outcome for your events? Here are a few tips to keep in mind:
1. Establish realistic expectations
Going into each hackathon expecting to invent something on par with, say, those Facebook innovations is a recipe for disappointment. A better approach is to set a baseline for what will inevitably be a 1.0 product that will need plenty of iteration and refinement down the road. Focus on something you could build relatively quickly, such as a simple API or a web app.
2. Use version control
A version control system such as Git is a standard tool for many software companies, which rely on it to keep track of project branches and changes. While a hackathon has relatively limited scope compared to a more elaborate traditional application or service, it can still benefit from the presence of such a system so that modifications can be tracked and rolled back if necessary. The popular Github (which utilizes Git) is a good pick here.
3. Come up with a demo idea and work backward from it
Hackathons are collaborative events. Before you get started, it is a good idea to have everyone come up with an idea of what they envision will be produced by the event, and then move toward that goal. Are you trying to fix a specific bug during your hackathon? Or maybe looking to modify a longstanding problematic feature? Draw up a plan that has a wide base of support, and execute it.
4. Utilize test management software
Whatever you produce during a hackathon, it is unlikely to be a highly polished product. All the same, it should at least perform its basic functions well and not instantly crash. For instance, the app now known as Timehop began as 4SquareAnd7SevenYearsAgo and did nothing but summarize old Foursquare check-ins in an email. One way to make sure that your app can succeed at its main tasks is to use test management software to put it through a simple regimen that checks for defect trends.
5. Turn to the cloud
You want your hackathon to be a fast, enjoyable and productive experience for everyone. Cloud-hosted resources can be a huge asset here. You might want to take advantage of a platform-as-a-service solution such as Heroku or OpenShift in order to make deployment as painless as possible. These platforms give you a level of scalability and elasticity that you might be hard-pressed to replicate on your own, especially if you are a small organization hosting a busy hackathon.
6. Avoid burnout
It is easy for team members to become exhausted during a hackathon, due to the intense energy expended over a short timeframe. Be sure to take frequent breaks and assess how everyone is doing in terms of focus and well-being. Try mixing up your QA teams, project management and business-side teams in order to stimulate conversation and avoid complacency.
Hackathons can yield amazing results. Combine a well thought-out process with the right technical tools - e.g., test case management software, version control systems and PaaS solutions - to get the most out of your events.
Are you looking to learn about the current market state of agile, automation, mobile, and IoT? Read Zephyr’s How the World Tests Report 2016 for key insights that will help bolster your testing expertise!