Sobes.tech
Junior

¿Qué metodologías de desarrollo de software conoces?

sobes.tech AI

Respuesta de la IA

  • Metodologías ágiles: Enfoque iterativo e incremental, centrado en la flexibilidad, adaptación rápida a cambios en los requisitos y colaboración estrecha con el cliente.
    • Scrum: El marco ágil más popular. Ciclos de desarrollo (sprints), roles (Product Owner, Scrum Master, Equipo de Desarrollo), artefactos (Product Backlog, Sprint Backlog, Increment) y eventos (Planificación del Sprint, Daily Scrum, Revisión del Sprint, Retrospectiva del Sprint).
    • Kanban: Visualización del flujo de trabajo mediante tableros y tarjetas. Enfoque en gestionar el flujo de tareas, limitar el trabajo en curso (WIP) y mejorar continuamente el proceso.
    • Programación extrema (XP): Enfocada en la calidad del código y la interacción del equipo. Incluye prácticas como programación en pareja, pruebas mediante TDD, integración continua, refactorización y ciclos cortos de desarrollo.
  • Metodologías heredadas (tipo Waterfall): Enfoque lineal y secuencial, donde cada fase se completa antes de comenzar la siguiente.
    • Waterfall (Modelo en cascada): Fases claramente definidas: recopilación de requisitos, diseño, desarrollo, pruebas, despliegue, soporte. Los cambios en requisitos en etapas tardías son muy difíciles y costosos.
    • Modelo V: Extensión del Waterfall, donde las pruebas están integradas en cada fase del desarrollo. Las especificaciones de requisitos corresponden a las pruebas de aceptación, el diseño del sistema a las pruebas del sistema, etc.
  • Metodologías mixtas y otras:
    • Desarrollo de software Lean: Basado en principios de producción ajustada. Enfocado en eliminar desperdicios, crear valor para el cliente, optimizar el flujo, construir calidad en cada etapa y respetar a las personas.
    • Proceso Unificado Rational (RUP): Enfoque iterativo basado en modelado. Enfocado en gestionar riesgos y crear software de calidad mediante integración y pruebas continuas. Incluye numerosos artefactos y roles.