The source content for blog.juliobiason.me
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
3.2 KiB

+++
title = "Como Matar a Produtividade de Desenvolvedores"
date = 2020-07-20
[taxonomies]
tags = ["desenvolvedores", "programação", "ti", "onboarding",
"fluxo de dados", "arquitetura", "produtividade"]
+++
Existem várias formas de não matar a produtividade de desenvolvedores num
projeto. Infelizmente, as reais causas nunca são comentadas.
<!-- more -->
Recentemente vi mais um artigo de "como não matar a produtividades de
desenvolvedores", que diz exatamente o que todos os artigos sobre como não
matar a produtividade de desenvolvedores diz: Basicamente "Evite
interrupções".
Mas será que dá pra evitar interrupções mesmo? Não seria o "ping!" da
cafeteira uma interrupção? Não seria a bexiga cheia uma interrupção? Não seria
a campainha avisando que chegou a encomenda e/ou a tele-entrega uma
interrupção?
Qual é a diferença entre essas e alguém pedindo ajuda?
E fazer menos reuniões? Por que? Porque ninguém se liga de fazer uma pauta de
reunião para ter o que decidir? Ou será que é porque os desenvolvedores de
frontend não dão a mínima para os problemas que o pessoal de backend está
enfrentando e vice-versa?
Seria uma reunião marcada com uma semana de antecedência uma "interrupção"?
Eu não consigo ver que as interrupções em si são o problema. Imaginem o
seguinte:
Essa pessoa passou por um onboarding quando entrou na empresa, e foi
apresentado ao propósito da mesma, foi apresentado ao produto que a empresa
vende e como o produto funciona, foi apresentada à arquitetura do sistema, foi
explicado o motivo de cada solução aplicada, foi dado tempo para discutir
outras soluções com seus pares, não foi colocado contra a parede para explicar
cada minuto de trabalho do seu dia.
Dado isso, vocês conseguem imaginar que alguém fazendo uma pergunta sobre
alguma parte do sistema enquanto quem está programando está no meio da função
de frobnicar[^1] foo? Talvez perca algum tempo para ver em qual ponto parou,
mas como a solução já foi discutida, e já se sabe o propósito da
funcionalidade sendo introduzida, a interrupção vai afetar muito pouco o
resultado final.
Infelizmente, na área de TI, passamos muito tempo sendo vistos como "máquinas"
e técnicas de produção são aplicadas diretamente sem considerar que somos
pessoas (ou vocês acham que "kanban" nasceu no meio da TI mesmo e não dentro
da fábrica da Toyota?).
Uma máquina parada é dinheiro perdido. Parar a produção para manutenção
preventiva, sem que a máquina esteja realmente quebrada, tendo desmontar a
mesma e verificar cada uma das partes, é dinheiro perdido.
E, infelizmente, quando um programador não está "programando", é visto como
dinheiro perdido. E por isso coisas básicas, como explicar o porque o sistema
existe, qual a ideia do fluxo de dados dentro do mesmo, deixando que
programadores parem e discutam soluções e coisas do tipo são completamente
ignoradas: Porque a "máquina" não está produzindo.
E, quando é preciso parar a produção, por qualquer motivo, a produtividade vai
lá pra baixo.
---
[^1]: Eu não se tem alguma forma melhor de traduzir
[frobnicate](https://www.techopedia.com/definition/27996/frobnicate)
<!--
vim:spelllang=pt:
-->