Sua pergunta é um pouco ampla. Hardware (HW) pode significar desenvolvimento ASIC / FPGA personalizado completo, DSPs programados por montadores ou "apenas" um sistema embarcado típico baseado em microprocessadores / microcontroladores / SoC disponíveis no mercado, etc. (é claro que um SoC também pode conter um DSP que você pode querer programar ....). Para grandes quantidades de venda, torná-lo um ASIC não é incomum.
Mas para um projeto de 2 meses, espero que seja baseado em algum microcontrolador:
De qualquer forma, você deve enfatizar a equipe de hardware para fornecer um protótipo para começar a testar seu código antes do prazo absoluto - isso pode consistir em uma placa de desenvolvimento genérica, como algumas pessoas já mencionaram, mas, na minha opinião, é a sua trabalho para fornecer o caminho certo para você e, potencialmente, também alguns periféricos necessários / semelhantes para teste.
Os simuladores também são possíveis até certo ponto, mas você ainda pode precisar caracterizar alguns sensores / dados do mundo real que possa obter. Aqui, a equipe de hardware também precisa pelo menos ajudá-lo.
Fora isso, o design do software já pode ser feito e todos os módulos de alto nível podem ser (e devem ser) implementados e testados em unidade sem o hardware real. Idealmente, você também definirá uma API juntamente com a equipe de hardware, e elas fornecerão as funções de nível mais baixo; portanto, qualquer alteração que fizerem no lado do hardware (por exemplo, simplesmente redefinindo quais pinos de porta eles usam) nem sempre será seja crítico para você.
Em todos os casos, a comunicação é fundamental.