Não dá para ser gestor e programador ao mesmo tempo
A escolha de um programador para servir como gestor de projeto pode prejudicar a produtividade do projeto e ser cruel para o programador ao pedir que faça o impossível.
Eis algo que nunca funciona bem: surge um pequeno projeto, que não precisa necessariamente de um gestor de projeto em tempo integral. Então, decide-se que um dos programadores pode funcionar como gestor do projeto. Afinal, quem melhor entende o que precisa de ser feito do que o programador?
Isto é verdade, e muitos programadores são bons gestores de projeto. Não há nenhum conflito inerente entre o tipo de pessoa que é um bom programador e aquele que faz será bom gestor. Ambos estão orientados para o detalhe e procuram resultados concretos. Mas é simplesmente impossível ser um bom programador e um bom gestor de projeto simultaneamente.
Para entender a incompatibilidade, precisamos pensar sobre os tipos de coisas que os programadores e os gestores de projeto são chamados a fazer.
Desenvolver software é como viver em um estado de sonho. Para ser produtivo, é necessário entrar em um mundo totalmente simbólico, onde se manipulam algoritmos e variáveis, se prevêem fluxos e contingências, se testam ideias e tópicos complicados de pensamento. Trabalhar nesse tipo de mundo requer longos períodos de concentração ininterrupta. Sempre que se é interrompido, perde-se a linha de pensamento. E depois da interrupção, pode-se demorar algum tempo para retornar onde se estava. Talvez até ao dia seguinte.
Em outras palavras, o custo da comutação de tarefas durante o desenvolvimento de software é muito elevado.
A gestão de projetos exige uma mentalidade e estilo de trabalho totalmente diferentes. Em vez de viver em um estado de sonho, os gestores de projetos precisam estar intimamente e imediatamente ligado aos fatos, emoções e política do seu meio ambiente. Os gestores de projeto não criam apenas planos de projeto abstratos e acompanham o progresso perante uma construção teórica. O seu trabalho é coordenar a atividade de numerosas pessoas, entender o progresso que fazem, quais os obstáculos que enfrentam, de que recursos necessitam, e como o trabalho de cada um afeta a produtividade dos outros. Em outras palavras, o seu trabalho é quase inteiramente interrompido. Eles precisam estar disponíveis em todos os momentos para lidar com crises, evitar problemas e comunicar com todos os envolvidos.
Não há, simplesmente, maneira de conciliar estes dois estilos de trabalho diametralmente opostos.
Para começar, se oferecermos a alguém ser um gestor de projeto e um programador, esta pessoa terá que escolher um desses cargos como principal perante o outro. Se optar por ser primeiro um programador e depois um gestor de projeto, sem ter total disponibilidade para a equipe do projeto e as partes interessadas externas, todo o projeto vai sofrer com a falta de liderança. Se escolher por ser um gestor de projeto e depois programador, astarefas de desenvolvimento atribuidas a si mesmo estarão susceptíveis de serem concluídas com atraso ou de não serem bem desenvolvidas.
Por isso, para melhorar a produtividade de um projeto, afaste essa tentação, muito comum.
Make it simple!
Um texto de Paul Glen – co-autor do The Geek Leader’s Handbook e um dos responsáveis da Leading Geeks