Imagino que um pensamento "ágil" ajude nisso. O que quero dizer com isso?
Traga o "cliente" para perto do seu desenvolvimento!
Mostre a ele frequentemente o estado do seu desenvolvimento, e peça feedbacks. Guarde tudo que for apontado e vá planejando o que será entregue, conforme a prioridade desejada pelo cliente.
Isso fará você não perder tempo com algo como: "Nossa tá bem bonito, mas não é bem isso que eu preciso..."
Começando com sua família, que já deve ter know-how das necessidades do dia a dia, já imagino que é um ótimo começo.