Caros,
Primeiro, começo com uma citação do Steve Jobs:
“A lot of times, people don’t know what they want until you show it to them.”
Segundo, ponho a seguinte situação: Você faz aquele levantamento de requisitos bonitinho, desenha as telas e codifica. Ao apresentar aquele software bem feito ao interessado, ele diz: “Poxa, ficou legal, mas dá para mudar isto ou aquilo?” ou “Não era bem isso que eu queria”. Obviamente, você fica bem p. da vida chateado: “Poxa, mas por que você não me explicou direito?”
É meu amigos, muitas vezes nem o cliente ou o interessado sabe exatamente o que ele quer e você DEVE resolver os problemas dele.
Como resolver isso? Não há solução mágica, mas podemos amenizar tudo isso mostrando uma prévia ao interessado. Isso é uma prática muito bem difundida em técnicas de Desenvolvimento Ágil. Mas sofware como produto, é muito caro, desenvolver algo e ficar mostrando ao interessado e indo corrigir, ainda mais porque o cliente não existe ainda =D. Logo, você tem que chutar estimar muito bem baseado em casos antigos e que o seria interessado aos clientes.
Como? Ao levantar os requisitos, veja o seu público-alvo: no caso de produtos, normalmente são as pessoas relacionadas à Vendas, Pré-vendas, Pós-vendas e Marketing. Eles querem a cara dos produtos que normalmente são um descritivo das funcionalidades e os protótipos de tela. Ganhe a confiança deles, mostre o que vai ser o produto e eles sairão sabendo o que vai ser lançado e como vai funcionar antes de ter o produto. Aí temos tempo suficiente para discutir e corrigir as diferenças do entendimento.
Aproveite e também converse com o pessoal de projetos. Eles conhecem bem o dia-a-dia da implantação dos produtos e customizações, e assim, podem dar um rumo como melhorar tecnicamente.
Com isso, evitamos surpresas quando o produto for lançado, como funcionalidades não pedidas ou pior, funcionalidades pedidas, mas não feitas.