Oi, Ricardo! Tudo bem?
No Scrum, a ideia de equipes multifuncionais é que os membros da equipe tenham habilidades complementares que permitam a entrega de incrementos de produto a cada Sprint, mas isso não significa que todos os membros precisam ser especialistas em todas as áreas.
Em projetos como o que você mencionou, onde há necessidade de habilidades muito específicas, como desenvolvedores Android, de firmware e full-stack, o Scrum ainda pode ser aplicado. A multifuncionalidade pode ser vista como a capacidade da equipe como um todo de entregar valor, não necessariamente cada membro individualmente ser capaz de realizar todas as tarefas.
O Scrum incentiva a colaboração e a comunicação entre os membros da equipe. Por exemplo, um desenvolvedor Android pode colaborar com um desenvolvedor de firmware para garantir que as integrações entre suas partes do sistema funcionem sem problemas, o importante é que, juntos, eles consigam entregar um incremento de produto potencialmente utilizável no final de cada Sprint.
Além disso, o Scrum Master pode ajudar a facilitar a comunicação e a remoção de impedimentos que possam surgir devido à especialização das funções.
Espero ter ajudado!
Um forte abraço e bons estudos!