Skip to content

1 Concepto General del Ciclo de Vida

🎯 Introducción al Ciclo de Vida del Software

Section titled “🎯 Introducción al Ciclo de Vida del Software”

El ciclo de vida del software (Software Development Life Cycle - SDLC) es un marco conceptual que define las fases, actividades y entregables necesarios para desarrollar, implementar y mantener un sistema de software desde su concepción hasta su retiro. Constituye la columna vertebral de la ingeniería de software, proporcionando estructura y disciplina al proceso de desarrollo.

Diagrama UML

El ciclo de vida del software cumple múltiples propósitos fundamentales que garantizan el éxito de los proyectos de desarrollo.

  1. Estructurar el Proceso de Desarrollo

    Proporcionar un marco ordenado y predecible para transformar requerimientos en software funcional.

    Beneficios:

    • Reduce la complejidad mediante división en fases manejables
    • Establece puntos de control y revisión
    • Facilita la planificación y estimación
    • Permite la asignación eficiente de recursos
  2. Garantizar la Calidad del Software

    Integrar actividades de verificación y validación en cada fase del desarrollo.

    Mecanismos:

    • Revisiones técnicas en cada fase
    • Pruebas continuas y sistemáticas
    • Validación con stakeholders
    • Cumplimiento de estándares de calidad
  3. Gestionar Riesgos Efectivamente

    Identificar, evaluar y mitigar riesgos de manera proactiva durante todo el proyecto.

    Estrategias:

    • Detección temprana de problemas
    • Prototipado para validar conceptos
    • Revisiones de arquitectura
    • Planes de contingencia
  4. Facilitar la Comunicación

    Establecer un lenguaje común entre todos los participantes del proyecto.

    Stakeholders:

    • Cliente y usuarios finales
    • Equipo de desarrollo
    • Gerencia y patrocinadores
    • Equipos de soporte y mantenimiento
  5. Optimizar Recursos

    Maximizar la eficiencia en el uso de tiempo, personal y presupuesto.

    Aspectos:

    • Planificación realista de cronogramas
    • Asignación adecuada de personal
    • Control de costos
    • Reutilización de componentes
  6. Asegurar Mantenibilidad

    Producir software que pueda ser mantenido y evolucionado eficientemente.

    Prácticas:

    • Documentación completa
    • Código limpio y bien estructurado
    • Arquitectura modular
    • Transferencia de conocimiento

El ciclo de vida del software se compone de etapas fundamentales que, aunque pueden variar en nombre y alcance según la metodología, representan actividades esenciales en todo proyecto de software.

Diagrama UML

Objetivo: Comprender el problema, definir el alcance y establecer la viabilidad del proyecto.

Actividades Clave:

ActividadDescripciónEntregables
Estudio de ViabilidadEvaluar factibilidad técnica, económica y operacionalDocumento de viabilidad
Análisis de RequerimientosCapturar y documentar necesidades del clienteEspecificación de Requerimientos (SRS)
Planificación del ProyectoDefinir cronograma, recursos y presupuestoPlan de Proyecto
Análisis de RiesgosIdentificar amenazas y oportunidadesRegistro de Riesgos

Participantes:

  • Stakeholders del negocio
  • Analistas de sistemas
  • Gerente de proyecto
  • Arquitecto de software

Criterios de Salida:

  • ✅ Requerimientos aprobados por el cliente
  • ✅ Plan de proyecto validado
  • ✅ Presupuesto aprobado
  • ✅ Riesgos identificados y priorizados

🎯 Importancia en la Planificación del Proyecto

Section titled “🎯 Importancia en la Planificación del Proyecto”

El ciclo de vida del software es fundamental para la planificación efectiva de proyectos, proporcionando la base para estimaciones, asignación de recursos y gestión de riesgos.

