Uma equipe bem informada é fator essencial para a boa qualidade do trabalho dentro de uma equipe de software. Este é um ponto de vista da engenharia de software.

A intenção desse texto é trazer à tona argumentos sobre a necessidade do compartilhamento de informações como rotina dentro de uma equipe de software. Troca de ideias e a equalização do conhecimento devem ser atividades tão rotineiras quanto escrever código. Talvez, escrever código seja a mais natural das atividades em uma equipe de software. Sem código escrito, não há sistema em produção. É algo que naturalmente todo desenvolvedor de software conhece o objetivo prático, mas nem sempre os meios para alcançar, o que pode provocar problemas. Assim, vez e outra, objetivos importantes, como o compartilhamento de informações e a boa conversa acabam sendo colocados em segundo plano.

Várias outras tarefas são necessárias na rotina de uma equipe, algumas delas mais técnicas, outras menos. Tudo isso, bom ou ruim, só é possível por meio de uma cultura organizacional.

Sobre a palavra “cultura”, o dicionário traz algumas definições interessantes para o contexto das equipes de software (Cultura, 2023). Vejamos algumas:

  • Conjunto das operações necessárias para que a terra produza
  • Conjunto dos conhecimentos adquiridos de uma pessoa ou grupo
  • Conjunto das atividades e instituições relacionadas com a produção, criação e divulgação das artes e das ciências humanas
  • Totalidade dos costumes, das tradições, das crenças, dos padrões morais, das manifestações artísticas e intelectuais e de outras características que distinguem uma sociedade ou grupo social

Ainda dentro das definições no dicionário, uma outra palavra interessante é “cultivar”, para a qual o DLPO  define como “dedicar-se a algo” e “desenvolver-se; aperfeiçoar-se”  (Cultivar, 2023). Com pouco esforço, é possível criar paralelos entre essas definições e o cotidiano de uma equipe de software.

Fitzpatrick e Sussman (2013, p. 54) tem um pensamento bem semelhante. Para eles, a cultura de uma equipe de software é inicialmente estabelecida pelos fundadores da empresa ou equipe, de modo que o papel dessas pessoas pioneiras é fazer uma cultura tão forte quanto possível. Uma cultura forte evita que novos membros tragam consigo elementos desconhecidos de cultura, cujo resultados podem ser imprevisíveis  (Fitzpatrick; Sussman, 2013, p. 55). Eles ainda acrescentam o seguinte:

Mas a cultura de uma equipe não é só o modo como os membros da equipe escrevem código ou tratam uns aos outros: é um conjunto de experiências, valores e objetivos compartilhados que são únicos a cada equipe de engenharia […]. Os membros fundadores de uma equipe ou empresa definem a maior parte de uma cultura de equipe, mas ela vai continuar a mudar e se desenvolver ao longo da vida da equipe. Os elementos que compõem uma cultura de equipe variam muito. Alguns são diretamente relevantes para a escrita de software, como revisões de código, desenvolvimento orientado a testes e o valor que você dá para a ter uma boa documentação de projeto antes de começar a criar páginas de código. Alguns elementos podem ser mais sociais, como ir a um restaurante em particular par o almoço todas as quintas-feiras ou sair para beber em um bar favorito nas sextas  (Fitzpatrick; Sussman, 2013, p. 55).

Compartilhando informação

D’arrigo et al. (2016, p. 18) realizam um levantamento bibliográfico relacionado com este tema para defender que, no mundo moderno, uma fonte de poder nas organizações é o conhecimento, de modo que este sentimento tem uma relação forte com o que influencia o compartilhamento de informações. A informação pode ser vista por algumas pessoas como uma espécie de propriedade (D’Arrigo et al., 2016, p. 18), pensamento este algumas vezes movida por um sentimento que podemos ilustrar como “se eu aprendi sozinho, se eu consegui deduzir a partir do código, se eu fui pró ativo, então nada mais justo que eu fique com isso pra mim”.

No entanto, o sentimento de posse vira um obstáculo se a pessoa entende que o conhecimento tem papel relevante para sua própria importância dentro da organização  (D’Arrigo et al., 2016, p. 18).

Fitzpatrick e Sussman (2013, p. 87) escrevem que um projeto de software só consegue um sucesso adequado quando há um líder guiando a equipe e usando as melhores práticas disponíveis. Algumas dessas práticas incluem princípios de humidades, respeito e confiança  Fitzpatrick e Sussman (2013, p. 87).

O líder é, portanto, o agente que pode incentivar que o compartilhamento de informações, pelo menos em um primeiro momento. Fitzpatrick e Sussman (2013, p. 43) sugerem que, nesse papel, a equipe deve ter um uma visão do líder que permita entender que as críticas não são pessoais. Ainda dentro desse contexto, as pessoas que participam da equipe precisam receber a crítica de maneira adequada, tendo humildade para compreender as próprias habilidades e saber que o objetivo final (e atual) é o projeto  (Fitzpatrick; Sussman, 2013, p. 44).

Um comportamento que já existe há um bom tempo, mas que foi levado a novos patamares com a pandemia de Covid-19, é utilização de chats em ferramentas de troca de mensagem de texto como Slack e tantas outras. O pensamento muitas vezes dominante é que a dúvida é muito estúpida e colocá-la em um chat em grupo pode gerar algum tipo de conclusão equivocada da equipe sobre um individuo específico acerca de suas habilidade técnicas. Assim, a conversa acaba migrando para um chat privado. O líder deve ser capaz de identificar esses comportamentos e incentivar a partilha também das dúvidas. Fitzpatrick e Sussman (2013, p. 76) defendem permanecer com a dúvida e reposta restrita a duas ou três pessoas faz crescer carga sobre a equipe, pois o conhecimento deixa de ser compartilhado.

Para Isabella Degen, um líder deve permitir que cada pessoa na equipe possa ser tão produtiva quanto possível, propiciando que cada membro sinta-se parte de um todo trabalhando em direção a um mesmo objetivo  (Kua, 2014, p. 116).

O compartilhamento de informações dentro de uma equipe é fundamental para o sucesso de qualquer projeto. Esse processo não apenas facilita a colaboração e a eficiência, mas também promove um ambiente de aprendizado contínuo e inovação.

D’arrigo et al. (2016, p. 21) escrevem que as pessoas consideram alguns fatores motivadores para o compartilhamento de informação, como o benefício individual, que é bastante sugestivo sobre interesses da própria pessoa, mas também o interesse do grupo, quando a pessoa considera qual é o retorno que o grupo dará uma vez que todos possuem a informação. Podemos entender disto, mais uma vez, o papel da cultura, que deve estar alinhada em todos os membros. O compartilhamento de informações é uma via de mão dupla. Muitas vezes, o benefício do líder ao compartilhar informações não receber informações de volta, mas sim ter uma equipe engajada e auto gerenciada em algum nível.

O compartilhamento garante que todos na equipe estejam na mesma página, evitando mal-entendidos e desalinhamentos que podem levar a erros dispendiosos e atrasos. Quando os membros da equipe compartilham abertamente conhecimentos sobre códigos, ferramentas, e melhores práticas, eles criam um repositório comum de conhecimento que é acessível a todos. Isso não só melhora a qualidade do trabalho, mas também acelera o processo de desenvolvimento, pois os membros podem aprender uns com os outros e evitar reinventar a roda.

Além disso, o compartilhamento de informações fomenta uma cultura de transparência e confiança. Em um ambiente onde os membros se sentem confortáveis para compartilhar sucessos e fracassos, eles estão mais propensos a colaborar de forma produtiva e a oferecer apoio uns aos outros. Isso é especialmente importante em projetos de software, onde a resolução de problemas complexos muitas vezes requer a colaboração de várias mentes.

Compartilhamento contínuo de informações estimula a inovação e o crescimento profissional. Quando os membros da equipe são expostos a novas ideias e abordagens, eles são incentivados a pensar de maneira criativa e a explorar novas soluções. Isso não apenas beneficia o projeto em andamento, mas também contribui para o desenvolvimento profissional individual, preparando a equipe para futuros desafios.

Portanto, o compartilhamento de informações é um pilar essencial para o sucesso de uma equipe de desenvolvimento de software, impulsionando a eficiência, colaboração, e inovação.

Cada um desses aspectos é uma linha escrita na pedra regravável da cultura de uma equipe de software.

Para Rachel Laycock, o líder deve incentivar as pessoas a entenderem que elas não precisam ser as melhores programadoras, mas sim o melhor que elas poderem ser (Kua, 2014, p. 108). Nas palavras dela, o líder precisa “ajudar a ver os riscos envolvidos e buscar maneiras de encorajar todo mundo a contribuir, especialmente se está lidando com uma equipe inexperiente”.

Fica evidente o papel do líder. Uma posição primordial para o estabelecimento de uma cultura onde as pessoas sintam-se livres para compartilhar o conhecimento.

D’arrigo et al. (2016, p. 19) comentam sobre três dimensões do poder. Uma bastante interessante e bem apropriada para o tema deste texto é o “poder de referência”. Parece bastante apropriado que um líder de uma equipe de software exerça esse tipo de poder. Na verdade, um cenário ideal seria que cada um pudesse exercer algum nível de liderança sob o olhar atento do líder de referência. Sobre o poder de referência:

Habilidade de gerir sentimentos de aceitação ou aprovação pessoal. […] o poder de referência é a habilidade de uma pessoa influenciar o comportamento dos outros, porque eles gostam, admiram e respeitam o indivíduo. Este tipo de poder ocorre quando o alvo se identifica com um agente de influência e ocorre devido à admiração que o alvo possui pelo agente. O poder de referência nasce a partir da admiração do outro e do desejo de ser como essa pessoa (D’Arrigo et al., 2016, p. 20).

Destaca-se um fato inerente ao trabalho de uma equipe de software dentre das organizações. As empresas não podem esperar que todo conhecimento esteja documento em texto, diagramas, mapas, bases, etc. D’arrigo et al. (2016, p. 21) esclarecem que as empresas não podem gerenciar o conhecimento expresso de maneira informal, o know-how. os relacionamentos. Estes dependem do interesse do indivíduo em compartilhar.

É importante dizer, ainda, que a equipe deve ser capaz de encontrar as pessoas que não se encaixam na cultura, que possuem algum tipo de dificuldade. Num primeiro momento, deve-se oferecer ajuda a todo custo. O líder deve ser capaz de identificar essas situações, seja por observações próprias ou pela busca ativa de feedback dos pares. Mas isso não é assunto para esse texto.

Nas palavras de Fitzpatrick e Sussman (2013, p. 36), “o desenvolvimento de software é um esporte coletivo”.

Compartilhe aquilo que é fora da rotina

Os programadores tem uma tendência de não compartilhar seus feitos por medo de críticas (Fitzpatrick; Sussman, 2013, p. 29). Quem já trabalha há algum tempo com desenvolvimento de software conhece termos como “padrão de projetos”, “clean code“, “SOLID”, etc. Compartilhar projetos pessoais em estágio inicial pode relevar inúmeros problemas que vão contra os princípios estabelecidos pelas boas práticas. Mas, pelos mesmos motivos já apresentados, realizar essas tarefas em um ambiente escondido não é comportamento adequado.

Compartilhe o que você tem lido, sejam livros técnicos ou narrativas de histórias. Não exatamente como com uma conversa informal, mas em uma espécie de apresentação, com hora marcada, antecedência. Talvez 30, 40 minutos. Mostre o que você aprendeu, abra para perguntas.

Se gosta de cozinhar, tire uma foto do prato, mande a receita para os colegas. Se gosta de um ou outro estilo musical, que tal montar uma apresentação sobre a origem do ritmo, quais os maiores cantores, bandas do gênero?

Conclusão

Uma cultura forte e bem definida é o fator que permite o compartilhamento de informações. As pessoas precisam ter segurança emocional para conhecer seu lugar dentro da organização (empresa ou equipe), de modo que o compartilhamento possa acontecer de maneira natural e rotineira.

Para que o compartilhamento seja mais eficaz, uma alternativa é estimular a busca contínua da equipe por novas ideias, novos saberes, além do que se propõem o domínio da equipe em questão. Isso é possível, mais uma vez, por meio de uma cultura que permita esse tipo de atividade.

Embora a manifestação de cultura, em muitos aspectos, seja um fenômeno que deva acontecer de maneira orgânica, ela precisa de pessoas determinadas em que fazer isso valer. Esse comportamento, quando bem executado, insere a cultura no DNA de todas as pessoas da equipe e cada vez mais indivíduos atuarão como agentes de uma boa cultura.

Por fim, podemos entender que o compartilhamento das informações como rotina de uma equipe de software está muito mais relacionado à cultura e um ambiente propício para isso, e menos relacionado com uma atividade realizada como uma mera imposição organizacional.

Referências

cultivar. In: DLPO – Dicionário Online da Lingua Portuguesa. 2023.  Disponível em: https://dicionario.priberam.org/cultivar. Acesso em: 23 nov. 2023.

CULTURA. In: DLPO – Dicionário Online da LInguage Portuguesa. 2023.  Disponível em: https://dicionario.priberam.org/cultura. Acesso em: 23 nov. 2023.

D’Arrigo, Fernanda Pauletto et al. PROPRIEDADE PSICOLÓGICA, PODER E INTENÇÃO DE COMPARTILHAR CONHECIMENTO NAS ORGANIZAÇÕES. Pensamento Contemporâneo em Administração, Rio de Janeiro, v. 10, n. 4, out/dez 2016.  Disponível em: https://www.redalyc.org/articulo.oa?id=441749113003. Acesso em: 23 nov. 2023.

Fitzpatrick, Brian W. Fitzpatrick; Sussman, Ben Collins. Equipes de Software: Um guia para o desenvolvedor de softare se relacionar melhor com outras pessoas. Tradução Eduardo Kraszcuk. São Paulo – SP: Novatec Editora Ltda, 2013. Tradução de: Team Geek.

Kua, Patricia. Talking with Tech Leads: From Novices to Practioners. 2014.

Imagem destacada: https://www.pexels.com/photo/woman-sharing-her-presentation-with-her-colleagues-3153198/

Este texto foi originalmente publicado por mim no LinkedIn: link

Categorized in:

Pensamentos,

Last Update: 18/01/2024