Organizing a hack week
At Spotify we have been doing hack days for years. All engineers can use 10% of their time to work on pretty much anything they want. When we were a smaller company and most, if not all, teams had the same three weeks sprint length, we usually took a day and a half in the beginning of the sprint.
Now, with more than 30 teams and sprint lengths varying from one to three weeks, and with some teams not even having sprints, there’s no natural time for everyone to have their hack days.
We’ve also noticed that many engineers don’t use their hack days because they don’t want to let down colleagues that are depending on them. Sometimes teams have not been able to make room for hack days for a while because they’ve been too busy working on the next big thing. To fix this a couple of teams started running hack weeks together.
The team members saved their hack days for several weeks and then organized a whole week of hacking together. The results were so great they wanted to do it again and other teams were inspired to try this format too. It didn’t take long until someone asked the question: “Why not do a hack week for everyone at the same time?” Indeed, why not.
A couple of agile coaches pitched the idea to our CTO and our CPO and they were both immediately on board. A work group with people who wanted to help was formed and we ended up with a good mix of people from engineering, product, design and other departments, with experience from running big hack day events at places like Netflix and Yahoo. We read up on how others have organized events like this, for example Atlassian’s ShipIt Days and Jurgen Appelo’s Exploration Days, shared our experiences and our ideas in a workshop and communicated the event in an e-mail to the rest of the company:
So what is hack week about? Well, hack week is a chance for you to explore new ideas and collaborate on things you feel passionate about. Remember all those great ideas you’ve had that you never have time for because you’re too busy with your normal work? Those are exactly the kinds of ideas that Hack Week is made for! It could be a new tool you want to explore, an awesome product feature, a process improvement, an ambitious marketing campaign, or anything else that will help improve Spotify. Think of an idea and seek out others who can help you with it, or join up with someone else’s project. Here are some possible project ideas…
The work group set up a Trello board and a standing weekly meeting for decisions and coordination. It turns out that organizing a hack week for hundreds of people is quite a lot of work.
One of the objectives with our hack week is for people to get to know each other and break silos between teams and departments. At the same time we don’t want to put any constraints on who to team up with or how to work during the week. We also want to involve people from other departments who don’t have hack days but who may have great ideas. We decided to encourage sharing of ideas and forming of teams before the hack week. This would also build up some momentum for the event.
To keep things simple we put up a Google form where people from all over the company could submit their ideas. We opened the results spreadsheet for editing so that people could comment on each other ideas. People who submit an idea before a certain deadline also get to specify their t-shirt size to get a Hack Week t-shirt. You don’t have to sign up to get a t-shirt but by using the same form we hoped to draw more attention to the form and hopefully get some extra ideas in there on the now-that-I’m-already-here-effect. Two weeks later we now have almost 200 ideas shared through the form.
One week before the Hack Week we organized an ideas sharing lunches where people could grab a pizza, share ideas and talk about them. For the lunch in Stockholm, home to our biggest Product and Technology hub, we offered people from our other office locations throughout Europe to submit a video if they wanted to share their idea. We kicked off the event with a few awesome video presentations and then we passed around the mic letting anyone who wanted present their ideas and ask for help with particular skills and so on.
A lot of ideas were shared, here are some of the examples I can share (sorry, but we can’t share product feature ideas at the moment):
- Conf Room Locator: paint lines in different colours from the two entrances for each floor to each named conference room, like they do at airports and train terminals.
- Product backlog visualization hacks: different kinds of visualizations of a backlog.
- Spotify Jukebox: rebuild an old jukebox to use Spotify running on a Raspberry Pi.
- Operation antipatterns: document operational antipatterns that we’ve come across.
- Colleague widget: a game where you can learn more about all your colleagues.
- Code review LED indicator: connect a USB LED to Gerrit to indicate how many code reviews you have lying around.
During the week before Hack Week we organize short tech talks about our different APIs so that people can learn about interesting stuff outside of their day-to-day work, get ideas and know who to talk to or where to go for more information.
We have a great Social team at Spotify and together with our Label Relations department they’re helping us set up some great entertainment to kick off Hack Week and to celebrate our achievements during a big demo party in the end of the week.
Hack Week is soon upon us and we’re planning a breakfast kick-off with some inspirational words from our CTO and our CPO. We also need to find a good way for registering all projects and decide how to demo everything in the end. There will probably be so many demos that we don’t want to do them all in a row. Maybe we’ll do demos in parallel in different rooms based on different themes and send the winners from each room to the big final in the cafeteria? Feel free to share your ideas and feedback in the comments below. We’ll keep you posted!