La elección del modelo de proceso depende del escenario: requisitos estables y bien definidos favorecen modelos secuenciales, mientras que la alta incertidumbre o los cambios frecuentes favorecen enfoques iterativos e incrementales. El modelo en cascada, difundido a partir del artículo de Winston W. Royce (1970), es secuencial; conviene recordar que el propio Royce lo presentó como riesgoso y recomendó iterar. El modelo incremental entrega el producto por partes funcionales. El modelo espiral (Barry Boehm, 1988) es iterativo y está guiado por el análisis de riesgos en cada ciclo. RUP (Proceso Unificado de Rational) es iterativo e incremental y se organiza en cuatro fases: Inicio, Elaboración, Construcción y Transición.
El Manifiesto Ágil (2001) reúne 4 valores y 12 principios. Scrum se fundamenta en el empirismo, sostenido por tres pilares: transparencia, inspección y adaptación. La Guía Scrum 2020 define tres responsabilidades dentro del Scrum Team (típicamente 10 personas o menos), sin jerarquías ni subequipos:
Kanban visualiza el flujo de trabajo y limita el trabajo en curso mediante límites WIP (Work In Progress). Extreme Programming (XP) impulsa prácticas técnicas como TDD, cuyo ciclo es Rojo-Verde-Refactorizar (Red-Green-Refactor). En la estimación ágil, el esfuerzo relativo se mide en story points, y la velocidad (velocity) es la cantidad de puntos completados por sprint, útil para proyectar entregas.
El mantenimiento, según ISO/IEC 14764, se clasifica en cuatro tipos organizados en una matriz de corrección/mejora y reactivo/proactivo:
La deuda técnica es el costo futuro acumulado por decisiones de diseño o implementación apresuradas; gestionarla mediante refactorización sostiene la mantenibilidad del sistema.
1. ¿Quién publicó en 1970 el artículo que originó la descripción del modelo de proceso en cascada, presentándolo como un enfoque riesgoso para proyectos grandes?
Winston W. Royce describió el modelo secuencial en su artículo de 1970, advirtiendo sus riesgos para proyectos grandes; Boehm propuso el espiral, Kruchten el RUP y Beck se asocia a TDD/XP. (W. W. Royce, 'Managing the Development of Large Software Systems', Proc. IEEE WESCON, 1970.)
2. En su artículo original de 1970, ¿qué recomendó realmente Winston Royce respecto del modelo secuencial de fases que había descrito?
Royce señaló en su propio artículo que el modelo puramente secuencial era riesgoso en proyectos grandes y recomendó iterar entre fases contiguas, al contrario de la lectura popular del 'cascada' como proceso rígido. (W. W. Royce, 'Managing the Development of Large Software Systems', Proc. IEEE WESCON, 1970.)
3. ¿Cuál es el orden convencional de las fases en el modelo de proceso en cascada?
El modelo en cascada organiza el desarrollo en fases secuenciales que van de la definición de requerimientos hasta el mantenimiento, cada una concluyendo antes de iniciar la siguiente. (Modelo en cascada, descripción estándar derivada de W. W. Royce (1970).)
4. Un equipo debe desarrollar el software de control de un dispositivo médico con requerimientos regulatorios fijos, documentación exhaustiva obligatoria y nula tolerancia a cambios de diseño una vez aprobado. ¿Qué modelo de proceso conviene aplicar?
Con requerimientos regulatorios estables y exigencia de documentación formal, el modelo en cascada es el más adecuado; los marcos ágiles asumen cambio frecuente y el incremental prioriza entregas parciales que aquí no aportan ventaja regulatoria. (Caracterización estándar del modelo en cascada (Royce, 1970) aplicada a la selección de metodología.)
5. ¿Qué caracteriza principalmente al modelo de proceso incremental?
El modelo incremental construye el sistema mediante compilaciones sucesivas que van sumando funcionalidad; decidir por riesgo describe al modelo en espiral y la entrega única al final describe al modelo en cascada. (Descripción estándar del modelo de proceso incremental en ingeniería de software.)
6. Una empresa necesita comenzar a usar cuanto antes el módulo de facturación de un ERP, mientras los módulos de inventario y reportes siguen en desarrollo con equipos escalonados. ¿Qué modelo de proceso conviene aplicar?
El escenario exige poner en uso partes del sistema antes de terminar todo el proyecto, lo cual corresponde al modelo incremental; el en cascada retrasaría el uso del módulo de facturación y el espiral se centra en riesgo, no en entregas parciales por módulo. (Descripción estándar del modelo de proceso incremental en ingeniería de software.)
7. ¿Cuál es una condición necesaria para aplicar exitosamente el modelo incremental en un proyecto de software?
Para que los incrementos se sumen sin retrabajo mayor se requiere una arquitectura base capaz de acomodarlos; congelar requerimientos totales o eliminar documentación y pruebas de integración contradice la naturaleza incremental. (Descripción estándar del modelo de proceso incremental en ingeniería de software.)
8. ¿Cuál de las siguientes NO es una característica típica del modelo en cascada?
La retroalimentación continua en iteraciones cortas es propia de marcos ágiles, no del modelo en cascada, que se caracteriza por fases secuenciales, documentación formal y poca flexibilidad ante cambios tardíos. (Contraste entre el modelo en cascada (Royce, 1970) y las prácticas ágiles iterativas.)
9. En comparación con el modelo en cascada, ¿qué ventaja ofrece el modelo incremental para reducir el impacto de malentendidos con el cliente sobre el sistema?
Al validar y entregar incrementos de forma temprana, el modelo incremental permite corregir el rumbo antes de construir todo el sistema; las demás opciones son afirmaciones absolutas que ningún modelo de proceso garantiza. (Descripción estándar del modelo incremental frente al modelo en cascada.)
10. El Proceso Unificado de Rational (RUP), citado como ejemplo de proceso iterativo e incremental, organiza el desarrollo en cuatro fases secuenciales. ¿Cuál es el orden correcto de esas fases?
RUP define las fases Inicio (Inception), Elaboración, Construcción y Transición, en ese orden, como ejemplo de proceso iterativo e incremental estructurado. (P. Kruchten, 'The Rational Unified Process: An Introduction' (Rational Software / IBM).)
11. Un equipo divide el desarrollo de un sistema de nómina en cuatro incrementos. Al entregar el segundo incremento, el cliente solicita un cambio que afecta la arquitectura definida en el primer incremento, obligando a retrabajar código ya entregado. ¿Qué conclusión es válida sobre este caso?
El caso ilustra el riesgo característico del modelo incremental cuando la arquitectura inicial no soporta bien los cambios futuros; el modelo incremental sí requiere planeación arquitectónica previa y el en cascada no elimina el retrabajo, solo lo detecta más tarde. (Descripción estándar del modelo incremental y sus riesgos arquitectónicos.)
12. A diferencia del modelo incremental, en el modelo en cascada clásico el software se pone a disposición del cliente...
El modelo en cascada clásico contempla un solo entregable al final del proyecto, mientras que el incremental libera funcionalidad por partes; las otras opciones describen prácticas ajenas al modelo en cascada. (Contraste estándar entre el modelo en cascada y el modelo incremental.)
13. ¿Qué miden los story points (puntos de historia) en la estimación ágil?
Los story points expresan tamaño relativo (esfuerzo, complejidad, incertidumbre) y no una medida directa de tiempo, costo o líneas de código. (Práctica estándar de estimación ágil (Mike Cohn, 'Agile Estimating and Planning', 2005).)
14. ¿La Guía Scrum (Scrum Guide) 2020 define formalmente el uso de story points como técnica de estimación obligatoria?
La Guía Scrum 2020 no menciona ni exige story points; son una práctica ampliamente adoptada por equipos ágiles pero externa al marco oficial de Scrum, que tampoco prohíbe la estimación relativa. (The Scrum Guide (2020), Ken Schwaber y Jeff Sutherland (no hace referencia a story points).)
15. En la técnica de planning poker, ¿qué tipo de escala numérica se utiliza comúnmente para asignar story points?
Planning poker suele usar una escala tipo Fibonacci, que separa más los valores altos para reflejar la mayor incertidumbre al estimar historias grandes. (Práctica estándar de planning poker en estimación ágil.)
16. ¿Cómo se define la velocidad de un equipo Scrum?
La velocidad se calcula con los story points de historias efectivamente terminadas, según la Definición de Terminado, en sprints anteriores, no con horas trabajadas ni con métricas de reuniones o aprobación. (Práctica estándar de estimación ágil; Definición de Terminado según The Scrum Guide (2020).)
17. Un equipo completó 24, 28 y 32 story points en sus últimos tres sprints, respectivamente. Si el Product Backlog restante suma 168 story points, ¿aproximadamente cuántos sprints adicionales necesitará el equipo para terminarlo, usando su velocidad promedio?
La velocidad promedio es (24+28+32)/3 = 28 puntos por sprint, y 168 entre 28 da 6 sprints; usar solo el sprint más lento (24) sobreestima a 7 y usar solo el más rápido (32) subestima a 5. (Cálculo estándar de velocidad promedio en estimación ágil.)
18. Durante sus primeros cuatro sprints, un equipo completó 20, 22, 18 y 24 story points, respectivamente. ¿Cuál es la velocidad promedio del equipo?
La velocidad promedio se obtiene sumando los puntos de los cuatro sprints (84) y dividiendo entre 4, lo que da 21; sumar sin dividir (84) es un error común, igual que tomar el valor mínimo o máximo. (Cálculo estándar de velocidad promedio en estimación ágil.)
19. ¿Por qué la velocidad de un equipo NO debe usarse para comparar el desempeño entre distintos equipos Scrum?
Como cada equipo calibra su propia escala relativa de story points, un mismo número de puntos no representa el mismo esfuerzo entre equipos distintos, por lo que comparar sus velocidades directamente es inválido. (Práctica estándar de estimación ágil sobre las limitaciones de la velocidad como métrica comparativa.)
20. Un equipo reporta que completó 40 story points en el sprint recién terminado; sin embargo, 10 de esos puntos corresponden a una historia que quedó parcialmente codificada y aún no pasa las pruebas de aceptación, es decir, no cumple la Definición de Terminado. ¿Qué velocidad debería registrar el equipo para ese sprint?
La velocidad solo debe contabilizar historias que cumplen la Definición de Terminado; como la historia de 10 puntos quedó incompleta, la velocidad real del sprint es 40 menos 10, es decir 30 puntos. (The Scrum Guide (2020), artefacto Increment y su compromiso de Definición de Terminado.)
21. ¿Por qué muchos equipos ágiles prefieren estimar historias de usuario en story points en lugar de horas u horas-hombre?
Estimar de forma relativa, comparando historias entre sí, suele ser más rápido y menos sesgado por diferencias individuales que estimar horas absolutas; la Guía Scrum no exige story points ni estos garantizan precisión de tiempo. (Mike Cohn, 'Agile Estimating and Planning' (2005).)
22. ¿Cuál es el propósito principal de la técnica de planning poker en la estimación ágil?
Planning poker busca que el equipo converja en una estimación de consenso, revelando las cartas simultáneamente para evitar que la opinión de una sola persona ancle al resto. (Práctica estándar de planning poker en estimación ágil.)
23. Un Product Owner necesita estimar cuántos sprints tomará completar un release de 90 story points. El equipo ha mantenido una velocidad estable de 15 story points por sprint durante los últimos cinco sprints. ¿Cuántos sprints debe planificar el Product Owner?
Dividiendo el tamaño del release entre la velocidad estable del equipo (90 entre 15) se obtiene 6 sprints; olvidar dividir entre la velocidad llevaría erróneamente a 90 sprints. (Cálculo estándar de planeación de release con velocidad en estimación ágil.)
24. ¿Cuál es la característica esencial que distingue a un modelo de proceso iterativo e incremental de un modelo puramente secuencial (cascada)?
El enfoque iterativo-incremental construye el producto en ciclos repetidos que permiten refinar requerimientos y diseño, a diferencia del enfoque secuencial de una sola pasada que Royce (1970) señaló como riesgoso. (W. W. Royce, 'Managing the Development of Large Software Systems', Proc. IEEE WESCON, 1970 (contraste con el enfoque iterativo).)
25. El artículo de 1970 de Winston W. Royce se cita con frecuencia como el origen del modelo en cascada. ¿Qué planteaba en realidad ese artículo respecto de ejecutar el desarrollo en una sola pasada secuencial?
Royce presentó el desarrollo secuencial de una sola pasada como riesgoso y recomendó incorporar iteración y retroalimentación entre fases, al contrario de la interpretación popular de una 'cascada ideal'. (W. W. Royce, 'Managing the Development of Large Software Systems', Proc. IEEE WESCON, 1970.)
26. ¿Qué autor propuso el modelo espiral de desarrollo de software y en qué año?
Barry Boehm propuso el modelo espiral en 1988 como un modelo de proceso guiado por el análisis de riesgos en cada ciclo. (B. W. Boehm, 'A Spiral Model of Software Development and Enhancement', IEEE Computer, 1988.)
27. En el modelo espiral de Boehm, ¿qué actividad se lleva a cabo en cada ciclo antes de decidir si el proyecto avanza a la siguiente vuelta de la espiral?
Cada ciclo de la espiral incluye una etapa dedicada a identificar y analizar los riesgos del ciclo actual, la cual determina si conviene continuar, ajustar el plan o detener el proyecto. (B. W. Boehm, 'A Spiral Model of Software Development and Enhancement', IEEE Computer, 1988.)
28. Si en un ciclo del modelo espiral el análisis de riesgos detecta una incertidumbre técnica alta sobre un componente clave, ¿qué acción es consistente con el enfoque de Boehm antes de continuar con el desarrollo formal?
El modelo espiral responde a un riesgo técnico alto construyendo prototipos u otras estrategias de reducción de riesgo antes de comprometerse con el desarrollo formal del ciclo. (B. W. Boehm, 'A Spiral Model of Software Development and Enhancement', IEEE Computer, 1988.)
29. ¿Quién documentó el Proceso Unificado de Rational (RUP) como un modelo de proceso iterativo e incremental organizado en fases?
Philippe Kruchten describió el RUP como un proceso iterativo e incremental estructurado en fases, en su obra de introducción publicada por Rational Software/IBM. (P. Kruchten, 'The Rational Unified Process: An Introduction', Rational Software / IBM.)
30. ¿Cuáles son, en orden, las cuatro fases en que se organiza el Proceso Unificado de Rational (RUP)?
El RUP organiza el trabajo en cuatro fases secuenciales con iteraciones internas: Inicio, Elaboración, Construcción y Transición. (P. Kruchten, 'The Rational Unified Process: An Introduction', Rational Software / IBM.)
31. ¿Cuál es el objetivo principal de la fase de Inicio (Inception) en el RUP?
La fase de Inicio del RUP se centra en delimitar el alcance del proyecto y valorar su viabilidad económica y de riesgo, antes de invertir en el diseño detallado. (P. Kruchten, 'The Rational Unified Process: An Introduction', Rational Software / IBM.)
32. A diferencia de la fase de Inicio del RUP, que se centra en delimitar el alcance y la viabilidad del proyecto, ¿cuál es el objetivo distintivo de la fase de Elaboración?
La fase de Elaboración del RUP se enfoca en definir y validar una arquitectura estable, atacando los riesgos técnicos más significativos, a diferencia de la fase de Inicio que solo delimita el alcance. (P. Kruchten, 'The Rational Unified Process: An Introduction', Rational Software / IBM.)
33. ¿Cuál es el enfoque principal de la fase de Construcción dentro del RUP?
La fase de Construcción del RUP desarrolla de manera iterativa el resto de los componentes del sistema, una vez que la arquitectura ya fue estabilizada en la fase de Elaboración. (P. Kruchten, 'The Rational Unified Process: An Introduction', Rational Software / IBM.)
34. ¿Qué actividad caracteriza principalmente a la fase de Transición del RUP?
La fase de Transición del RUP se centra en entregar el producto a los usuarios finales, incluyendo actividades de despliegue y ajuste posteriores a las pruebas beta. (P. Kruchten, 'The Rational Unified Process: An Introduction', Rational Software / IBM.)
35. De las siguientes opciones, ¿cuál NO corresponde a una de las cuatro fases del Proceso Unificado de Rational (RUP)?
Las cuatro fases del RUP son Inicio, Elaboración, Construcción y Transición; 'Mantenimiento' no es una fase del RUP, aunque las actividades de soporte pueden ocurrir después de la Transición. (P. Kruchten, 'The Rational Unified Process: An Introduction', Rational Software / IBM.)