Ao invés de discutir, faça!
Escrito em: 24/06/2011 por Anderson Dias
Não é incomum um time com bons profissionais começar a ter dificuldades na hora de decidir qual a melhor solução para um determinado problema. Quão mais experiente for a sua equipe, mais opiniões divergentes poderão surgir no momento de tomada de decisões. Isso abre um leque de possibilidades muito interessante e ajuda o time a crescer. O problema é quando o time passa a demorar muito para decidir qual a melhor solução.
Questões sobre arquitetura, design e usabilidade, entre outros assuntos polêmicos, podem levar uma equipe inteira ao desperdício de tempo e ao stress. Nem todos conseguem manter um debate sobre estes assuntos num ambiente sadio para o aprendizado. Emoções começam a aflorar quando algumas idéias começam a ser criticadas. Pessoas começam a se sentir ofendidas pois alguém discorda da sua opinião. Outros criticam mais o idealizador do que a idéia.
Discutindo idéias by Rogério Tomazella
Uma das práticas de um desenvolvedor ágil é a capacidade de criticar idéias, e não pessoas1. Iniciar uma discussão sem aprender a discutir é como atear uma chama em uma pilha de papel e esperar que ela não seja totalmente consumida. Um profissional maduro sabe separar uma divergência de idéias de um conflito pessoal e emocional. Um debate não pode ser uma luta de egos.
Exitem duas posturas a serem aprendidas por todos os envolvidos. A primeira diz respeito ao defensor de uma idéia. A sua solução pode ser a melhor, mas não necessariamente é melhor neste momento. É preciso entender que a sua idéia pode ser boa, mas não necessariamente é a única que resolve o problema. Assuma uma postura de humildade e de vontade de aprender com outros.
A segunda diz respeito ao contestador da idéia. É muito fácil se sentir superior ao achar uma falha na idéia de outra pessoa. Perceba que todos nós podemos ter boas e más idéias, e que errar faz parte do processo de aprendizado. Portanto, ao achar um ponto falho no discurso de alguém, não exponha a pessoa. Antes, assuma uma postura de ajudar o próximo a enxergar o problema de um outro ponto de vista. Use com cuidados suas palavras para não atacar quem está expondo uma idéia, e sim levá-lo a aprender um pouco mais. E sempre lembre: você pode estar errado, então, tome cuidado.
Venkat Subramaniam e Andy Hunt1 defendem algumas práticas para ajudar a gerar boas discussões:
- Delimitar o tempo da reunião evita que o time gere discussões sem fim e que todos se esforcem em encontrar uma solução rapidamente.
- Leve o time a buscar argumentos opostos. Toda solução tem seus pontos fracos e fortes. Descubra quais são eles e escolha a solução que melhor se encaixe para resolver o problema neste momento.
- Defina um mediador responsável por tomar a palavra final sobre o assunto. Ele ouvirá todas as possibilidades e no fim decidirá qual a opção que será utilizada. O mediador deve se concentrar em meditar sobre as idéias e não em debatê-las.
- Após chegar a uma decisão final, todo o time deve suportar a decisão escolhida e a partir de então cooperar para que a decisão tomada seja bem implementada.
Mas, se após uma discussão o time não chegar à uma solução plausível, o que fazer? Falhe!
A falha é um dos princípios base do Extreme Programming2. Não gaste tempo em longos debates quando existem diversas boas possibilidades e o time não sabe qual a melhor a ser utilizada. Debates tendem a falar de conceitos e abstrações, e não de resoluções reais. Pare de discutir possibilidades e mostre qual a melhor opção na prática. Implemente as possibilidades alavancadas e descubra qual resolve o problema da melhor forma.
Mas, o que acontece com o esforço gerado na implementação das opções que não foram utilizadas? Isso não caracteriza desperdício? Não. Isso caracteriza aprendizado.
As possibilidades descartadas geram aprendizado para a equipe. Em outra situação, uma das opções implementadas pode se tornar uma ótima solução.
Não gaste tempo em discussões intermináveis sobre idéias e ideologias. Faça algo real. Faça algo que resolva o problema. Faça sempre algo que traga real valor para seu time.