A profissão do desenvolvedor de software é considerada intocável para os sistemas de monitoramento de comportamentos de usuários. Quer dizer, que os programadores são pessoas criativas, e não é possível avaliar seu desempenho com métricas padrão. E a qualidade pode ser julgada por um produto acabado. O principal argumento a favor desta posição é que "você não vai entender nada de qualquer jeito", o que dá aos desenvolvedores o status de intocáveis. permitindo-lhes fazer tudo o que eles quiserem. Entre os convidados do blog do projeto KickIdler está um dos clientes que não acreditou em status "especial" dos programadores e começou a monitorização e análise da informação, chegando a uma conclusão surpreendente: O que destrui aos programadores eficazes não é a ociosidade, mas um efeito de comutação de contexto que reduz a produtividade de funcionários individuais em média em 20%.
Olá. Eu sou o proprietário de uma pequena empresa de desenvolvimento personalizado. Cerca de um ano e meio atrás, tivemos um pouco mais de 20 desenvolvedores na planilha, mas com o início de uma fase grave de crise e redução de ordens e uma queda do cheque médio, tivemos de reduzir o número de programadores para 11. Com aqueles que deixaram a empresa, continuamos a manter as relações e empregá-los como freelancers com remuneração horária.
Como a redução da planilha aconteceu o que eu temia. O desempenho da equipe de desenvolvimento caiu. Naturalmente, a queda foi desproporcional com relação a redução da equipe (não em duas vezes), mas foi suficiente para que nós deixamos de cumprir prazos. Os clientes, é claro, eram descontentos: com alguns conseguimos de negociar o trabalho, mas também acabamos de perder alguns de nossos clientes. O problema agudo requeria uma solução imediata. Mas não estava claro por onde começar. Todo o pessoal era gente provada, consciente, nada de preguiçosos, trabalhando o dia laboral completo o que era fácil de controlar.
Presumi que alguns dos especialistas estavam indo muito a sério para se preparar para a crise, tomando um trabalho de freelance e fazendo-lo durante o horário de trabalho. Foi decidido de verificar a hipótese por meio do sistema de contabilidade de tempo de trabalho (SCTT), que recolhe informações sobre quais aplicações e sites foram utilizados pelos funcionários durante o dia de trabalho. O sistema SCTT não revelou anomalias. De acordo com seus relatórios, os programadores 85% do seu tempo de trabalho gastaram em aplicações de desenvolvimento, gastando uma média de 8% para atividades não-profissionais. É um pecado reclamar algo.
Tornou-se claro que os logs de comportamento personalizados não diagnosticam o problema. Precisamos olhar nos computadores dos empregados de alguma forma. Claro, é impossível estar atrás das costas de todos os 11 programadores. Por isso, foi decidido aplicar o Kickidler. Eu usei a versão de teste da solução, configurado-la para gravar vídeo a partir das telas de computadores da minha equipe.
O vídeo deu comida para o pensamento. Os programadores realmente gastavam muito tempo em aplicações de desenvolvimento. Mas seu tempo produtivo foi muito diluído pelo tempo em todos os tipos de redes sociais e comunidades profissionais, de Habrahabr a GitHub. Eles comutavam-se para lá, lendo uma mensagem ou post, escrevendo a resposta ou comentário, e voltavam-se para escrivir o código. Somente o espírito de trabalho foi perdido, e o funcionário recuperava-se 15-20 minutos para voltar-se no ritmo de trabalho. Mas aparecia um aviso de uma nova mensagem. E ele alterava-se para a rede social novamente, e tudo começando de novo.
Entre os engenheiros de IT esse efeito é conhecido como alternância de contexto. Para o cérebro humano (como para o analógico eletrônico que é o processador central), este é um dos processos mais caros em termos de recursos de computação e de tempo. A alternância de contexto nas máquinas diminui o desempenho do processador, e nas pessoas - desfoca a atenção provocando o cérebro a buscar a linha rompida do trabalho construtivo por muito tempo. Quando os programadores eram mais de 20, o efeito foi dividido entre eles e menos perceptível. O problema foi exposto quando o número de desenvolvedores se tornou em 11, e a contribuição de todos no trabalho comum tornou-se mais evidente. A alteração de contexto em média devorava 20% de tempo de trabalho de cada um dos meus profissionais. Tendo em conta o salário médio da equipe de desenvolvimento (85000 rublos por mês), o equivalente monetário é mais de 17000 rublos por mês por um empregado, ou quase 200.000 rublos por mês para a equipe de desenvolvimento total. E isso é sem contar as ordens perdidas e as multas que devemos pagar a um par de clientes descontentes por causa de não cumprimento de prazos.
Eu tive que tomar medidas impopulares e proibir o uso de redes sociais, Messengers e outros recursos e aplicações não-relacionados ao trabalho durante todo o dia de trabalho, exceto de pausas de desanso oficiais. Estas medidas rapidamente corrigiram a situação. Na primeira semana, a produtividade laboral subiu para 12%, mas não parou e continuou a crescer. Uma semana depois, já haviam sinais de uma melhoria global da situação: a equipe de desenvolvimento tornou-se mais pontual na consecução dos objetivos intermediários do projeto.
Esta história tem ajudado a compreender uma série de coisas importantes:
- Se você tem possibilidade de monitorar os funcionários durante o trabalho nos computadores, faça-lo.
- Não há diferença a quem vigilar. A monitorização será útil tanto para programadores como para gerentes de vendas.
- Se os funcionários se opõem ao monitoramento, portanto, eles reconhecem sua ineficiência, temendo a revelação da última.
- Os sistemas de contabilidade de tempo de trabalho padrão podem falhar na revelação do problema. Assim foi no nosso caso.
Espero que a minha história seja útil para leitores do seu mailing.
E você quer saber em quais sites gastam o tempo laboral os seus funcionários? Passe meia hora instalando o sistema Kickidler, e você vai ter não só as estatísticas completas de trabalho com sites e programas, mas também a possibilidade de olhar no monitor de um ou vários gerentes simultáneamente.