Hackfests – VTOL for websites
11 September 2009 Leave a comment
I’ve been the architect of two ‘hackfests’ this year and I wanted to share my experiences of these. The hackfest concept is probably well known but my interpretation of it is a short burst of creative programming and web service building from a relatively small group over a short period to achieve one or more goals. In the case of the two hackfests that I was responsible for orchestrating these were around “Building bespoke location based twitter feeds for Holographic screen display” (this was a one day hackday) and “Digital Scholarship”. Doug Clow has written an in depth review of the Digital Scholarship hackfest on his blog so I won’t go over that ground again, what I will do is say that I think hackfests present a way of quickly delivering relatively ‘self contained’ services using a skunkworks project methodology.
So having done two of these I am now more convinced than ever that hackfests present a very powerful and substantial tool to allow academics and developers (or web services stakeholders and developers) to build sites within a short space of time and with a lot less pain and difficulty than more traditional methods. Hackfests also cut out a lot of the crap that you end up reverse engineering later because the short space of time means that everyone is totally focused on realising the most important aspects and ensuring that those get delivered.
The hackfests that I ran had a mix of people, in the second two day hackfest I booked a site off campus for the team to work, we had two academics (Doug Clow and Martin Weller) two programmers (Nick Freear and Juliette Culver), myself (I guess I would probably be classed as a techy with some UI background for the purposes of this), a web designer (Anthony McAvoy) and an ICT manager with some programming experience (Kevin McLeod). This seemed like a good team to me and I picked the people rather than just throwing it together because I knew the group were both creative but also goal driven and self-managing.
What are the overall benefits?
1. Hackfests get services up and running relatively quickly.
2. Hackfests allow developers and stakeholders to work collaboratively and to brainstorm and feel part of the ‘inception’ and ideas forming process. This provides buy-in that is usually not in more traditional developments.
3. Hackfests develop bonding and foster team spirit.
4. Hackfests are cheap to run for the organisation (2 days x 7 people + cost of venue to develop + 14 days x 1 person to launch service) compared to traditional bespoke web service delivery methods and offer good return on investment.
5. Hackfests get projects up and running fast (Vertical take-off and landing) – VTOL – produce quick wins.
6. You can have iterative hackfests over a period of time to accomplish a true release early and often model. You can do testing between hackfests to add a higher quality assurance process to the services.
What are the constraints?
1. You need to plan. Even though the work itself is relatively free you need to plan out the days for maximum advantage. I cut it into concept mapping and ideas forming (morning) then moving into planning and interface design (afternoon) and then moving to building (late afternoon and following day). You should also plan some technical aspects beforehand for example methods of coding and version control, network availability and host systems.
2. You need to have good people who are both engaged focused and not cynical! – You need to give people enough time to brainstorm but also manage to avoid getting bogged down in issues or details (for example authentication!)
3. You need to have a project that is not tightly integrated to other services or reliant on too many variables that can’t be delivered in a short hackfest.
4. You need to be willing to not fall back into the habit of thinking that it must be perfect first time.
5. You need to allow plenty of time after the hackfest for one of the developers to finish the final 20% to get it delivered. I underestimated this on both hackfests and so although you have the benefit of cheap delivery it still takes time to get the last 20% out the door.
We’re still experimenting with the concept but luckily I’ve got a good management team who are willing to explore this because they realise that I have very limited resources and therefore hackfests provide a way for them to grab some of the very limited resource. We are going to attempt a ‘hackfest’ competition – i.e. ask academics to come up with their most urgent service needs or research project prototype system requirements then we’ll judge these based on how much of a ‘big win they provide and how they fit with the units strategy, the winner gets the next programmer group for a hackfest in November. Watch this space.