Os problemas com pessoas, e não com tecnologia, são culpados pelo insucesso de projetos de desenvolvimento de software. Esse é o ponto de vista relatado em um artigo recente do Computerworld. Os gerentes de projetos, em particular, são apontados como sendo a fonte da maioria desses problemas. De acordo com Billie Blair, da Change Strategists Inc., as organizações promovem, a esse papel crítico, pessoas que se destacam como técnicos, apenas para descobrir mais tarde que não têm as habilidades necessárias para desempenhar efetivamente o trabalho. Eles não estão prontos. Diz Blair:
Qualquer coisa que dá errado em uma empresa sempre pode ser rastreada até o gerente.
Técnicos podem assumir com sucesso papéis de gerenciamento? Muitas organizações reconhecem a divergência extrema entre as aptidões exigidas por esses dois papéis, e implementam algum tipo de carreira dupla. A carreira técnica normalmente recompensa conhecimento e habilidades técnicas, com pouca exigência de talentos no gerenciamento de pessoas. A carreira gerencial, pelo contrário, conduz o candidato a responsabilidades cada vez maiores em gestão de pessoas, supervisão financeira e visão estratégica.
A decisão sobre qual carreira seguir pode ser difícil para qualquer pessoa. Pawel Brodzinski escreveu um post sobre essa escolha e como, na sua opinião, ela é mutuamente exclusiva:
Uma qualidade que faz de você um grande engenheiro normalmente o torna ao mesmo tempo um gerente ruim.
Haveria exemplos indicando que uma pessoa pode navegar por papéis técnicos e gerenciais ao mesmo tempo? Na web existem muitas discussões sobre se essas habilidades devem ser cultivadas em paralelo. Seguem trechos de uma dessas discussões (cada um por um autor diferente):
Depende da quantidade e do tipo de programação que são exigidos, e da quantidade de obrigações gerenciais.
Participei de uma equipe de desenvolvedores onde um dos programadores era também nosso gerente. Isso conduziu a um colapso total de tudo que lembrasse a produtividade. Em resumo, todas as decisões eram tomadas por ele, e ele era um completo microgerente.
Embora seja possível na maioria dos cenários, na minha opinião não é bom. Há diversos artigos sobre como desenvolvedores excelentes são levados para um papel de gerente de equipe, mesmo que essa não seja sua habilidade específica ou a posição desejada. Eles têm dificuldade para manter o foco no 'gerenciamento' porque consideram como 'trabalho' desenvolver, e não criar relatórios ou ir a reuniões.
Um elemento que está modificando essa discussão é o papel das metodologias ágeis. Visto que elas alteram e minimizam o papel tradicional de gerente de projetos, ao mesmo tempo em que aumentam a responsabilidade dos desenvolvedores, há quem argumente que isso diminui a possibilidade de haver um ponto único de falha nos papéis da equipe.
Outro ponto de vista nesse debate é apresentado por CA Atreya. Ele cita um estudo de 2005 sobre motivos de falhas de projetos, que mostrou que o maior problema são definições de requisitos inadequadas.