Existem muitos fatores que contribuem para a tensão sobre as reuniões. Considere estes como alguns dos motivos importantes pelos quais as reuniões podem custar mais do que valem:
- Foco - software versus reuniões
- Gerenciamento - os gerentes precisam de medição
- Personalidade - introvertidos vs. extrovertidos
- Tempo - interrupções, tempo de Maker e Manager
- Objetivos, Prioridades
Cada um desses fatores é explicado abaixo,
Foco - Gosto de desenvolver software, e isso inclui pensar nos desafios (problemas), criar soluções, criar o software e reuniões desviar o foco das tarefas que o compõem. Existe um estado chamado " Fluxo ", em que um desenvolvedor está imerso no desafio (problema), construiu um modelo mental da solução e tem um foco completo na criação da solução. Um desenvolvedor pode trabalhar até meia-noite, sair apenas para comer e dormir e depois retornar a um estado próximo de onde saiu.
Os desenvolvedores precisam evitar distrações, e muitos acham que há vantagens em codificar até altas horas da noite (evitam ruídos, telefonemas, escritórios ocupados e colegas que não desenvolvem interrompendo seu trabalho). E quando você trabalha até as 10, 11 ou 12 da noite, não é razoável ir trabalhar mais tarde (10, 11, meio-dia?). É razoável esperar que os desenvolvedores trabalhem das 9h à meia-noite?
As reuniões do Scrum (e qualquer) distraem o desenvolvedor de seu objetivo principal, que é a criação de software.
Gerenciamento - Os gerentes precisam medir para serem bem-sucedidos, daí a necessidade de agendas, entregas, cronogramas, prioridades e reuniões para medir e relatar o progresso e expor dependências, atrasos e áreas de risco. O desafio do Scrum é que um gerente precisa dessas coisas, mas o desenvolvedor precisa se concentrar. As reuniões atendem ao gerente e fornecem uma maneira de o gerente obter, medir e acompanhar o status e os progressos, mas as reuniões raramente fornecem utilidade aos desenvolvedores. Considere que os gerentes agregam mais valor ao lidar com distrações, remover barreiras e permitir que os desenvolvedores se concentrem na criação de software.
Existem soluções para a necessidade de reuniões. Um gerente pode visitar seus desenvolvedores, solicitar relatórios de status, adotar um protocolo para quando as interrupções são menos invasivas ou adotar uma política que o desenvolvedor os notifique sobre o progresso quando o desenvolvedor for interrompido. Veja a discussão do tempo para saber por que isso é importante.
Personalidade - considere que algumas pessoas são introvertidas e outras são extrovertidas. Os extrovertidos desfrutam de interações sociais e são recarregados por eles. Os gerentes são geralmente extrovertidos (porque os extrovertidos geralmente são melhores com interações sociais), embora os introvertidos possam ser bem-sucedidos como gerentes. Os introvertidos podem se divertir e até se destacar nas interações sociais, mas são recarregados pela solidão. Os desenvolvedores geralmente são introvertidos e conseguem trabalhar sozinhos (ou em pequenas equipes) porque não "precisam" de interações sociais; eles podem ser felizes trabalhando sozinhos em problemas (embora os extrovertidos também possam ser desenvolvedores). As reuniões diárias do scrum podem se tornar reuniões sociais, boas para extrovertidos, mas não tão boas para introvertidos.
Tempo - os desenvolvedores não podem escrever código enquanto estão nas reuniões. Tampouco podem pensar em problemas difíceis (a menos que estejam fazendo um brainstorming), enquanto se distraem com as reuniões. Os desenvolvedores precisam de grandes blocos de tempo ininterrupto para se concentrar na criação de software. Reuniões são interrupções que distraem seus esforços. Quando você está imerso na solução de um problema por horas, está quase pronto, e alguém diz "hora do scrum", você é interrompido e talvez perca horas de trabalho enquanto "muda de marcha". Ou você ficou no trabalho até 23:00, saiu do trabalho, viajou para casa, dormiu no problema, acordou, voltou para o trabalho pronto para resolver o problema e depois foi interrompido após uma hora trabalhando no problema, porque é "hora do scrum".
Paul Graham tem um excelente artigo sobre o Maker Time vs. Manager Time, que explica esse problema muito melhor do que eu. Basta dizer que uma interrupção da reunião, planejada ou não, pode interromper o fluxo e forçar um desenvolvedor do tempo do Maker para o tempo do gerente. Acredite, você quer desenvolvedores no tempo do Maker.
Objetivos, prioridades - desenvolvedores e gerentes têm objetivos e prioridades diferentes. Os gerentes têm o ônus de rastrear agendas, minimizar custos, garantir que seus relatórios sejam responsáveis e que eles executem. Os desenvolvedores têm o objetivo de criar o software que lida com os desafios / problemas. Esses objetivos não estão em conflito, mas é o mecanismo de comunicação que cria a tensão. As reuniões atendem às necessidades do gerente e otimizam o tempo do gerente, mas entram em conflito com as necessidades do desenvolvedor. As reuniões do Scrum descartam a primeira regra das reuniões, "têm uma agenda" e tendem a vagar mais. E as reuniões são usadas para otimizar a comunicação (para o gerente), mas custam o tempo do desenvolvedor (interrupções, perda de fluxo, etc.).
Qual é o objetivo? Construir software que atenda às necessidades, de forma rápida e com qualidade, enquanto as restrições são (qualidade, tempo, custo, processo). O Scrum e outras metodologias ágeis reconhecem a restrição do processo, tentam minimizar esse fator e foram bem-sucedidas porque minimizam essa restrição. Mas adicionar reuniões custa tempo e a interrupção custa ao desenvolvedor muito mais do que a duração da reunião.