Se você perguntar aos desenvolvedores quais são alguns de seus principais desafios, provavelmente ouvirá sobre práticas e ferramentas de colaboração inadequadas. Durante uma palestra recente na DeveloperWeek NYC sobre os desenvolvedores que merecem melhores ferramentas de comunicação, Peter Pezaris da CodeStream foi mais longe e disse que "o problema número um que atrasa as equipes de desenvolvimento e causa dívidas técnicas é a comunicação deficiente."
Dê um mergulho mais profundo na palavra “comunicação” e a observação de Peter é que uma coisa que impede os desenvolvedores de distribuir mais rápido é que eles não estão discutindo o código com frequência suficiente com seus colegas. Quando isso acontece, esse conhecimento não é facilmente descoberto, perdido nos canais do Slack e, em última análise, não é preservado para que outros usem ou aprendam. Quando você pensa sobre como sua base de código é valiosa, as equipes de desenvolvimento simplesmente não podem perder esse conhecimento institucional.
Portanto, a colaboração entre equipes de desenvolvimento certamente é rara, mas por quê? Aqui estão algumas razões.
Os desenvolvedores são forçados a usar as ferramentas erradas.
Infelizmente, muitas empresas ainda não aceitam os conselhos dos desenvolvedores sobre com quais ferramentas desejam trabalhar. Quando você considera o fato de que os desenvolvedores de software são o coração da inovação em sua empresa e, em última análise, aqueles que executarão as estratégias transformadoras postas em prática por CIOs e CTOs, capacitá-los com as ferramentas que desejam usar é fundamental. Esperar que os desenvolvedores se comuniquem sobre partes importantes do código ou sejam capazes de reunir uma resposta de um colega do outro lado do mundo por meio de ferramentas de bate-papo ou e-mail não vai funcionar. Pergunte aos seus desenvolvedores quais sites ou plataformas eles gostam de usar no mundo real e siga o conselho deles ao considerar implementá-los internamente.
Também. Muitos. Ferramentas.
Um tema comum que ouvimos quando conversamos com grandes empresas é a ideia de 'expansão de ferramentas', 'proliferação de ferramentas' ou, em termos leigos, 'ferramentas demais!' As empresas com visão de futuro estão dando a seus funcionários acesso ao Slack, Github, Confluence, Sharepoint, Wikis, Workplace by Facebook, tópicos de e-mail, documentação interna, Yammer, MS Teams, Jive, Jira, e a lista continua. Em vez disso, consolide essas ferramentas nas mais impactantes com as quais seus desenvolvedores estarão ansiosos para trabalhar. Faça-lhes as perguntas: "se você precisa de uma resposta a uma pergunta que apenas um colega pode responder, qual é o seu primeiro passo?" ou “quanto tempo você leva para encontrar uma resposta a uma pergunta crítica que você tem?”. A reação deles pode ajudá-lo a entender que ter muitas ferramentas está acabando com a produtividade deles. Em vez de,
A cultura do desenvolvedor às vezes pode atrapalhar.
Felizmente, estamos vendo menos títulos de trabalho de desenvolvedor com palavras como “rockstar” e “ninja”, mas concordamos com Peter que, infelizmente, os desenvolvedores ainda têm uma mentalidade de sabe-tudo. Eles têm medo de parecer estúpidos e, como resultado, muitos desenvolvedores pensam que estão competindo com seus colegas . O resultado final é que menos de 20% dos desenvolvedores profissionais aprendem por meio da documentação interna fornecida por seu empregador. Deve haver uma maneira melhor!
Como isso pode ser consertado?
Não existe uma abordagem única para melhorar a comunicação e colaboração entre as equipes de desenvolvedores, mas entender como é sua organização e a cultura da empresa ajudará a definir sua estratégia. Considere quais desafios culturais únicos você pode encontrar ao avaliar novas ferramentas, quais problemas atuais você está tentando resolver e, em última análise, quais são as metas específicas e mensuráveis que você espera alcançar.