Diagrama UML
  1. Definición de Hitos (Milestones)

    Los hitos son puntos de control que marcan la finalización de fases importantes.

    Ejemplos de Hitos:

    • ✅ Aprobación de requerimientos
    • ✅ Finalización de diseño arquitectónico
    • ✅ Completitud de desarrollo
    • ✅ Certificación de pruebas
    • ✅ Go-live en producción

    Beneficios:

    • Puntos de revisión formales
    • Validación de progreso
    • Toma de decisiones go/no-go
    • Comunicación con stakeholders
  2. Gestión de Dependencias

    Identificar y gestionar relaciones entre actividades y fases.

    Tipos de Dependencias:

    • Finish-to-Start (FS): La más común, una tarea debe terminar antes que otra comience
    • Start-to-Start (SS): Dos tareas comienzan simultáneamente
    • Finish-to-Finish (FF): Dos tareas terminan simultáneamente
    • Start-to-Finish (SF): Poco común, una tarea debe comenzar antes que otra termine

    Herramientas:

    • Diagramas de Gantt
    • Ruta crítica (CPM)
    • PERT (Program Evaluation and Review Technique)
  3. Asignación de Recursos Humanos

    Planificar qué roles y cuántas personas se necesitan en cada fase.

    Matriz de Roles por Fase:

    FaseAnalistaArquitectoDesarrolladorQADevOps
    Análisis●●●●●
    Diseño●●●●●
    Desarrollo●●●
    Pruebas●●●
    Despliegue●●●●●
    Mantenimiento●●●●●●

    Leyenda: ●●● Alto | ●● Medio | ● Bajo | ○ Mínimo

  4. Estimación de Esfuerzo

    Calcular el trabajo necesario para completar cada fase.

    Técnicas de Estimación:

    • Juicio de Expertos: Basado en experiencia
    • Analogía: Comparación con proyectos similares
    • Paramétrica: Uso de métricas (COCOMO, puntos de función)
    • Bottom-up: Sumar estimaciones de tareas individuales
    • Planning Poker: Estimación colaborativa (ágil)

    Factores que Afectan:

    • Complejidad técnica
    • Experiencia del equipo
    • Tecnologías utilizadas
    • Calidad de requerimientos
    • Restricciones del proyecto
  5. Control de Calidad Integrado

    Planificar actividades de aseguramiento de calidad en cada fase.

    Puntos de Control:

    • Revisiones de requerimientos
    • Revisiones de diseño
    • Revisiones de código
    • Pruebas en cada nivel
    • Auditorías de proceso

    Métricas de Calidad:

    • Densidad de defectos
    • Cobertura de pruebas
    • Complejidad ciclomática
    • Deuda técnica
    • Satisfacción del cliente
  6. Gestión del Cambio

    Establecer procesos para manejar cambios durante el proyecto.

    Proceso de Control de Cambios:

    • Solicitud formal de cambio
    • Análisis de impacto
    • Aprobación por comité (CCB)
    • Actualización de plan
    • Comunicación a stakeholders

    Impacto en Planificación:

    • Reestimación de esfuerzo
    • Ajuste de cronograma
    • Reasignación de recursos
    • Actualización de riesgos
Dashboard de Métricas de Planificación
MÉTRICAS CLAVE DE PLANIFICACIÓN DEL PROYECTO
┌────────────────────────────────────┬──────────┬──────────┬──────────┐
│ Métrica │ Planeado │ Real │ Variación│
├────────────────────────────────────┼──────────┼──────────┼──────────┤
│ Duración Total (semanas) │ 24 │ 26 │ +8.3% │
│ Esfuerzo Total (persona-mes) │ 48 │ 52 │ +8.3% │
│ Costo Total ($) │ 240,000 │ 255,000 │ +6.3% │
│ │ │ │ │
│ FASE: Análisis y Diseño │ │ │ │
│ Duración (semanas) │ 6 │ 7 │ +16.7% │
│ Esfuerzo (persona-mes) │ 12 │ 14 │ +16.7% │
│ │ │ │ │
│ FASE: Desarrollo │ │ │ │
│ Duración (semanas) │ 10 │ 11 │ +10.0% │
│ Esfuerzo (persona-mes) │ 24 │ 26 │ +8.3% │
│ │ │ │ │
│ FASE: Pruebas │ │ │ │
│ Duración (semanas) │ 5 │ 5 │ 0.0% │
│ Esfuerzo (persona-mes) │ 8 │ 8 │ 0.0% │
│ │ │ │ │
│ FASE: Despliegue │ │ │ │
│ Duración (semanas) │ 3 │ 3 │ 0.0% │
│ Esfuerzo (persona-mes) │ 4 │ 4 │ 0.0% │
└────────────────────────────────────┴──────────┴──────────┴──────────┘
INDICADORES DE DESEMPEÑO:
SPI (Schedule Performance Index) = EV / PV = 0.92
→ Proyecto ligeramente retrasado
CPI (Cost Performance Index) = EV / AC = 0.94
→ Proyecto ligeramente sobre presupuesto
EAC (Estimate at Completion) = BAC / CPI = $255,319
→ Costo final proyectado
Variación de Cronograma (SV) = EV - PV = -$19,200
→ Trabajo pendiente equivalente a $19,200
Variación de Costo (CV) = EV - AC = -$15,000
→ Sobrecosto de $15,000

🐝