Primeiramente, é importante entender que modelagem não é documentação. Entendendo-se isso, abaixo são descritos cinco erros comuns daqueles que ainda concluem que a documentação, ou melhor, a modelagem não é importante:
1 – A ausência de rastreabilidade dos requisitos e aprovação de sua linha de base dificulta a identificação das mudanças de escopo. Clientes podem solicitar novas funcionalidades ou mudanças naquelas já construídas e sem uma linha de base com os requisitos, há retrabalho na construção de novas versões do aplicativo em que o fornecedor, invariavelmente, arca com todo o custo.
2- O valor de um erro aumenta conforme se avança no projeto. Partindo-se diretamente para a construção o cliente irá validar o seu pedido, ou parte dele, apenas na homologação, onde ele pode apontar erros que foram provocados, em sua maioria, pelo entendimento incorreto da necessidade. A fase de modelagem possui artefatos textuais e visuais, como os protótipos, que fornecem formas valiosas para identificação de erros incorridos pela má interpretação da necessidade. O custo associado ao encontrar um erro na fase de modelagem é, conforme dito, muito menor do que quando encontrado na fase de homologação da solução.
3- “Pular” a fase de modelagem não significa economia de tempo. O tempo dispensado na modelagem provoca o encontro de erros pelo cliente apenas na fase de homologação. Retrabalho na fase de construção pode significar o gasto de um tempo, por vezes, até maior do que o planejado para a fase de modelagem.
4 – A modelagem proporciona a evolução da maturidade da solução conforme o avanço no desenho dos artefatos. Os diagramas por muitas vezes se completam e uma descoberta em, por exemplo, um diagrama de sequência provoca uma nova versão no diagrama de classes que provoca novas versões dos diagramas consequentes e, assim, até uma versão aprovada e definitiva.
5- Apesar de modelagem ser diferente de documentação, a modelagem gera sim importantes artefatos que, no final, documentam o que foi construído, o como foi construído e motivo pelo o qual foi construído. Sem ela, toda essa informação acaba concentrada em recursos ou empresas terceiras que pode gerar uma dependência desnecessária e muitas vezes prejudicial. Ainda falando sobre esse tópico, a ausência de uma documentação do legado pode provocar profundos impactos para a empresa. Há inúmeros exemplos de projetos gigantescos com o objetivo de levantar, por engenharia reversa, a documentação do legado, importante principalmente, para projetos de fusão e/ou incorporação e também projetos de migração para novas plataformas.
O que vocês acham? A fase de modelagem é ou não importante em um projeto de software?