Case 1: Open source hackathon
How?
- Pick up some open source project. Might be one that you are using
- Checkout issues list or request a new feature
- fix issues and implement features on hackathon
Pros
- easy to start - no need for bootstrapping environment and gathering specification before hackathon
- easy to have closure after one day of hackathon. One can pick issue of size that he can complete during one day.
- good feeling of contributing stg useful to tools that we use for free
Preparations and tips
- One person needs to find issues to work on before hackathon and agree with maintainer how to implement them
- fork and build project before hackathon to start with implementation when day comes
- don't pick up too big tasks so you will be able to finish it during hackathon
- Pair when coding
Pragmatists story:
- https://github.com/joel-costigliola/assertj-core
- http://joel-costigliola.github.io/assertj/assertj-core-news.html#assertj-core-1.6.0
Case 2: internal hackathon
How?
- Think about software that can be useful in your organization
- Talk with people in your organization to see what problems they have can be resolved with application that you can create
- Gather some requirements for them upfront
- Invite them on hackathon to clarify requirements as you code
- Pick up technologies that will make developers happy
- prepare environment upfront
- inform that you are unavailable in your project
- create app and use it
- advertise it in your organization
Pros
- You can convince your managers that hackathon will not be waste of time because you are creating smt for organization (its not waste of time anyway but some people just don't get it at first time)
- You can pick new and interesting technologies
- you create software that may be useful in your organization
Cons
- needs some preparation before
- needs some closure afterwards - finishing leftovers, deploying, maintaining, fixing bugs
- may need another day of hackathon to finish
Preparations and tips
- have one person assigned as organizer of project
- prepare environment before hackathon day
- inform people of requirements and technologies before hackathon - may require short meeting
- use github or smth similar that allows collaboration and issue tracking for new ideas and bugs
Pragmatists story:
- Time registration App:
- https://twitter.com/pragmatists/status/445861600293957633/photo/1
- https://github.com/Pragmatists/OpenTrappUI
- https://www.youtube.com/watch?v=1FP0vl3zAOo
Case 3: non-profit hackathon
How?
- Find a non-profit or charity organization that would benefit from some simple software
- Gather requirements
- Invite someone from this organisation to be your on-site Product Owner
- Create some software for them during hackathon
Pros
- Feeling of purposeful work with value added
- working with new people outside company
Cons
- needs some preparation before including meetings with people from organization
- needs some closure afterwards - finishing leftovers, deploying, maintaining, fixing bugs
- may need another day of hackathon to finish
Preparations and tips
- have one person assigned as organizer of project
- prepare environment before hackathon day
Pragmatists story:
- Game for kids with autism
- http://iea.edu.pl/index.php/iea/index/pl/2013Licencjackie/459
Case 4: agile-technology hackathon
How?
- Combine hackathon with learning agile and XP best practices
- Work on some not complicated project using practices like scrum, tdd, CI
- simulate scrum doing 1h iterations of coding then switch pairs, demo when done, retrospection at the end of day
- Invite friends from outside your company to have fresh view and new experience
- People working in pairs or in pairs + mentor
Pros
- chance to learn good coding practices besides new technologies
- working with new people outside company
- hackathon outside the office - now interruptions
- fast way to pull new team or employees into agile development process
- good marketing for you company
- no need to maintain software that is created during hackathon - improving process of creating is goal of hackathon
- no post hackathon activities
Cons
- needs a lot of preparation before
- needs facilitator during the whole day
- venue for hackathon and catering is needed
Preparations and tips
- have one or two person assigned as organizer of project
- prepare environment before hackathon day
- do not choose to many new and complicated technologies
- prepare food and drinks for participants