Por cada 25% de incremento en la complejidad del problema, hay un 100% de incremento en la complejidad del software que lo soluciona. Y no hay soluciones mágicas ni “silver bullets” que eviten este problema (te recomiendo aquí este post sobre las “balas de plata”). Esta fue una de las principales aportaciones de Glass, descrita en su libro “Facts and Fallacies”. Según él comentaba, a altas complejidades del problema, se dispara la complejidad del software que lo soluciona, y esto ocurre porque se producen, entre otros, los siguientes efectos:
- El equipo humano se convierte en algo crítico. Por la necesidad de más inteligencia para resolver el problema (te recomiendo aquí el post de lo más determinante para el éxito, o fracaso, de un son las personas)
- La estimación del proyecto se hace muy compleja. Porque el software que soluciona el problema es más complicado de lo que parece la solución.
- Los requisitos se disparan. Porque al pasar de un 25% del problema al 100% de la solución, los requisitos propios del software, los no funcionales, se disparan.
- Las alternativas de diseño se incrementan. Y por ello…
- Se necesita iterar mucho más para lograr un buen diseño. Porque rara vez se logará a la primera a una buena solución.
- Una cobertura de pruebas del 100% es prácticamente imposible. Porque los caminos a probar se disparan en número.
- Los errores se incrementan. Por la dificultad de encontrar una buena solución a la primera.
Así que, ya sabes, cuando alguien te pida, o cuando tú pidas, un “pequeño” incremento en la funcionalidad, recuerda que puede tener un gran impacto en su desarrollo.
Últimas entradas de Javier Garzás (ver todo)
- Diario: cómo Javier Garzás evita quedarse obsoleto estudiando a un X10 con IA-Esteroides - 7 noviembre, 2024
- Si creas Historias de Usuario con IA ¿A quién pertenecen? ¿A ti o la IA? El mono Naruto te lo explica - 31 octubre, 2024
- HistorIAs de usuario y como a Maximiliano lo ENGAÑABAN con la IA y como una viejuna historia del 1500 le salvó - 24 octubre, 2024
Pingback: Bitacoras.com