Ergonomics of Hackathons and Code Sprints
I recently posted a rather long blog regarding my experience at the London WaterHackathon. Essentially over 48 hours we hacked Ushahidi, adding a triage system for reports. It was fun. Part of my PhD research is about the design and usage of tools in the space of community mapping. People like Muki Hacklay and his extreme citizen science group have made some massive in-roads into verifying the quality of OSM data, with very positive results for OSM. But this doesn’t say anything about the quality of the tools. In a previous life I trained as a computer programmer, I moved into geospatial afterwards, hence it leaves me with a few questions regarding the process and its output.
The software engineering rulebook was thrown out of the window with good enough is perfect taken as the mantra. Although I’m a great believer in the idea that something good and tangible can be created out of an all night – look at any of my coursework from my comp sci bachelors – I’m concerned about the sustainability of the code that it generates. While I have every intention of using the code from the hackathon in something very useful the design came about from a 15 minute brief with around nine whiteboards being used and data structures made on the fly. This especially applies to the SMS solution we wrote, it bellies the importance of good documentation.
From all of this, I would ask the following questions…
- How sustainable is the code developed at a hackathon?
- Are there any examples of code developed at hackathons being deployed directly with modification?
- What steps are needed before hackathon code can be used?
Being the effect/de facto project/product manager I found the need to keep my team productive involved constant resupply of pizza, coffee and biscuits. The idea being that content and happy coders are productive ones. With the results this is definitely true. It also helped that the team was awesome, throwing themselves into the project with great gusto. Again in hindsight I wonder if a more considered approach was necessary, thinking about sustainability and reuse. We did follow the mantra of JFDI (look it up on urban dictionary), but in forging a massive path ahead have we inhibited further growth and expansion?
Are there design considerations and best practices to follow in hackathons, effectively creating good code that could be reused and used effectively i.e. ergonomics. If not where would be a good place to start?
Written and submitted from the Nottingham Geospatial Building (52.953, -1.18405)