PROTOCOLO INDIVIDUAL U4
ADRIÁN RICARDO GUZMÁN DÍAZ
UNIVERSIDAD DE CARTAGENA 2024 II
METODOLOGÍA PARA EL DESARROLLO
DE SOFTWARE
DOCENTE: FERNANDO DAZA
30 DE OCTUBRE DE 2024
Protocolo individual
Descripción del texto o actividad a realizar.
Este protocolo explora las metodologías ágiles utilizadas en el desarrollo de software,
destacando Design Sprint, Extreme Programming (XP), Rational Unified Process (RUP),
Scrum y Kanban. El objetivo es comprender cómo cada metodología apoya la entrega
temprana y frecuente de software, la mejora continua y la colaboración en equipo.
Palabras claves.
- Metodologías Ágiles
- Design Sprint
- Extreme Programming (XP)
- Rational Unified Process (RUP)
- Scrum
- Kanban
Objetivos de las lecturas o actividad a realizar.
• Comprender los principios fundamentales de cada metodología ágil y su enfoque en la
entrega de software.
• Identificar las similitudes y diferencias entre las metodologías ágiles y cómo pueden
aplicarse en distintos contextos de desarrollo.
• Explorar los beneficios de la colaboración y la mejora continua en el desarrollo ágil.
Conceptos claves y definiciones.
• Design Sprint: Metodología creada por Google Ventures en 2010 para resolver problemas y
tomar decisiones rápidamente en cinco días. Se enfoca en definir el problema, generar
soluciones, prototipar y validar.
• Extreme Programming (XP): Enfocada en la calidad del software mediante técnicas como la
programación en parejas y pruebas unitarias. Ideal para equipos pequeños en proyectos
complejos.
• Rational Unified Process (RUP): Metodología incremental que organiza el desarrollo en
cuatro fases (inicio, elaboración, construcción, transición) con un enfoque en reducir riesgos
a través de iteraciones.
• Scrum: Metodología ágil centrada en el trabajo en sprints y la colaboración a través de
roles específicos (Product Owner, Scrum Master). Utiliza herramientas como el product
backlog y burndown charts.
• Kanban: Enfocada en la gestión visual del flujo de trabajo a través de un tablero,
promoviendo la mejora continua y la flexibilidad en los procesos.
Resumen de la(as) lecturas.
Las metodologías ágiles en desarrollo de software buscan adaptarse a los cambios y mejorar
continuamente los procesos, promoviendo la colaboración en equipo y la entrega temprana
de productos. Design Sprint es ideal para la innovación y toma rápida de decisiones, XP
optimiza la calidad de software en proyectos complejos, RUP reduce riesgos con un enfoque
en fases, Scrum organiza el trabajo en sprints y Kanban mejora el flujo de trabajo de manera
visual. La elección de una metodología depende del proyecto, el equipo y los objetivos
específicos.
Metodología Design Sprint
Definición: Design Sprint es una metodología de cinco días, desarrollada por Jake Knapp en
Google Ventures en 2010, que se utiliza para resolver problemas y tomar decisiones
rápidamente. A través de este proceso intensivo, se busca definir el problema, generar
soluciones, seleccionar la mejor, crear un prototipo y validarlo con usuarios.
Función en el software: Se usa principalmente en la fase de diseño y en proyectos de
innovación para definir soluciones rápidas y validadas antes de comenzar el desarrollo
completo del software.
Características:
Duración de cinco días con etapas definidas: entender, idear, decidir, prototipar y testear.
Enfoque colaborativo e iterativo.
Uso intensivo de prototipos rápidos y pruebas con usuarios.
Importancia: Acelera la fase de diseño en proyectos de alta innovación, ayuda a evitar
problemas futuros en el desarrollo y garantiza que el equipo trabaje en una solución que
responde a las necesidades reales de los usuarios.
Metodología Extreme Programming (XP)
Definición: Extreme Programming (XP) es una metodología ágil centrada en la calidad del
software y la satisfacción del cliente. Implementa prácticas como la programación en parejas,
pruebas unitarias frecuentes y la integración continua.
Función en el software: XP es útil para asegurar que el software desarrollado cumple con
los estándares de calidad y se adapta a los cambios de requisitos, manteniendo al cliente
involucrado.
Características:
Programación en parejas y revisiones de código constantes.
Ciclos cortos de desarrollo con feedback frecuente.
Pruebas unitarias y refactorización continua.
Importancia: XP es especialmente beneficioso para equipos pequeños en proyectos
complejos que necesitan adaptarse rápidamente a cambios. La integración continua y las
pruebas constantes ayudan a minimizar errores y mejorar la calidad del software.
Metodología Rational Unified Process (RUP)
Definición: Rational Unified Process (RUP) es un marco de trabajo iterativo e incremental
que divide el desarrollo en cuatro fases: inicio, elaboración, construcción y transición. Cada
fase cuenta con actividades y roles específicos para asegurar la entrega controlada y
progresiva del software.
Función en el software: RUP ayuda a gestionar proyectos complejos y a reducir riesgos
mediante la entrega de iteraciones controladas y bien planificadas.
Características:
Estructura basada en fases con ciclos iterativos dentro de cada fase.
Enfoque en requisitos, arquitectura, diseño, pruebas y evaluación.
Documentación detallada y énfasis en gestión de riesgos.
Importancia: Permite un desarrollo estructurado y controlado en proyectos de gran escala,
donde la gestión de riesgos y la documentación detallada son claves para el éxito. RUP es
ideal para entornos empresariales donde se requieren altos niveles de planificación y
precisión.
Metodología Scrum
Definición: Scrum es una metodología ágil que organiza el desarrollo en ciclos de trabajo
cortos llamados sprints, que suelen durar entre dos y cuatro semanas. Cada sprint tiene una
meta específica y se enfoca en la entrega de incrementos funcionales del software.
Función en el software: Scrum permite dividir el proyecto en etapas manejables, facilitando
la entrega continua de partes funcionales y permitiendo ajustes en cada sprint.
Características:
Roles definidos (Scrum Master, Product Owner, equipo de desarrollo).
Reuniones regulares: planificación, reunión diaria, revisión y retrospectiva.
Uso de herramientas como el backlog de productos y burndown charts.
Importancia: Scrum es ideal para proyectos dinámicos donde los requisitos pueden
cambiar. Asegura una entrega rápida y continua de valor al cliente, promoviendo la
colaboración y la adaptabilidad.
Metodología Kanban
Definición: Kanban es una metodología visual de gestión del flujo de trabajo, basada en el
uso de un tablero (físico o digital) dividido en columnas que representan diferentes etapas
del proceso. Los elementos de trabajo se mueven a través de las columnas según su
progreso.
Función en el software: Kanban ayuda a optimizar el flujo de trabajo y gestionar de manera
flexible las tareas, lo que lo hace adecuado para proyectos en los que se quiere mejorar la
productividad y la eficiencia sin un marco rígido.
Características:
Tablero visual dividido en columnas que representan el flujo de trabajo.
Límite de tareas en progreso para evitar la sobrecarga.
Mejora continua del proceso.
Importancia: Permite un alto grado de flexibilidad y control en el proceso de desarrollo, ya
que se pueden agregar o mover tareas en cualquier momento. Kanban es ideal para equipos
que desean gestionar el flujo de trabajo de manera visual y flexible.
Cada una de estas metodologías tiene su propia función, adaptándose a diferentes tipos de
proyectos y equipos de desarrollo. En conjunto, las metodologías ágiles promueven la
entrega temprana, la colaboración, y la mejora continua, ayudando a los equipos a adaptarse
rápidamente a los cambios y a mantener un flujo constante de valor para el cliente. La
elección de la metodología depende del contexto, pero todas buscan mejorar la calidad y
eficacia en el desarrollo de software.
Metodología de trabajo (Cómo realizó la actividad).
• Para el desarrollo de este protocolo, utilize una lectura comparativa con otros textos
estudiados, me guie de los diferentes conceptos que la plataforma SIMA me brindaba,
investigue en varios libros y páginas de internet para tener una definición clara y concisa de
los temas trabajados, además de guiarme por el módulo de la unidad.
Por último, utilize cada concepto estudiado en clase y lo uní con otros conceptos
investigados, seguí el paso a paso que se mencionaban en las plantillas; para finalizar con
mi trabajo
Conclusiones de la lectura o actividad.
• Para concluir decimos que las metodologías ágiles ofrecen flexibilidad y adaptación,
permitiendo la entrega continua y la mejora en proyectos de software. Cada metodología
tiene un enfoque distinto, pero todas promueven la colaboración y la eficiencia. La selección
adecuada depende de factores como el tamaño del proyecto y las necesidades del cliente,
resaltando que la agilidad en el desarrollo es clave para mantener la competitividad en el
sector tecnológico.
Discusiones y recomendaciones.
• Nada para opinar.
Bibliografía.
Recursos Bibliográficos de la UnIdad 4
Investigación en https://www.google.com.do/
Modulo Unidad 4