1. Taller Metodología del Desarrollo de Software
Miguel Angel Vergara Crespo
Servicio Nacional de Aprendizaje
Análisis y Desarrollo de Software
Ficha: 2771465
José Elice Villamizar Torres
Pamplona, Colombia
Agosto, 2023
2. Introducción
En el mundo actual de la industria del software, la eficiencia y la calidad en la creación de
productos tecnológicos son aspectos cruciales para el éxito de cualquier proyecto. En este
contexto, las metodologías de desarrollo de software emergen como herramientas indispensables
para guiar y estructurar el proceso de creación y evolución de programas y aplicaciones. Estas
metodologías proporcionan un enfoque sistemático y organizado que ayuda a los equipos de
trabajo a enfrentar los desafíos inherentes a la creación de software.
El presente taller, enmarcado en la Evidencia del Conocimiento
GA1-220501093-AA1-EV01, se ha diseñado con el propósito de profundizar en el entendimiento
y aplicación de diversas metodologías de desarrollo de software. A través de este instrumento de
evaluación, se busca evaluar tu comprensión de los conceptos y principios esenciales asociados a
estas metodologías, así como tu capacidad para diferenciar entre enfoques tradicionales y ágiles.
En la siguiente sección, se detallan las instrucciones para el diligenciamiento de este
taller, que te permitirán abordar las preguntas de manera efectiva y coherente. Cada pregunta se
presenta con el objetivo de guiar tu análisis y reflexión sobre los componentes esenciales de las
metodologías de desarrollo de software. Se te solicita que, con base en los conocimientos
adquiridos en el componente formativo y otros recursos disponibles, brindes respuestas claras,
concisas y precisas.
3. Desarrollo del contenido
1. Describa con sus propias palabras qué es y de qué se compone una metodología de
desarrollo de software. Citar por lo menos 3 ejemplos que demuestren su utilidad (30%).
RTA: Bueno, una metodología de desarrollo de software es como una especie de "plan de
acción" para crear programas y aplicaciones. Piénsalo como una guía detallada que nos dice qué
hacer en cada paso del proceso de hacer software. No solo nos dice cómo escribir el código, sino
también cómo organizar todo el proyecto, desde el principio hasta el final. Estas metodologías
nos ayudan a trabajar de manera más eficiente y a hacer un software de mejor calidad. Una
metodología de desarrollo de software se compone de etapas, roles, actividades, flujo de trabajo,
herramientas, documentación, comunicación y más. Como ejemplo tenemos los siguientes:
Metodología Cascada:La Metodología Cascada es un enfoque secuencial donde cada
fase del proyecto sigue a la anterior en una especie de cascada descendente. Funciona mejor
cuando los requisitos están claros y no cambian mucho. Sin embargo, puede ser inflexible si se
necesitan cambios importantes durante el proceso.
Metodología Scrum: Scrum es un enfoque ágil que se basa en "sprints" cortos y
regulares. Se adapta bien a proyectos en constante cambio, ya que se enfoca en la flexibilidad y
la adaptabilidad. Promueve la colaboración constante entre el equipo y los interesados, y busca la
retroalimentación temprana para mejorar el producto.
Metodología Kanban: Kanban es otro enfoque ágil que se centra en visualizar el flujo de
trabajo y administrar tareas eficientemente. Utiliza tarjetas o "post-its" para representar tareas,
que se mueven a través de diferentes etapas. Es especialmente útil cuando la priorización y la
reducción de desperdicio son importantes para el proyecto.
4. 2. Describa con sus propias palabras cuáles son las características fundamentales de una
metodología de marco de trabajo ágil y un marco de trabajo tradicional (30%).
RTA:
Metodología de Marco de Trabajo Ágil: Se basa en un enfoque ágil para el desarrollo
de software, manejando flexibilidad y adaptabilidad a su vez. En lugar de solo planificar todo el
proyecto al principio, se divide en distintos procesos llamados "sprints". En cada uno de estos se
seleccionan ciertas tareas y se empieza a trabajar para cumplir con ellas, permitiendo ajustes y
futuras mejoras constantes a medida que se avanza en el mismo proyecto.
Metodología de Marco de Trabajo Tradicional: También conocida como enfoque en
cascada, tiende a seguir una estructura secuencial y más rígida. Cada fase del proyecto se
desarrolla después del anterior, como si fuese un paso a paso. Una vez realizada la planificación
al principio, empiezan a detallar todas las etapas antes de comenzar. Esto por lo general funciona
cuando se tienen unos requisitos bien definidos y que no vayan a llevar muchos cambios a
futuro, puesto que pueden llegar a haber problemas si surgen cambios significativos en etapas
posteriores, ya que requiere ajustes complicados en el proceso.
5. 3. Elabore una lista donde clasifique por lo menos cinco metodologías de desarrollo de
software en marcos tradicionales y marcos ágiles, con sus respectivas características. (40%)
RTA: Metodologías en Marcos Tradicionales:
Modelo en Cascada (Waterfall): Características: Secuencial y lineal, cada fase sigue a
la anterior. Requiere una planificación exhaustiva al inicio. Adecuado para proyectos con
requisitos estables. Ventajas: Estructura ordenada, fácil seguimiento. Desventajas: Rígido ante
cambios, retroalimentación tardía.
Modelo en Espiral: Características: Combinación de enfoque iterativo y cascada. Cada
iteración agrega nuevas funcionalidades. Se enfoca en la mitigación de riesgos. Ventajas: Permite
ajustes y mejoras, manejo de riesgos. Desventajas: Complejidad en la gestión de iteraciones.
Modelo en V: Características: Evolución del modelo en cascada, enfatiza las pruebas en
cada fase. Las etapas de prueba se reflejan en espejo con las etapas de desarrollo. Ventajas:
Pruebas tempranas, identificación de errores tempranos. Desventajas: Menos flexibilidad que
enfoques ágiles.
Modelo en Incrementos: Características: Divide el proyecto en partes llamadas
"incrementos". Cada incremento agrega funcionalidades adicionales. Ventajas: Permite entregas
parciales y funcionales. Desventajas: Puede enfrentar desafíos de integración entre incrementos.
Modelo en Big Bang: Características: No sigue un proceso estructurado. El desarrollo
comienza sin una planificación detallada y avanza de manera ad hoc. Ventajas: Flexibilidad
completa. Desventajas: Falta de control y estructura, riesgo de resultados insatisfactorios.
6. RTA: Metodologías en Marcos Ágiles:
Scrum: Características: Trabajo en iteraciones cortas llamadas "sprints". Enfoque
colaborativo y adaptable. Reuniones diarias para seguimiento. Ventajas: Adaptabilidad,
retroalimentación temprana, colaboración constante. Desventajas: Puede requerir una gestión
cuidadosa del alcance.
Extreme Programming (XP): Características: Enfoque en la calidad del software.
Desarrollo de código y pruebas en parejas. Iteraciones cortas y frecuentes. Ventajas: Calidad del
código, adaptabilidad, enfoque en las pruebas. Desventajas: Requiere un alto nivel de
colaboración y comunicación.
Kanban: Características: Visualización del flujo de trabajo a través de tarjetas o tableros.
Enfoque en la gestión eficiente de tareas. No se definen sprints fijos. Ventajas: Priorización,
eliminación de desperdicio, flexibilidad. Desventajas: Requiere una planificación constante.
Crystal: Características: Varios subtipos que se adaptan a diferentes tamaños y
complejidades de proyectos. Enfocado en la comunicación y la colaboración. Ventajas:
Adaptabilidad, enfoque en la comunicación. Desventajas: Puede requerir más tiempo de
planificación.
Feature-Driven Development (FDD): Características: Enfoque en la construcción de
funcionalidades específicas. Divide el proyecto en etapas basadas en características. Ventajas:
Enfoque en resultados concretos, desglose de tareas claras. Desventajas: Puede requerir una fase
inicial de diseño más amplia.
7. Bibliografía.
AdmItsqmet, & AdmItsqmet. (2023b). Los 8 tipos de metodología de desarrollo de software.
ITSQMET. https://itsqmet.edu.ec/los-8-tipos-de-metodologia-de-desarrollo-de-software/
Colaboradores de Wikipedia. (2023). Metodología de desarrollo de software. Wikipedia, la
enciclopedia libre. https://es.wikipedia.org/wiki/Metodolog%C3%ADa_de_desarrollo_de_software
Mory, F. J. (2021). Metodologías ágiles vs tradicionales. Revista Empresarial & Laboral.
https://revistaempresarial.com/tecnologia/metodologias-agiles-vs-tradicionales/
Sotomayor, S. G. (2023, 15 febrero). Qué son las metodologías ágiles y cuáles son sus ventajas
empresariales. Thinking for Innovation.
https://www.iebschool.com/blog/que-son-metodologias-agiles-agile-scrum/
colaboradores de Wikipedia. (2023a). Proceso para el desarrollo de software. Wikipedia, la
enciclopedia libre. https://es.wikipedia.org/wiki/Proceso_para_el_desarrollo_de_software
¿Cuáles son las etapas del desarrollo de software? (s. f.).
https://global.tiffin.edu/noticias/cuales-son-las-etapas-del-desarrollo-de-software