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


2020-06-02

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 o 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.

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.

Algum comentário ou dúvida? Entre em contato comigo via Twitter ou LinkedIn.

Originalmente publicado em EximiaCo