Siempre me he preguntado cómo aplicar métodos ágiles realmente en grandes sistemas de software integrados complejos (más de 100 ingenieros). El desarrollo de firmware tiene algunas características únicas que dificultan la agilidad (es decir, el hardware no está disponible hasta el final del ciclo de desarrollo; una vez que se lanza el producto, no se puede actualizar fácilmente el firmware, etc.)
La norma en este tipo de desarrollo es una amplia documentación y extenuantes revisiones por pares. No puede obtener una solución de código simple como cambiar el nombre de una variable sin 2-3 firmas. (Exagero un poco, pero esto es típico. Además, mucha gente toma atajos e incluso los gerentes de proyecto los aprueban, especialmente ante los plazos de mercado difíciles).
Me gustaría escuchar algún consejo o guía sobre cómo adoptar una metodología ágil para proyectos de desarrollo de firmware.