O assunto é chato e tem um ponto de vista muito pessoal e vai depender de quem ler esta publicação a sua correta interpretação ou familiariadade com alguns fatos.
Quando desenvolvemos um sistema, precisamos pensar na base daquilo a que ele se propõe, mas não vejo isto ocorrer com naturalidade e precisão.
A base de qualquer sistema sempre vai existir manipulação de dados, mas você saberia me dizer em um sistema que já teve ou ainda tem a sua participação como isso foi feito? Será que foi feito?
Quando pensamos em sistemas WEB, muitas vezes nos tornamos muito infelizes e descontentes com o nosso trabalho com tantas coisas que aparecem todos os dias para serem alteradas, canceladas ou testadas antes mesmo de serem finalizadas.
Eu não conheço nenhum desenvolvedor que nunca tenha passado por isso, pois na verdade vivenciamos sempre exatamente a mesma coisa, seja no trabalho ou como freelancer, lembrando que como freelancer você ainda tem quase sempre a opção de estar auxiliando melhor aquele que te contratou, mas em quase toda empresa recebemos remessa “X” por email com prazos “Y” de entrega. Se dá para entregar eu não sei, mas é isso que eles querem e é isso que deve ser feito.
Com o tempo aprendi a me proteger sobre pedidos absurdos ou jamais antes imaginados de uma forma bem simples e objetiva, exigindo a documentação formal de tudo que está sendo pedido, os seus propósitos e a relevância do seu uso.
Quando temos um pedido documentado, temos esperança de estar um pouco mais seguros do que faremos e nos preservando de ter um retrabalho chato que na maioria das vezes vai acabar te consumindo, consumo este que vai da sua energia até a compra de medicamentos.
Não custa nada e é super importante para o trabalho de qualquer um pegar um papel e uma caneta e com uma idéia na cabeça desenhar tudo aquilo que vamos precisar, ao menos para saber por onde começar.