14

How We Ran a Hack Day in the Age of Social Distancing

 4 years ago
source link: https://devblog.songkick.com/how-we-ran-a-hack-day-in-the-age-of-social-distancing-718b41b4c45
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

How We Ran a Hack Day in the Age of Social Distancing

As social distancing measures continue to disrupt our day-to-day workflows, we want to share some valuable lessons we learned from taking an intense and collaborative process into the online world.

At Songkick, we try to have a company-internal hack day once per quarter. Hack days are an opportunity for us to hit pause on our day-to-day work and explore new ideas for the company. It’s a way to freshen minds, think outside the box, and fuel our idea back-log for the coming months.

It’s important to note that hack days at Songkick are not competitive: the goal is for people to be working on things they usually wouldn’t, and to (hopefully) enjoy themselves in doing so.

Image for post
Image for post
Slide taken from an internal presentation

For this year’s first hack day, we gave ourselves the space to try a new format. We wanted to find better ways of including non-developers, new ways to spark ideas, and better ways of documenting and sharing our hacks. Unexpectedly, social distancing also prompted us to explore new ways for productive remote collaboration.

Hack days rely on people being in close proximity. Because you can get feedback very quickly, they are often deliberately unstructured, leaving space for people to organise themselves. When working from home this presents new challenges, and we had to make some adjustments to our usual format in order to tackle them.

Most of the changes were small and easy to implement, but made a big difference. As a result, the day ran smoothly and, surprisingly, more on-schedule than many in-person hack days before it.

Here are some of the things that helped us:

Structure is key

Adding more structure to processes that would usually be played by ear allowed us to reduce uncertainty for the team and ensured everyone has clarity.

We usually allow teams to choose how they will work together and communicate. Often, the priorities and work of a team change fast, and the lack of a defined structure can be conducive to creativity. When everybody is remote, the risk is that if communication breaks down, people may spend hours in front of their screen not exactly knowing what they should do or how they can contribute. Adding more structure presents a tradeoff: Teams lose some of their freedom, but in exchange gain confidence that everyone will be on the same page.

For our hack day, this meant that things that would usually be worked out on the day (teams and the division of work) needed to be planned in advance, and we made sure to set and communicate a clear schedule to everybody:

  • One week before: Teams are formed
  • During the week before: Teams have a planning meeting, clearly defining what they hope to achieve and how they would split their work up
  • 10:00 AM on the day: Kick-off meeting, where every team introduces their hack
  • 5 PM on the day: Teams get to share their demos

There was a strictly defined format and time limit to all demos. Teams had to nominate one person to speak on their behalf during the kick-off, as well as decide who would present the demo.

All of these things are small considerations individually, but they helped keep things snappy and moving along, allowing us to avoid stress and focus more on the actual hacking and building parts of the day.

Default to transparency

Sharing process and in-progress work with the whole team regularly allowed people to get a sense of what everyone is working on, alongside them.

Hack days give us the opportunity to look at what other people are building. We can see things come together in real time, and learn from each other. When everyone is working from home, it’s easy to miss out on that shared experience.

We wanted to replicate the feeling of being able to walk up to another team and ask: “Oh cool, what are you working on?” This meant that we needed a way of being able to look at another team’s progress while working. To try and get as close to possible to the in-person ideal, we went with the philosophy of making everything as accessible as possible.

For the day itself, every team had a public slack channel to communicate with each other on progress, post links, or discuss potential solutions and implementations.

Everybody was encouraged to join other groups’ channels if they were interested, just to spectate the progress.

For later reference, each team submitted a short doc; sharing what they did, why it’s important, and linking to any images, graphs, or code that came as a result of their hack. We could then easily compile and share them with the whole company, so that people could go back and see the things they may have missed on the day.

Image for post
Image for post
Our hack day meeting minutes

As organisers, we also made the minutes of the meetings held in preparation of the hack day, including decisions made and follow-up actions, publicly available to anyone interested and who wanted to share their thoughts on what is important to them in a remote hack day.

These decisions meant that we maximised visibility across different projects on the day itself and could rest easy knowing that the things we built wouldn’t just disappear into the aether, but could serve as references and learning resources in the future.

Keep it human

Making sure people feel connected and have a social outlet while working keeps us grounded and happy in this difficult time.

Lockdown loneliness is a real phenomenon, and it can easily creep up on us and make the days difficult to get through. Hack days are meant to be fun, and they often are, in no small part due to the collaborative aspect of the work and the human interaction we get to indulge in.

Despite everybody working from home, we didn’t want to allow individual projects. The advantages are similar to pair programming: people are less likely to get stuck, and they are naturally sharing knowledge as they go. In this case there was another benefit: it meant people were talking to and engaging with each other.

Teams were encouraged to be on calls while working, even when not directly collaborating. While waiting for your code to finish running, why not share a few thoughts you had about that new album? Did you love it? Did you hate it?

Maintaining and investing in the little things that make days more enjoyable is more important now than ever, and will lead to people feeling happier and more included.

Image for post
Image for post
Some happy Songkicker faces

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK