Ciclos de Vida del Desarrollo de Software: Un Análisis Completo


Menciones causa y efecto

Causa: Poco esfuerzo en el análisis y diseño

Efecto: Mayor gasto de tiempo en pruebas y mayor gasto en reparaciones

Causa: No hay capacitación en metodologías de desarrollo (planeación y calidad)

Efecto: Problemas de comunicación con los clientes y con compañeros de equipo

Causa: El directivo se compromete a metas inalcanzables

Efecto: El objetivo cambia a terminar el trabajo y la calidad cambia

Estadísticas del Desarrollo de Software

¿Cuánto porcentaje de éxito tuvieron los proyectos que tuvieron más de 10 millones de presupuesto?

0%

¿Cuánto porcentaje del software se entregó, pero no se usó?

47%

¿Cuánto porcentaje de software se usó como se entregó?

2%

Ciclo de Vida del Software

¿Qué es un ciclo de vida?

Es la abstracción de las fases por las que pasa un software a lo largo de su vida, representa una aproximación a la producción de software.

¿Qué debe tener un ciclo de vida?

  • Determinación del orden de las fases
  • Establecer los criterios entre fases

¿De qué depende aplicar un ciclo de vida?

  • Cultura de la organización
  • Deseo de asumir riesgos
  • Área de aplicación
  • Volatilidad de los requisitos
  • Comprensión de los requisitos
  • Experiencia

Modelo Cascada

Filosofía del ciclo Cascada

Es un proceso lineal-secuencial.

Menciona causa y efecto Cascada

Causa: Proyecto raramente sigue un flujo secuencial, es antinatural.

Efecto: No se pueden definir todos los requerimientos.

Causa: El usuario ve resultados hasta el final de las etapas.

Efectos: Es tardado y no hay retroalimentación.

Modelo Prototipo

Tipos de prototipos

  • Desechable
  • Maqueta
  • Evolutivo

¿En qué situación se debe usar el prototipo?

El cliente no sabe lo que quiere, no se comprende bien lo que el cliente quiere, o cuando hay desconocimiento de la tecnología de la solución.

Filosofía del prototipo

Modelación a escala para sistemas complejos.

Modelo RAD

¿Qué significa RAD?

Rapid Application Development

¿Cuándo se usa el RAD?

  • Los requerimientos son requeridos
  • Los usuarios deben involucrarse
  • Factible a corto plazo
  • Cuando la funcionalidad es incremental y visible
  • No se requiere alto rendimiento
  • Riesgos técnicos bajos

¿Cuáles son los beneficios del RAD?

  • Reducción de tiempo y costo

Debilidades del RAD:

  • Como en el de cascada se tarda en visualizar resultados
  • Aumenta el riesgo de desincronización
  • Es difícil para sistemas heredados

Modelo V

¿A qué debe su nombre el modelo V?

  • Se debe al énfasis en la verificación y la validación

¿Cuándo se usa el Modelo V?

  • Los sistemas requieran uso pesado
  • Cuando los requerimientos son conocidos
  • Cuando la tecnología es conocida

Fortalezas del Modelo V

  • Énfasis en verificación y validación del producto en etapas tempranas
  • Cada producto es estable (90%)
  • La retroalimentación al proyecto es fácil
  • Es sencillo y fácil de usar

Debilidades del modelo V

  • Es riesgoso porque no maneja iteraciones
  • Se dificultan los cambios en los requerimientos
  • No contiene actividades de análisis de riesgo

Modelo Espiral

¿En qué cuadrante está el análisis de riesgo dentro del modelo espiral?

  • 2

¿En qué cuadrante se hace la planeación?

  • 4

Fortalezas del espiral:

  • Ayuda a detectar errores
  • El usuario ve el sistema en etapas tempranas (prototipos) y retroalimenta
  • Las funciones de alto riesgo son desarrolladas primero
  • El diseño no necesariamente tiene que ser perfecto o completo
  • Usuarios pueden estar más involucrados debido a todos los pasos del ciclo de vida
  • Los costos acumulados son revisados frecuentemente

