Este é um assunto complicado. Principalmente em casos onde não existe nenhuma metodologia de desenvolvimento como "
Agile Software Development".
Nestes casos, quem é que tem a culpa? É o programador? É o gestor de projectos?
Melhor ainda, como é que se avalia a culpa num projecto atrasado?
Acho que é impossível de se avaliar a culpa de um atraso num projecto, pelo menos na maior parte dos casos. A não ser que aja mesmo um grande erro de um dos lados.
A meu ver a culpa pode ser atribuída aos dois, ao gestor porque não geriu bem o tempo, não explicou precisamente o que era necessário fazer. Ao programador porque demorou mais tempo do que devia a fazer certas partes da aplicação.
Quem é que deve ser responsabilizado? Depende do caso, mas eu diria que a maior parte das vezes deve ser o gestor, o gestor é o responsável pelo projecto, é ele quem coordena, organiza, planeia todo um projecto. O gestor tem de ter em conta tudo o que se possa passar com os programadores à sua volta.
Isto aconteceu-me no último projecto onde estive envolvido, que finalizei hoje!
O que é que aconteceu?
Eu comecei a desenvolver o
script, e acabei-o em 3 dias. Tinha feito de acordo com as especificações que me tinham dado.
No entanto quando foi altura de mostrar ao gestor para ver se estava tudo em ordem, não estava. Afinal o que era um
script aparentemente fácil de executar sem grandes complicações, deixou de ser. Passou a existir uma quantidade enorme de cálculos com datas ( basicamente aplicar operações de conjuntos a vários intervalos de datas várias vezes com diferenças entre intervalos de datas, uniões e etc's... ).
Ou seja maior parte do que tinha sido feito, foi simplesmente para o lixo. Toca de refazer praticamente todo o
script de novo.
Claro que aplicar todas estas operações no
script não foi tarefa fácil, e como é lógico atrasou logo tudo montes de tempo.
Aqui a culpa é de quem?
Em parte também é minha, porque se calhar devia-me ter informado melhor sobre o que estava a fazer, de maneira a não ter que refazer o
script outra vez.
Do gestor, por não ter enunciado logo tudo o que o
script envolvia, fazendo-me perder tempo, por ter desenvolvido 2 maneiras completamente diferentes.
Quem é que paga?
Paguei eu ( que sou o programador ), que tive de vir trabalhar 6º feira ( feriado ) umas duas horas porque o gestor me andava a apertar os calos. ( Embora ache que não tenha culpa no cartório, pelo menos neste caso, e não devia ter ido ).
Pagou o gestor, porque lhe atrasou tudo o que tinha planeado.
Paga o cliente, porque em vez de pagar 3 dias de trabalho, vai pagar mais.
Soluções para que isto nunca aconteça? Pelo que estive a ler sobre "
Agile Software Development", parece que é uma boa aposta, partir o software em várias tarefas minúsculas e só passar para a próxima após a anterior estar completa e testada.
Tenho é impressão que o meu gestor de projecto não vai achar grande piada ( até porque lhe ia aumentar bastante o trabalho )
Um bom link para se irem entretendo sobre desenvolvimento de produtos "
Managing Product Development", tenho acompanhado o blog e tenho gostado bastante.