Sempre me perguntei como aplicar métodos ágeis realmente existem em softwares de sistemas embarcados complexos e grandes (mais de 100 engenheiros). O desenvolvimento do firmware tem algumas características únicas que dificultam a agilidade (por exemplo, o hardware não está disponível até o final do ciclo de desenvolvimento; depois que o produto é lançado, não é possível atualizar facilmente o firmware; etc ...)
A norma nesse tipo de desenvolvimento é a documentação espessa e as exaustivas revisões por pares. Você não pode obter uma correção de código simples, como renomear uma variável sem 2-3 assinaturas. (Eu exagerei um pouco, mas isso é típico. Além disso, muitas pessoas usam atalhos e os gerentes de projeto até os aprovam, especialmente diante dos prazos rígidos do mercado.)
Gostaria de ouvir algumas dicas ou diretrizes sobre como adotar a metodologia ágil para projetos de desenvolvimento de firmware.