Por supuesto, Scrum es útil. Es una metodología que hace dos cosas por ti:
- Permite que su proyecto se adapte al cambio y
- Le permite seguir el progreso y tener una idea de cuándo terminará
Entonces, hay algún valor en usarlo.
Creo que algunas de tus condiciones previas no son correctas y ahí es donde te estás perdiendo.
No puedo ver cómo cada historia puede ser negociable: todas son necesarias para un compilador que funcione
Esto no es verdad. Puede admitir un subconjunto del idioma y aún así tener un compilador que funcione bajo ciertas condiciones. Seguramente menos valioso que un compilador completo, pero sigue siendo valioso.
Además, no comprende lo que significa "Negociable": no significa necesariamente "Opcional" y no es necesario que las historias sean opcionales en INVEST. Una historia es un objetivo valioso y la negociación trata sobre cómo alcanzar ese objetivo. Seguramente habrá más que una forma de implementar el backend de cada función de idioma. Ahí es donde necesitas negociación.
Las historias tienen la misma prioridad y no importa en qué orden las entregue.
Esto no es correcto, como usted dice a continuación que algunas historias no son "imprescindibles", por lo que ciertamente algunas son menos valiosas. Pero incluso en la categoría "imprescindible": algunas características del lenguaje son mucho más fundamentales que otras, y de manera medible.
Una forma de medir esto es "cuánto más líneas de código podemos compilar en una base de código existente" o "cuántas pruebas más pasan" si tiene un conjunto predefinido de pruebas.
También hay otras opciones. Si estaba compilando un lenguaje tipo C, estrictamente hablando, solo necesita un bucle if
y goto
para tener un lenguaje (apenas) funcional y puede implementarlo while
, for
y repeat
como macros. Suponiendo que sea bastante fácil escribir un uso de un precompilador, puede tener una solución económica provisional (oye, ¿estamos negociando? :-)
En cuanto a la adaptabilidad, el soporte de un idioma es un conjunto de requisitos bastante estático, pero los idiomas también cambian y también cambia su conocimiento de sus necesidades . ¿Necesitas implementar todo? ¿Hay cosas que no necesita específicamente para sus objetivos? Uno de los inquilinos básicos de ágil es el conocimiento de tener un conocimiento incompleto, ¿puede aprovecharlo?
En conclusión, para responder a su pregunta más directamente: ¿necesita procesos ágiles cuando sus requisitos son inmutables? ¡Definitivamente no! ¿Son utilizables? ¡Probablemente si! ¿Vale la pena tu tiempo? Probablemente no, pero ¿sus requisitos son inmutables? En mis experiencias pasadas, "requisitos inmutables" => "propietario de producto perezoso", no es una regla, pero vale la pena tenerlo en cuenta.