Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metodologías de Desarrollo de Software
Metodologías de Desarrollo de Software
1.3 Metodologías de
desarrollo de software
Fundamentos de Ingeniería de Software
6 de septiembre de 2022
Tepic, Nayarit. México
1.3 Metodologías de desarrollo de software | Cesar Elías Rosas Flores
Introducción ................................................................................................................................... 3
Metodologías de desarrollo de software .............................................................................. 4
Metodologías Clásicas............................................................................................................. 4
Tipos de metodologías ....................................................................................................... 4
Waterfall (Cascada) .......................................................................................................... 4
Ventajas ........................................................................................................................... 5
Desventajas .................................................................................................................... 5
Prototyping (Prototipo) .................................................................................................. 6
Ventajas ........................................................................................................................... 7
Desventajas .................................................................................................................... 7
Spiral (Espiral) .................................................................................................................... 7
Ventajas ........................................................................................................................... 8
Desventajas .................................................................................................................... 8
Metodologías Ágiles ................................................................................................................ 9
Tipos de metodologías ....................................................................................................... 9
Extreme Programming (Programación Extrema)................................................ 9
Ventajas ......................................................................................................................... 10
Desventajas .................................................................................................................. 11
Kanban ............................................................................................................................... 11
Ventajas ......................................................................................................................... 12
Desventajas .................................................................................................................. 12
Feature Driven Development (FDD)........................................................................ 13
Características a cumplir ......................................................................................... 13
Ventajas ......................................................................................................................... 13
Desventajas .................................................................................................................. 13
Bibliografía .................................................................................................................................... 14
2|Página
1.3 Metodologías de desarrollo de software | Cesar Elías Rosas Flores
Introducción
• Entienden el problema
• Diseñan una solución
• Implementan la solución
• Prueban la solución
• Gestionan las actividades anteriores para conseguir el proyecto
profesional.
3|Página
1.3 Metodologías de desarrollo de software | Cesar Elías Rosas Flores
Metodologías Clásicas
Tipos de metodologías
Waterfall (Cascada)
4|Página
1.3 Metodologías de desarrollo de software | Cesar Elías Rosas Flores
Ventajas
• Es una metodología simple y fácil de entender.
• Fácil manejo de proyecto por la rigidez del modelo. Cada etapa
cuenta con tiempos específicos de entrega y revisión de procesos.
• Es aplicable a proyectos pequeños
Desventajas
• No es aplicable a proyectos que demanden mantenimiento
continuo.
• Una vez el proyecto alcance la etapa de prueba y validación es
complicado volver a etapas anteriores.
5|Página
1.3 Metodologías de desarrollo de software | Cesar Elías Rosas Flores
Prototyping (Prototipo)
6|Página
1.3 Metodologías de desarrollo de software | Cesar Elías Rosas Flores
Ventajas
• Reduce significativamente los riesgos de fracaso e identifica los
peligros potenciales en una etapa temprana en pasos moderados y
rápidos.
• Ayuda a la recopilación de los requerimientos cuando hay poca
información documentada.
• Adaptables a requerimientos cambiantes.
Desventajas
• El desarrollo del prototipo es a expensas del desarrollador, así que
es desarrollado usando el mínimo de recursos.
• Da una falsa ilusión al usuario sobre la velocidad del desarrollo.
• Puede llegar a dar una idea inicial fantasiosa del proyecto
desapegada de la realidad del mismo.
Spiral (Espiral)
7|Página
1.3 Metodologías de desarrollo de software | Cesar Elías Rosas Flores
Ventajas
• El análisis de riesgo inicial reduce la posibilidad de riesgos.
• Es adecuado para proyectos grandes y/o críticos.
• Adaptable a requerimientos variables.
Desventajas
• El éxito del proyecto depende de la fase de análisis de riesgo por lo
que un error en tal fase pondría en riesgo todo el proyecto
• Los extensos análisis de riesgo lo hacen costoso.
• El mayor riesgo de esta metodología es su mismo modelo de
espiral, el proyecto puede nunca verse finalizado.
8|Página
1.3 Metodologías de desarrollo de software | Cesar Elías Rosas Flores
Metodologías Ágiles
Las metodologías ágiles surgen para cubrir las deficiencias que las
metodologías clásicas, efectivas en un esquema tradicional de proyectos
de gran tamaño, en contraparte, sufrían el ser inadecuadas e ineficientes
para muchos proyectos actuales, donde el entorno del sistema era muy
cambiante y en donde se exige reducir los tiempos de desarrollo
manteniendo una alta calidad. De nada sirven buenas notaciones y
herramientas, si no se proveen directivas eficientes para su aplicación.
Tipos de metodologías
9|Página
1.3 Metodologías de desarrollo de software | Cesar Elías Rosas Flores
Ventajas
• Esta metodología involucra al cliente, lo que le da confianza del
producto.
• Es consistente con métodos modernos de desarrollo.
• Ahorro de dinero y tiempo ya que la documentación es menor.
10 | P á g i n a
1.3 Metodologías de desarrollo de software | Cesar Elías Rosas Flores
Desventajas
• La metodología solo es efectiva si los participantes del proyecto se
involucran.
• Requiere reuniones frecuentes a (normalmente) expensas del
cliente.
• Las personalidades chocantes pueden debilitar la estructura del
proyecto.
Kanban
11 | P á g i n a
1.3 Metodologías de desarrollo de software | Cesar Elías Rosas Flores
Ventajas
• Calidad garantizada todo lo que se hace debe salir bien en la
primera instancia, no hay margen de error. Para lograr esto no se
premia la rapidez, sino la calidad final de las tareas realizadas.
• Reducción del desperdicio: se basa en hacer solamente lo justo y
necesario, para garantizar que se haga bien.
• Flexibilidad: es necesario poder priorizar aquellas tareas entrantes
según las necesidades del momento y tener la capacidad de dar
respuesta a estas tareas imprevistas.
Desventajas
• Los costos pueden verse elevados por la prioridad de calidad.
• Tiempos alargados de etapa, ya que no se cambia de etapa hasta
que la calidad del resultado cuente con lo esperado.
12 | P á g i n a
1.3 Metodologías de desarrollo de software | Cesar Elías Rosas Flores
Características a cumplir
• Debe ser simple y poco costoso de desarrollar.
• Debe aportar valor al cliente y ser relevante para su negocio.
• Debe poderse expresar en términos de acción, resultado y objeto.
Ventajas
• Importancia de la simplicidad, al eliminar el trabajo innecesario.
• Mejora continua de los procesos y el equipo de desarrollo.
• Evita malentendidos de requerimientos entre el cliente y el equipo.
• Atención continua a la excelencia técnica y al buen diseño.
Desventajas
• Falta de documentación del diseño. El código no puede tomarse
como una documentación. En sistemas de tamaño grande se
necesita leer los cientos o miles de páginas del listado de código
fuente.
• Fuerte dependencia de las personas. Como se evita en lo posible la
documentación y los diseños convencionales, los proyectos ágiles
dependen críticamente de las personas.
• Falta de reusabilidad. La falta de documentación hace difícil que
pueda reutilizarse el código
13 | P á g i n a
1.3 Metodologías de desarrollo de software | Cesar Elías Rosas Flores
Bibliografía
14 | P á g i n a