Desafios da moderna gestão de TI

Problema! 80% das entregas são realizadas por 20% dos desenvolvedores

Gestão do conhecimento eficiente é fundamental para empresas onde desenvolvimento de software é atividade crítica. O ideal é a formação do maior número possível de desenvolvedores competentes para gerar o máximo de valor agregado. 

Uma boa forma de apurar a eficiência da gestão de conhecimento, em times de desenvolvimento, é apurar a distribuição do trabalho, através de indicadores táticos, a partir dos sistemas de versionamento de código. Em ambientes sadios, haverá uma distribuição quase equânime de mudanças por colaborador. Infelizmente, esse cenário não é comum.

Parece que princípio de Pareto tem se demonstrado válido, também, na distribuição de contribuições no desenvolvimento de software. Segundo estudo recente, em 78% dos projetos, cerca de 80% das alterações nas bases de código são feitas por apenas 20% dos membros ativos dos times de desenvolvimento.  Ou seja, a maioria dos projetos, hoje em dia, são “guiados por heróis”.

Uma causa comum para esse fenômeno é a aplicação recorrente do conceito Surgical Team apresentado por Frederick P. Brooks no clássico The Mythical Man-Month. Entretanto, é importante destacar que, atualmente, essa é considerada uma péssima ideia. Afinal, vivemos em uma realidade muito diferente daquela vivida por Brooks.

Surgical Team

Assim como uma equipe médica é liderada, durante uma cirurgia, por um especialista que realiza o trabalho mais crítico enquanto instrui a equipe, parece razoável que um “bom” programador desenvolva componentes críticos do sistema enquanto o restante da equipe fornece o que ele  necessita no momento certo.

Centralização por especialização, especialmente no desenvolvimento de software, aumenta a dependência e corrói resultados. Prazos cada vez mais apertados e cargas de trabalho cada vez maiores, comuns em projetos “guiados por heróis”, impactam negativamente a qualidade das entregas.

Quanto maior for a expectativa de vida de um software, maior é a importância de que não exista acoplamento entre código e desenvolvedores. O problema, em ambientes corporativos, é ainda mais grave quando, no desenvolvimento de sistemas distribuídos, como os baseados em microsserviços, são constatados altos índices de centralidade em artefatos “guiados por heróis”.

Sempre que um projeto de software é “guiado por herói”, existe a demanda para que a organização faça esforços adicionais para manter esse “herói” no time. Essa prática, infelizmente, conduz a uma relação potencialmente desequilibrada. Não são raros os casos onde a gestão fica “refém” de profissionais que, conscientes da sua relevância, passam a agir de maneira negativa para a equipe.

Em termos práticos, nossa recomendação é que se verifique, nas bases de código, a relação entre mudanças por membro ativo do time. O ideal é estabelecer e acompanhar um indicador tático, bem fácil de apurar, indicando a condição atual. Entendemos que essa medida orienta para a formação de times mais coesos e com maior senso de propriedade.

Em Resumo
  • O problema

    Pesquisas recentes apontam que a maioria dos projetos tem 80% das mudanças realizadas por apenas 20% dos times. Isso aumenta a dependência para esses profissionais e aumenta o risco, principalmente em software que será utilizado por muito tempo.
  • O insight

    Estabelecer um indicador, a partir do controle de versão do código, para mensurar o volume de contribuição por membro ativo do time de projeto. O ideal é que a distribuição seja equânime.

Thiago Gaglietti de Candido

Atuo na área de tecnologia e desenvolvimento de software com foco nas áreas de liderança técnica, arquitetura de software, aplicações de alto desempenho e inteligência artificial. No decorrer de minha carreira, trabalhei com organizações de diversos segmentos e liderei equipes em projetos de sucesso. 

Elemar Júnior

Microsoft Regional Director e Microsoft MVP. Atua, há mais de duas décadas, desenvolvendo software e negócios digitais de classe mundial. Teve o privilégio de ajudar a mudar a forma como o Brasil vende, projeta e produz móveis através de software. Hoje, seus interesses técnicos são arquiteturas escaláveis. bancos de dados e ferramentas de integração. Além disso, é fascinado por estratégia e organizações exponenciais.

Talvez você goste também

Carregando posts…

Mais posts da série Desafios da moderna gestão de TI

7 Comentários
  1. Hudson Nascimento

    Vivemos um cenário parecidíssimo senão identico ao abordado no texto.
    Talvez o quadro atual, digo em relação a pandemia de 2020 isso ficou muito mais evidente.
    Observo que a distribuição das entregas esteja concentrada demasidamente, pode ser a hora de rever se estamos ainda aplicando o conceito Surgical Team.

  2. Miguel

    Gestão do conhecimento é um pouco complicado, ainda mais pensando em meio corporativo. Não acredito que tentar gerenciar isso, resolva este problema.

    Solução pra isso me parece um pouco óbvio, times ágeis.

    1. Elemar Júnior

      Times ágeis é mais fácil?

    2. Elemar Júnior

      Em tempo, agilidade, bem praticada, é gestão do conhecimento.

  3. Vinicius Rocha

    Talvez, esse desenvolvedor que está conseguindo entregar mais devesse ser alocado para passar mais tempo guiando os outros desenvolvedores e sendo responsável por garantir que os outros também estejam entregando. Nem que para isso ele precise parar de entregar e ficar apenas auxiliando. O projeto vai reduzir a velocidade num curto prazo, mas chegará muito mais longe a longo prazo.

  4. Miguel

    Acredito que sim.

  5. Richard Blatchford

    Interessante, realmente. Compreendo o ponto.
    Alguém que detém sozinho todas as respostas – enquanto os seus pares não -, mesmo bem intencionado, pode produzir um ambiente disfuncional, porque desequilibrado.
    O mundo não é homogêneo. Logo, gerir o conhecimento se faz importante.

    Compreendo.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *