União por uma mesma causa
Times multifuncionais e ágeis são o ponto central de uma organização digital eficiente, e o exemplo perfeito de colaboração em ação. Reunir pessoas de diferentes funções em um único objetivo e replicar esse processo em toda a organização permite que as empresas enderecem várias iniciativas de desenvolvimento de produtos e serviços simultaneamente. E essa é sem dúvida a única maneira de avançar e inovar na velocidade e escala exigidas pelo mercado hoje.
Um time que colabora com sucesso, no ápice de suas forças e produtividade, pode ser algo muito bonito de se ver. Mas muitos times multifuncionais – cerca de três quartos, de acordo com a Harvard Business Review – são, pelo menos em alguns aspectos, disfuncionais. Às vezes, isso é resultado de problemas estruturais, mas em nossa experiência, isso também tem muito a ver com o modo como os times trabalham. É por isso que a empresa precisa enfatizar uma cultura e processos que garantam que o time funcione na prática e que tornem realidade a colaboração do time.
Como funciona na prática
Um modelo para times colaborativos
Composição multifuncional: É importante que os times sejam diversificados e multifuncionais, mesclando pessoas desenvolvedores, designers, representantes do negócio, bem como outros setores cujas informações possam ser necessárias no processo de lançamento de produtos ou serviços – como jurídico ou financeiro. Isso garante que os times sejam eficientemente independentes e habilitados para entregar experiências bem-sucedidas de ponta-a-ponta, em vez de constantemente precisar buscar aprovação externa. Trabalhar em conjunto durante todo o ciclo de vida do produto também torna a colaboração mais homogênea.
Programação em pares: Embora os times precisem em última análise colaborar como um todo, a colaboração inicial em unidades menores pode acelerar o processo. Um bom exemplo é a programação em pares, uma prática de desenvolvimento ágil na qual duas pessoas desenvolvedoras trabalham juntas – geralmente na mesma estação de trabalho, mas às vezes remotamente. Muito mais do que apenas se reunir para concluir uma tarefa, é uma oportunidade de estabelecer vínculos com colegas de time; compartilhar conhecimento; ensinar e aprender; desenvolver-se técnica e culturalmente, bem como entender o que motiva e o que desencoraja outros membros do time.
Avaliação de soluções em time: Reunir-se para avaliar produtos (ou soluções) completos é uma oportunidade para que todo o time compartilhe conhecimento e aprenda novas técnicas e habilidades. Isso reduz o risco ao aumentar o "fator ônibus" do time – ou seja, o número mínimo de membros do time cuja saída inviabilizará o projeto inteiro. As avaliações também são uma boa oportunidade para identificar onde a colaboração se mostrou mais eficaz e onde não foi realizada ou não funcionou.
Retrospectivas: Uma retrospectiva cria espaço para o time refletir sobre um período de atividade ou marco, para celebrar conquistas e criar um plano para futuras melhorias em conjunto. Esse compromisso com o aprendizado contínua e o reconhecimento do progresso realizado sublinha o fato de que a colaboração tem resultados no mundo real e cultiva um forte senso de conexão do time.
Feedback rápido e entrega iterativa: O feedback é o mecanismo pelo qual o time e os indivíduos validam onde sua colaboração está gerando os resultados necessários e onde não está. Mais do que identificar problemas, o time também precisa cooperar para fornecer regularmente insights sobre processos e comportamentos para acelerar e aperfeiçoar a entrega de valor. Iterações de entrega mais curtas reduzem os ciclos de feedback e ajudam os times a criar confiança entre diferentes grupos funcionais, dando ao negócio e a outras partes interessadas a oportunidade de responder ao que foi entregue. Essas interações, por sua vez, lançam as bases para a colaboração contínua com outras partes da empresa.
Desenvolvimento orientado a testes: O desenvolvimento orientado a testes (test-driven development ou TDD) fornece feedback rápido sobre o que está sendo desenvolvido, moldando ideias para implementação por meio de uma abordagem cíclica do tipo "falhar-passar-refatorar". Com essa abordagem, as pessoas desenvolvedoras iniciam uma funcionalidade escrevendo testes automatizados de alto nível para, antes de começar a implementar a solução. O software é então construído usando testes de nível inferior para direção, até que os testes passem. Após o término do desenvolvimento, os testes permanecem e são executados a cada compilação, criando confiança de que o código continuará a funcionar conforme o esperado.
Por que é importante
Os benefícios comuns das práticas ágeis colaborativas incluem:
- Maior qualidade do produto
- Maior satisfação de clientes
- Maior disposição do time
- Maior coesão do time
- Menor risco de falha completa do projeto
- Relações de mentoria produtivas
O que pode atrapalhar
A colaboração pode falhar em produzir os resultados desejados se não estiver orientada para objetivos específicos. Como observa Sunil Mundra, consultor principal da Thoughtworks e autor do livro Enterprise Agility - Being Agile in a Changing World, "implementar alegremente a mudança, fazendo apenas isso" pode criar a ilusão de ágil sem o impacto.
“Não há nada de errado em começar dessa forma – existem processos e cerimônias que devem ser implementados – mas se você fizer isso, a inércia que ainda existe devido aos problemas sistêmicos da organização superará todas as tentativas que você criar no nível do time, e você voltará ao seu estado original”, ele afirma. “Se você não entender o "porquê" do que está fazendo, isso não lhe trará nenhum benefício.”
A outra grande ameaça à colaboração em time é a hierarquia excessiva, que pode sufocar o diálogo aberto que precisa sustentá-la. “Muitas organizações enfrentam lutas por poder, o que afeta a capacidade das pessoas de lidar com uma comunicação honesta”, pontua Martin Fowler, cientista-chefe da Thoughtworks. “Isso não funciona de forma alguma com o ágil, que exige um grau muito maior de transparência.”
Como fazer acontecer
- Enfatize a importância de valores compartilhados
- Estabeleça objetivos comuns nítidos para os times
- Destaque a relação entre colaboração e alto desempenho
- Dê aos times espaço e autonomia para falhar e aprender
- Promova o vínculo entre o time para criar confiança, motivação e ímpeto
- Incorpore práticas ágeis para aprimorar a comunicação e as conexões
Principais motivadores tecnológicos
A colaboração pode ser vista como um conceito "soft", e qualquer time multifuncional incluirá pessoas não-tecnologistas. Ao mesmo tempo, as realidades dos negócios digitais e o ritmo das mudanças tecnológicas exigem que o desenvolvimento baseado em colaboração esteja enraizado, pelo menos em certa medida, em competências técnicas capazes de suportar processos como prototipagem rápida e soluções dinâmicas em resposta ao feedback do usuário.
“Isso é específico para o mundo do software, mas também existem paralelos fora dele”, explica Fowler. “As organizações não estão dando a atenção necessária a coisas como teste e desenvolvimento, refatoração e discrição, ou às habilidades técnicas específicas em sua área. Essas coisas são responsáveis por habilitar de fato a mudança entre o primeiro e o segundo nível do Modelo de Fluência Ágil, que exige conhecimento técnico para atingir os níveis de produtividade e execução efetiva que você está buscando.”
Por JoJo Swords
Perspectives na sua
caixa de entrada
Insights de tecnologia e negócios para líderes digitais.
Inscreva-se para receber artigos, podcasts, vídeos e convites para eventos e webinars com os pontos de vista de especialistas da Thoughtworks sobre temas relevantes.