Não podia virar o ano sem comentar esse reporte aqui, que deu muito o que falar nas últimas semanas:
https://www.software.com/reports/code-time-report
Chama a atenção o tempo médio por país, com uma certa correlação entre o nível de desenvolvimento socioeconômico e tempo codando.
Quanto ao "menos de 1h por dia" confesso que não fiquei surpreso.
Vale de largada assumir que um dev não vai passar 100% do seu tempo apenas codando.
É natural que ele utilize parte do seu dia a dia efetuando outras atividades.
E eu acho que é difícil cravar qual seria o "mínimo esperado" apenas codando dado que cada organização tem processos diferentes (sem entrar no mérito de prós e contras de cada qual - não é o propósito aqui).
No waterfall: primeiro se efetua todo o DF e DT por equipes que podem ou não ser devs (o detalhe da espec pode chegar no nível de "português estruturado").
A programação pode até mesmo ser feita nas famosas "SW factories" onde os devs focam só na codificação e teste unitário.
Nesse modelo o tempo dos devs será muito maior com a codificação (>1h/dia), pois recebem as especificações prontas, dado que alguém efetuou a especificação antes.
Já no modelo Agile se têm times multidisciplinares onde, em geral, não existe de forma tão bem estruturada o DF e DT do que deverá ser codificado.
Então os devs passam menos tempo codando, pois uma parte do esforço se dará maturando o que deverá ser feito. Eles também atuam mais diretamente no processo de testes e homologação para o deploy.
Para mim ficam algumas reflexões:
1) Vale buscar a disciplina do DOR e só colocar para o desenvolvimento em uma sprint aquilo que está maduro para ser desenvolvido.
2) E se existir um modelo que potencializa o valor de cada perfil profissional? Existem pessoas que adoram codar e são absurdamente produtivas nisso, mas que não gostam e não são tão produtivas na "especificação" ou discussões junto ao business. Existe o inverso e está tudo bem (cada indivíduo tem suas fortalezas). E se houver times especializados em maturar o que precisa ser feito e times especializados em implementar (nos casos em que fizer sentido)?
3) Um posts que me chamou a atenção nesse estudo foi um do Fernando Da Silva, com um print de uma agenda onde o dia inteiro do dev era ocupado por reuniões. Será que a cultura de reuniões já não chegou ao limite e está impactando os times?
4) Há o desafio de balancear entre "blindar o time" para que ele não seja bombardeado com reuniões (mantendo o foco), versus "expô-lo" para interagir, ser desafiado e adquirir skills adicionais que não terão apenas codificando.
5) Complementando o item 4, falando por mim, comecei como dev e foi justamente por ter tido o líderes que me deram essa abertura de canais e variedade de atribuições (ainda que impactando o tempo "focado" em codar) que pude descobrir um mundo de outras atividades com as quais me apaixonei e que me permitiram navegar ao longo da carreira até hoje. Então acho importante esse balanço entre foco X multi disciplinas!