Proceso secuencial con fases claras: requisitos,
Validan pequeñas funciones o componentes, diseño, implementación, pruebas y
generalmente hechas por desarrolladores. mantenimiento.
Pruebas de unidad
Modelo en cascada
Aseguran que cada parte funcione
correctamente.
Cambios tardíos en el proceso suelen ser
costosos y difíciles de gestionar.
Escenarios definidos para validar funciones,
incluyendo valores límite y caminos básicos.
Construcción del software en partes o módulos.
Casos de prueba de unidad
Desarrollo incremental
Permite entregas parciales y obtener
Ayudan a detectar errores específicos y retroalimentación temprana para mejorar el
garantizar cobertura. producto.
Modelos de desarrollo
Ciclo: escribir prueba (Rojo), desarrollar código
(Verde), refactorizar.
Uso de componentes o módulos ya existentes
para acelerar el desarrollo.
Test-Driven Development (TDD) Pruebas de software
Reutilización de software
Permite diseño emergente y código confiable
desde el inicio.
Reduce costos y tiempos de entrega al
aprovechar trabajo previo.
Comparación entre diferentes builds o
versiones del software.
Modelo iterativo basado en casos de uso.
Pruebas de versión Rational Unified Process (RUP)
Divide el proyecto en fases: inicio, elaboración,
Incluye pruebas trazables de requisitos, construcción y transición.
escenarios end-to-end y rendimiento.
Evaluación con usuarios reales para aceptación
y usabilidad (User Acceptance Testing).
Definición clara y verificable de los requisitos
que guían el desarrollo.
Pruebas de usuario
Asegura que el software satisfaga necesidades
del negocio y sea fácil de usar. Modelos y procesos
de software
Especificación del software
Fundamental para evitar errores posteriores y
asegurar calidad.
Traducción de los requisitos a la arquitectura y
Enfoque en entregas rápidas, colaboración al código del sistema.
constante y adaptación al cambio.
Diseño e implementación
Métodos ágiles en general
Incluye estructurar el software para cumplir
Favorecen la comunicación y respuesta a con las especificaciones.
nuevas demandas.
Combinación de verificación y validación para
Plan: enfoque rígido y altamente documentado. asegurar que el producto cumple con lo
solicitado.
Plan vs Ágil
Ágil: dinámico, flexible y centrado en la
interacción. Validación de software
Detecta defectos y asegura calidad antes de la
entrega.
Prácticas como Test-Driven Development Métodos ágiles
(TDD), refactorización y programación en
parejas.
Actividades para corregir errores, adaptar el
software, optimizarlo y prevenir fallos futuros.
Programación Extrema (XP) Procesos y actividades
Mantenimiento
Promueve integración continua para mejorar la
calidad.
Tipos: correctivo, adaptativo, perfectivo y
preventivo.
Roles definidos: Product Owner, Scrum Master
y equipo de desarrollo.
Modelo preliminar que ayuda a aclarar
requisitos y expectativas.
Scrum
Prototipo
Eventos clave: sprints, reuniones diarias (dailys)
y revisiones.
Útil para obtener feedback temprano y reducir
riesgos.
Liberación gradual de versiones o
modificaciones del producto.
Entrega incremental
Facilita la adaptación y mejora continua.
Gestión de configuración para controlar
versiones.
Cómo enfrentar el cambio
Procesos flexibles que permiten adaptarse a
nuevos requerimientos.