Aprimorando o team work de uma equipe de software, jogando MOBA!
A ideia desse artigo é explicar o porque jogar jogos online, em equipe, é uma boa opção para treinar sua equipe de software e identificar oportunidades de melhoria no trabalho em equipe.
Não estou falando de qualquer jogo. Um PES ou FIFA por exemplo, não vejo como agregar. A proposta é utilizar de jogos como SMITE, Mobile Legends ou LOL. Ou seja, jogos do estilo MOBA.
Como é uma partida em um jogo MOBA?
Vou utilizar o Mobile Legends pois é o jogo que tenho jogado ultimamente; mas já joguei muito, como o SMITE, por exemplo.
No Mobile Legends existe a possibilidade de jogar com um time formado ou aleatório. Obviamente aleatório vai depender da sua sorte de encontrar pessoas experientes, mas a mecânica do jogo tenta balancear e as vezes é possível perceber que quando o time adversário possui alguém muito ruim, e seu time também terá um. Mas em um MOBA, o coletivo acaba por contornar os problemas individuais.
A grande diferença de jogar com um time aleatório ou com pessoas que você já conhece é que, quando o time é formado por pessoas que você conhece, os pontos fortes e fracos já são conhecidos pelo time. Enquanto que em uma equipe aleatória, a vitória pode depender do tempo que você e os demais do time precisam para perceber os pontos fracos e fortes do time recém formado.
Partida iniciada, o objetivo é basicamente destruir a base do seu adversário, porém, para isso, você terá de derrota-los, derrotar as torres que estão ao longo do caminho, derrotar os soldados (lacaios) do adversário enquanto deve defender seus lacaios, torres e sua própria equipe. A estratégia é importante pois alguns personagens tem vantagens sobre outros e a união de 2 do seu time, pode ser a chave para derrotar 2,3 ou mais do adversário (o que vai te garantir tempo para avançar destruindo as torres pelo caminho). Outra característica importante é que todos iniciam a partida no mesmo nível e conforme você derrota adversários combinando vantagens e estratégia, mais "dinheiro" você ganha para usar durante a partida apenas e com esse "dinheiro" consegue aprimorar (só durante a partida) o seu personagem.
Por fim, ainda dentro da partida, para se recuperar mais rapidamente de um dano sofrido, devemos retornar para nossa base para depois avançar novamente. O tempo de se recuperar é menor do que "morrer" e ter de esperar alguns segundos para conseguir voltar a partida.
Então, fazendo uma analise geral, para ter sucesso precisamos:
- Combinar as características individuais
- Utilizar bem as vantagens individuais
- Saber quando recuar para proteger a vantagem adquirida no último avanço
- Defender-se em um momento crítico para evitar comprometer o desempenho da equipe
- O Coletivo é mais importante que o individual
- Praticar várias vezes para conseguir identificar e contornar as dificuldades individuais
- Todos terem o mesmo objetivo
Logo é possível perceber que os pontos listados acima são muito característico de uma equipe multi-funcional de software.
Combinar as características individuais
É comum equipes multi-funcionais terem pessoas com diferentes skills e isso é importante para não limitar a equipe. Dessa forma, se uma equipe de desenvolvimento possui um perfil de engenheiro DevOps, certamente a equipe não terá problemas em pegar o software e colocar em produção utilizando automação. Basta unir o perfil do desenvolvedor com o perfil DevOps e eles serão capazes de chegar na solução mais adequada.
Utilizar bem as vantagens individuaisPensando no cenário já utilizado, colocar um software em produção e delegar essa atividade para alguém com perfil de UX não será muito eficiente e a equipe pode acabar perdendo o fator mais importante para equipes de TI (o Tempo).
Saber quando recuar para proteger a vantagem adquirida no último avançoÉ comum ocorrer erros ou incidentes, mesmo em equipes que utilizam as melhores práticas de teste. Erros fazem parte do processo de desenvolvimento de software (e devemos aprender com eles). Porém, quando um erro ocorre, o que geralmente as equipes fazem? Param o que estão fazendo e focam no erro, ou seja, dão um passo atrás para conseguir avançar posteriormente.
Defender-se em um momento crítico para evitar comprometer o desempenho da equipeAssim como os erros impactam o dia a dia de uma equipe de software, alguns eventos podem comprometer o software se não forem tratados com maior prioridade. Por exemplo, o time de marketing fazendo uma apresentação, lançamento para uma quantidade incomum de usuários, datas que modificam o comportamento do usuário no software (por exemplo a black friday). Então, é comum a equipe para a entrega de software nesses momentos e focar em atividades como monitoria, para tratar de forma antecipada um incidente.
O Coletivo é mais importante que o individualToda equipe, seja de software, de vendas, de jogos virtuais ou até equipe de futebol, possui um ou outro individuo que se destaca entre os demais, porém, qualquer que seja o individuo, ele jamais será capaz de atingir o sucesso sem o coletivo (neymar não faz gols e defende ao mesmo tempo, bem como um desenvolvedor experiente não assume a gestão do projeto enquanto codifica o software). O Fato é que, independente das capacidades individuais, ninguém é bom em tudo e ninguém consegue resolver tudo. Saber usar muito bem o trabalho em equipe fazendo bom aproveitamento das qualidades individuais (pessoas certas nos lugares certos) é certamente a melhor abordagem para o sucesso em um projeto de software.
Praticar várias vezes para conseguir identificar e contornar as dificuldades individuaisEu nem preciso dizer que equipes maduras são equipes que possuem pessoas que já trabalham juntas a algum tempo. Estamos cansados de saber que empresas fracassam miseravelmente quando sofrem com rotatividade. Então, identificar fraquezas na equipe e desenvolver as hard skills com base na necessidade do time é muito melhor do que substituir pessoas (equipes que mudam frequentemente, não conseguem aprender quais são as limitações individuais para montarem estratégias que aprimoram o coletivo).
Todos terem o mesmo objetivo