Eu faço o máximo que posso com o que é não vago (que em alguns casos não tem sido nada, se você não incluir a configuração do espaço de trabalho e nomear o projeto), e então enviar Um e-mail para os supervisores dizem "Preciso obter detalhes sobre os requisitos X, Y e Z ou não posso prosseguir". Se o supervisor disser "faça assim mesmo!" Eu então os pressiono para explicar o que devo fazer, e peço uma alocação de tempo para desfazer e corrigir quando meu código inevitavelmente não atende aos requisitos atrasados. Mesmo que o supervisor / chefe de equipe não goste disso, garante que eles sabem que o progresso está sendo bloqueado pela falta de requisitos.
Se eu estou lidando diretamente com um cliente, digo-lhes claramente o que preciso. Se eles não puderem me responder imediatamente, digo que o trabalho só começará depois que nós concordarmos com os requisitos. Novamente, isso nem sempre é popular, mas economizou uma quantidade significativa de esforço desperdiçado com clientes que, em alguns casos, nunca receberam os requisitos de volta para mim.