Construindo um Hackathon Melhor: Quatro Princípios Fundamentais do LiveOps Hack Day
Keith McFarlane, arquiteto-chefe Keith McFarlane, arquiteto-chefe

Recentemente, realizamos nosso décimo primeiro evento do LiveOps Hack Day, e foi algo especial; várias ideias realmente interessantes ganharam vida em apenas 24 horas, graças aos esforços de algumas equipes e indivíduos muito apaixonados e dedicados. Alguns dos hacks mostrados na demonstração foram:

  • Pivot to Video – a equipe envolvida com este encontrou uma maneira de mover uma conversa de chat de agente ao vivo para o mundo do vídeo usando Tokbox.
  • Visualização multicanal – nossa equipe de relatórios apresentou uma nova maneira de observar os fluxos de trabalho sobrepostos que um agente lida com vários itens de trabalho simultaneamente.
  • Agent Telephony in-Browser – o engenheiro mostrou a integração do nosso aplicativo de painel de telefone do agente com Twilio's Client baseado em JavaScript, permitindo chamadas de voz usando apenas um PC.
  • Fluxo de chamadas com script – alguns de nossos engenheiros de plataforma encontraram uma maneira engenhosa de controlar funções de telefonia granulares por meio da API REST.
Este é apenas um subconjunto dos projetos concluídos desta vez; estes e outros podem se tornar produtos em um futuro não muito distante.

Temos trabalhado para melhorar o Hack Day ao longo dos anos desde que realizamos o primeiro evento e, embora tenhamos feito muitas mudanças incrementais, também identificamos um conjunto de princípios fundamentais que podem fazer ou quebrar o evento, dependendo de quão de perto eles são seguidos.

1) Grandes hacks vêm do coração, não do backlog

Com muita frequência, tenho visto engenheiros ou gerentes de produto tentarem usar o Hack Day como desculpa para acelerar seus itens de backlog favoritos. Embora isso certamente realize algo útil, ele anula o verdadeiro propósito do evento: inovação. Os desenvolvedores devem usar esse tempo para perseguir seus sonhos de software mais loucos e experimentar novas tecnologias. O mesmo vale para gerentes de produto; eles devem se unir a desenvolvedores para integrar-se a outros serviços da Web de maneiras inesperadas ou tentar definir e implementar uma ideia que pareça arriscada em circunstâncias normais. Deve ser uma oportunidade para exploração, não negócios como de costume em uma ordem ligeiramente diferente.

Para os desenvolvedores, escolher um item da lista de pendências como seu projeto de hack day é essencialmente mexer o nariz nas prioridades da equipe de gerenciamento de produtos. Pense em todos os pensamentos e discussões que foram necessários para acertar a ordem das histórias para o seu scrum e, em seguida, imagine ignorar todo esse trabalho e selecionar as histórias aleatoriamente. Claramente o primeiro é preferível ao segundo.

Hack Day é sobre permitir que grandes ideias surjam de lugares inesperados. Sem ênfase na busca de novas ideias em vez das existentes, perde a maior parte de seu valor.

2) Foco, foco, foco; scope creep mata hacks mortos

Embora qualquer ideia nova deva ser um jogo justo para o dia do hack, notei que os maiores sucessos vêm de pequenos esforços focados que visam concluir um recurso menor, mas valioso, ou demonstrar um conceito amplo por meio de um exemplo bem definido que é limitado em escopo. Muitas vezes, projetos como esse podem alcançar o sucesso mais cedo e, em seguida, adicionar recursos conforme o tempo permitir. Além disso, como as condições de vitória são bem definidas, a equipe pode abandonar o hack se ele se mostrar muito complexo e mudar seu foco para outra ideia.

Todos os desenvolvedores têm “grandes conceitos” flutuando em suas cabeças; infelizmente, estes podem ser os mais difíceis de construir, mesmo de forma limitada, como parte do Hack Day. Se você quiser perseguir com sucesso um desses grandes esquemas em forma de hack, atraia mais pessoas para a discussão e encontre uma pequena peça do quebra-cabeça que fica bem por si só, mas ainda assim consegue entender seu ponto de vista.

3) Às vezes é preciso uma vila para criar um hack

Certos hacks são tão claramente definidos e limitados em escopo que um único desenvolvedor pode fazê-los acontecer a tempo; no entanto, por mais complexos que sejam a maioria dos serviços da Web, é muito mais comum que qualquer hack realmente interessante exija os esforços de vários especialistas no assunto em várias plataformas diferentes.

Em sua essência, hackathons são eventos sociais e são tanto sobre formação de equipes e moral quanto sobre inovação. Se você estiver organizando um evento Hack Day, forneça um fórum para formação de equipe antes do evento em si; realizamos uma reunião de “recrutamento” pré-Hack-Day por vários anos no LiveOps, gerando combinações de equipe que podem não ocorrer dentro do fluxo normal de trabalho do projeto e promovendo maiores interações entre as equipes a longo prazo.

4) A implantação é a melhor recompensa

Sim, é importante oferecer algum tipo de prêmio tangível de “melhor hack”, embora todos que desejam um iPad provavelmente já tenham um. No entanto, nem todo desenvolvedor tem uma ideia de produto próprio sendo executado como um recurso em produção; muitos engenheiros podem trabalhar para habilitar as visões dos gerentes de produto por anos sem que suas próprias noções inovadoras vejam a luz do dia. Se os hacks se mostrarem promissores como produtos, ou se forem imediatamente utilizáveis, eles devem ser rapidamente colocados em produção para o bem da empresa e como recompensa para os engenheiros envolvidos.

Toda empresa de software (não apenas startups da web) deve realizar hackathons regulares para gerar inovação, aumentar a motivação e melhorar as linhas de comunicação entre as equipes. Como em qualquer atividade da empresa, no entanto, existem maneiras mais eficazes e menos eficazes de fazê-lo. Acompanhe o que funciona e o que não funciona, faça melhorias ao longo do tempo e ouça o feedback dos participantes. Embora os princípios acima tenham funcionado muito bem para nós no LiveOps, você provavelmente desenvolverá um conjunto de diretrizes que funcionarão melhor para sua organização ao longo do tempo.