It`s ofte more like party than work, but still the effect is fully functioning, often stunning application. If you dont believe, just check out these apps: http://railsrumble.com/entries/winners. 48h, duh?
After hackatons you just come back to normal environment and get back to projects you have been working on months or years. In this normal world, there is a law that software development is usually a long process, and "this is just how things are". But what if it was possible to get a similar hackathon effect for your application?
The idea that struck my mind is simple: let`s take what we can learn from hackatons and apply it to apps we create for ourselves or our clients. At first, it sounds almost impossible, but is it?
What we can learn from hackatons:
- realtime communication. "And not a single mail was sent that day". Just imagine how much faster your application would be shipped if there would be no ten-mail-long conversations with client/designers/product managers about color of totally unimportant button
- teamwork and responsibility. Everyone is responsible for the whole project. There is no matter if you are designer or developer - the ultimate goal is to deliver working app
- focus on must-be features, not nice-to-have. We need to deliver something really fast, so there is no time for focusing on this "button color drama". We need to remember that often nice is good enough
- time pressure. We need to deliver it. If something takes too long, just try to find simpler solution instead of spending a week on it. It makes us more motivated, on the other side it can be stressful. There is no simple answer on this one, but it`s worth to mention.
- hacking. "I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it." - said Bill Gates. On hackatons, we try to find simplest solutions and it turn on different way of thinking. It`s always good to think like a lifehacker.
- no time for the long process. Process sometimes helps, but always slows us down. In motivated team with good communication there is no need for double-checking and managing. The team manages itself.