Cinco Razões Para o Fracasso dos Projectos de Software O fracasso dos projectos de desenvolvimento de software pode depender de muitos factores. Neste artigo expomos cinco das razões mais comuns. 1. Falta de Comunicação Uma das razões mais frequentes para o fracasso dos projectos de desenvolvimento de software é a falta de uma comunicação efectiva. A comunicação é indispensável para uma boa coordenação do projecto, uma vez que é através dela que as pessoas das várias áreas funcionais partilham informação crítica para a implementação de projectos bem sucedidos. A comunicação efectiva deve ser uma preocupação logo no início do projecto. É nesta fase que se estabelecem as bases do projecto e estas devem ser credíveis para todas as partes envolvidas no mesmo. No entanto, os gestores de projectos falham frequentemente em dar resposta a algumas questões fundamentais: Quais os objectivos de negócio que o projecto deve atingir? Qual o nível de qualidade esperado para o produto ou produtos finais? Qual o risco que o cliente deve considerar quando decide avançar com o projecto? 2. Falta de Envolvimento do Cliente Os projectos de software também sofrem frequentemente de falta de envolvimento do cliente no processo de desenvolvimento. Este aspecto é crucial, sobretudo o envolvimento dos utilizadores finais. Há quem afirme mesmo que o envolvimento insuficiente dos utilizadores finais é a principal razão para o fracasso dos projectos. Infelizmente, alguns clientes resistem a envolver-se, alegando que não vêem razões para perder tempo a pensar naquilo que pretendem e que pagam o suficiente para que o fornecedor pense por eles. Nestes casos, o cliente está a delegar no fornecedor a definição do problema e não apenas a tarefa de o resolver. 3. Metodologia Errada A metodologia é igualmente uma das principais razões para o fracasso. Toda a gente conhece as grandes queixas contra a abordagem em cascata. Este tipo de abordagem só fornece uma ideia completa do progresso do projecto quando se está próximo do fim, ou seja, na fase de integração do sistema. Consequentemente, de uma forma geral, só se conseguem detectar problemas graves quando se chega a essa fase. O preço a pagar por se ter seguido uma tal abordagem é frequentemente a necessidade de refazer muito trabalho, exigir maior esforço das pessoas envolvidas e ter que aumentar o orçamento. No entanto, a metodologia em cascata não é a única que falha. Muitos projectos que utilizaram o Rapid Application Development (RAD) ou o Dynamic Systems Development Method (DSDM) têm fracassado por seguirem uma abordagem incremental em vez de uma abordagem iterativa. 4. Enfoque Parcial Outra fonte de fracasso tem a ver com a forma como os requisitos são tratados e documentados. Em determinados projectos, o enfoque é colocado sobretudo no cliente, esquecendo-se as restantes partes envolvidas. Quem faz isto não se dá conta de que os requisitos não podem ser ambíguos para nenhuma das partes, incluindo o pessoal de desenvolvimento e de teste. Por outro lado, as abordagens tradicionais de desenvolvimento de software documentam muitas vezes os requisitos como funções, o que os torna difíceis de priorizar. Desta forma, fica comprometida a gestão e a prossecução do projecto. Outro problema com as funções reside no facto de dificultarem o desenvolvimento de casos de teste. 5. Ferramentas Desadequadas O desenvolvimento de software também depende da utilização de ferramentas efectivas de desenvolvimento. Mesmo quando os gestores dos projectos escolhem as ferramentas adequadas e treinam as suas equipas para as utilizarem correctamente, essas mesmas ferramentas podem absorver mais tempo e atenção do que o próprio processo que deveriam suportar. Por outro lado, muitas equipas desperdiçam tempo e recursos preciosos a tentar utilizar ferramentas que não são adequadas e que lhe foram impostas por políticas organizacionais. Como o desenvolvimento de software depende de um esforço coordenado de equipa, os projectos podem perigar se os seus membros não utilizarem as mesmas ferramentas ou não as utilizarem de acordo com as directrizes do projecto.