Hackathons are a sign of a workflow that doesn't encourage innovation
The first time I took part in a hackathon, I thought it was awesome. Dedicated time with colleagues to make something totally different from normal? Who wouldn’t be excited by that, assuming you like your colleagues. Now days, I have soured against hackathons a lot, and instead recommend having biweekly sessions on self-development. If you needed a hackathon in order to demostrate a product idea, then that usually means in my experience that your weekly workflow doesn’t allow for room for suggesting new ideas. Instead, it focuses on fixing things raised by others: developers aren’t encouraged to have their own ideas, instead they are passed ideas from other departments. Product, UX, end users, etc. That’s not the kind of environment I would want to work in. You might argue that there is a problem with time: how can you find time to work on X when you also have Y, Z, A, delta? The problem with time is usually about prioritization. Innovation by developers is not prioritized in your org, and therefore you have hackathons in an attempt to plug that gap. You could argue that innovation is prioritized, as a hackathon simply exisiting is proof that someone thinks it’s important. Just not important enough to do more than once a quarter.
There’s also the health aspect of hackathons. Typically, they encourage developers to overwork, they provide unhealthy foods, they disrupt your sleep cycles. Very rarely has an idea that I’ve had benefited from working on for 48 hours straight. Instead, just 8 hours split up over several days yields much better results. You get time to think about what you’re doing between the time you’re writing code, and don’t need to force yourself to produce when your creative energy is running low.
That isn’t to say that hackathons are completely without merit, though. They get everyone together and encourage collaboration. Usually you end up with teams of people you don’t normally work with, which is great for getting to know people. Hackathons might also be paired with gaming competitions, or just hanging out drinking a beer together. I would still argue there are better settings for both of those things though: you don’t need to have a hackathon to have a gaming competition. Some places might also have talks by internal or external speakers as inspriation. Again, I think these are better done as frequent talks rather than dedicating a whole day to them.
My alternative would be to create an environment where new ideas are welcomed. Have multiple touchpoints throughout the week where teammates get to talk and discuss ideas that they have. This doesn’t need to be dedicated “ideas time”. It can just be a social ritual where there is the space to discuss these topics. Ensure that good ideas don’t just stay as ideas by encouraging team mates to turn them into written issues or notes explaining the idea. Once something is written down, it’s easier to incoporate into your workflow and prioritize. That doesn’t mean that every idea gets worked on, but it does encourage it. Set the social scene too: have short presentations on a regular basis on things that have been tried. It will encourage the team to give input and suggestions on what to try next or how to develop the idea further. Have gaming nights once in a while, play minigolf, do escape rooms. If you need external inspiration, set aside time in your team calendar to watch a particularly relevant talk together. Better yet, set aside time to read a book together and discuss.