Sem rumo
Já se sentiu perdido, sem saber pra onde ir ? A sensação é a mesma quando estamos desenvolvendo software sem ter os requisitos bem especificados. O projeto que é iniciado sem requisitos claros resulta em perda de tempo e desgaste profissional.
Talvez até digam que o seu trabalho está demorando demais. Talvez digam que suas soluções para os desafios propostos são muito complicadas. O fato é que programar sem ter requisitos funcionais e não funcionais definidos é como dirigir na neblina, sem visibilidade alguma. Como evitar situações como esta? É preciso estar atento a algumas armadilhas.
A falta de gerenciamento dos requisitos é um fator muito comum em projetos que fracassam. Estive lendo um artigo que mencionou o método ‘codifica-remenda’. Este método é usado quando o desenvolvedor não tem uma ideia clara do que o produto tem que fazer. A cada nova definição, ou falta de definição, o produto é modificado até ser entregue ou mesmo abandonado.
Distorções
Os requisitos também podem ser distorcidos por problemas de comunicação. A questão é que muitas vezes os requisitos existem, mas não são levantados e documentados de forma correta. Nada é mais perigoso do que passar requisitos apenas oralmente, sem uma validação formal.
O resultado da falta de documentação é: o gerente do projeto passa para o líder de equipe de uma forma, o analista entende de outra. O analista passa para o programador e este implementa de outra forma. A confusão só vai aparecer quando o testador verificar se o requisito foi cumprido, ou pior, quando o cliente for usar.
Registre!
Outro descuido perigoso é documentar e não atualizar o documento quando há mudanças ou são acrescentados novos requisitos. Reuniões periódicas são importantes para manter o rumo correto do desenvolvimento. Mas é preciso gerar um documento que formalize as decisões tomadas sobre os requisitos e prioridades. O sintoma comum deste descuido é um conjunto de decisões tomadas a dois ou três anos atrás que nunca foram aplicadas.
A verdade é que os requisitos são a base essencial para um software de qualidade. Cuidar bem do levantamento e gerenciamento destes é vital para o sucesso dos projetos de software. Sem as especificações claras e registradas não há como saber o que testar ou mesmo o que é prioritário.
O ponto é : trabalhe com uma especificação decente antes de programar. Assim ninguém poderá dizer que ou seu trabalho é mediano.
É requisito de um bom trabalho.
Boa codificação!