Debilidades del Ciclo Espiral:

  • Tiempo utilizado en evaluar riesgos es alto (mas personal)
  • Tiempo gastado en planear, refijar objetivos, análisis de riesgo y prototipado puede ser excesivo
  • El modelo es complejo
  • Se requiere experiencia en aseguramiento de riesgos es necesario
  • Espiral puede continuar indefinidamente por demasiada planeación y análisis
  • No es fácil cerrar una fase y comenzar la otra fase

Es complejo aplicar el ciclo de vida espiral

Ciclos de Vida: Tradicionales vs. Ágiles

¿Los ciclos de vida en qué se dividen?

Tradicionales prescriptivos y ágiles iterativos.

Características de los ciclos de vida tradicionales:

  • Lapsos largos y planificados
  • Los cambios en los requerimientos son un gran problema
  • Plazos largos

Características de los ciclos de vida ágiles:

  • Lapsos cortos para revisar y verificar
  • Creación de funcionalidades parciales que se agregan continuamente
  • Los cambios en los requerimientos son bienvenidos
  • Las personas del negocios y desarrolladores trabajan juntos diariamente
  • Plazos cortos
  • Orientado a personas

Ejemplos de ciclos Ágiles

SCRUM, Cristal Clear, Extreme programming.

Requerimientos

¿A qué se refiere MoSCoW?

Must have, Should have, Could have, and Would like but won’t get

¿Qué es un requerimiento?

Son la definición de los que se desea producir y describe el futuro comportamiento del sistema.

Tipos de requerimientos:

No Funcionales y Funcionales.

Ejemplo de requerimiento funcional

A+B

Características deseables

Necesario, conciso, completo, consistente, no ambiguo, verificable.

Dificultades de los requerimientos

  • No son obvios y vienen de muchas fuentes
  • Son difíciles de expresar en palabras
  • Nuestro lenguaje es ambiguo
  • Existen muchos tipos de requerimientos
  • La cantidad de requerimientos es grande
  • Pueden cambiar
  • Son difíciles de cuantificar
  • Son particulares de cada proyecto

¿Qué es un problema?

Diferencia entre las cosas como se perciben y las cosas como se desean.

¿Qué es un requerimiento?

Es la definición de lo que se desea producir y describe el futuro comportamiento del sistema.

¿De qué modo determinamos qué es adecuado?

Bueno, bonito y barato.

¿Cuántas factibilidades analizamos?

3: Factibilidad técnica, factibilidad económica, factibilidad operacional.

¿Qué es SRS?

Software Requirements Specification

¿Por qué hay evolución en los requerimientos?

¿Cómo controlamos los cambios de los requerimientos?

Lean

¿Qué es Lean?

Es un medio sistemático de eliminar gastos.

Fases del Lean

  • Construir solo lo necesario
  • Eliminar todo lo que no añada Valor
  • Parar cuando algo no sale bien

Actividades de la eliminación de desperdicio:

  • Trabajo parcialmente realizado
  • Procesos extra
  • Características extra
  • Cambios de tarea
  • Esperas
  • Movimiento (tiempo que se pierde en dudas)
  • Defecto (para eliminar este desperdicio es detectar más rápido los defectos)
  • Actividades administrativas. No añaden valor

¿Qué es POKA-YOKE?

Error-Evitar

¿Qué es la calidad en producción?

Conformidad con requerimientos.

¿Qué es calidad en desarrollo?

Apropiada para uso.

Desarrollo de S.W. se considera ejercicio de:

Nombrar los 7 principios de Lean

  1. Eliminar desperdicio
  2. Construir con calidad
  3. Amplificar el conocimiento
  4. Decidir tan tarde como sea posible
  5. Entregar tan rápido como sea posible
  6. Potenciar al equipo, otorgando poder al equipo
  7. Crear la integridad conceptual

Dejar un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *