SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
Metodologías ágiles de
desarrollo de software
Sesión 2

Metodologías Ágiles de Desarrollo de Software

Domingo Gallardo, DCCIA, Univ. Alicante
Índice

Metodologías ágiles de
desarrollo de software

Metodologías Ágiles de Desarrollo de Software

Domingo Gallardo, DCCIA, Univ. Alicante

2
¿Qué es el software?

Metodologías Ágiles de Desarrollo de Software, 2013-14

Domingo Gallardo, DCCIA, Universidad de Alicante
Metáforas
•

La analogía es un proceso de pensamiento muy potente


•

Una metáfora establece una analogía entre algo que conocemos poco
con algo similar que entendemos mejor


•

El uso de las metáforas está en la base del modelado


•

Metáforas sobre el desarrollo de software


•
•
•

Muchas y variadas

Todas ellas tienen algo de verdad, resaltan un aspecto importante

Ninguna es completa

Metodologías Ágiles de Desarrollo de Software

Domingo Gallardo, DCCIA, Univ. Alicante

4
Metáforas para el desarrollo de
software
•
•
•
•
•
•

Software como escritura: código escrito y leído

Software como cultivo: crecimiento orgánico

Software como cultivo por acreción: niveles que esconden detalles

Software como construcción: planificación y objetivos

Software como sistema legal: relación entre componentes

Software como película: proceso creativo de múltiples profesionales

Metodologías Ágiles de Desarrollo de Software

Domingo Gallardo, DCCIA, Univ. Alicante

5
El software es único
•

El software, su desarrollo y su distribución es un invento único y
totalmente nuevo en la historia de la humanidad


•
•
•
•
•

Flexible

Modificable

Reutilizable

Publicable

Desarrollo abierto y colaborativo

Metodologías Ágiles de Desarrollo de Software

Domingo Gallardo, DCCIA, Univ. Alicante

6
Software como producto a entregar
•

Software en 1980


•
•
•

Programas en mainframes con terminales


Software en la actualidad


•
•
•

Cajas llenas de CDs que se distribuyen en tiendas


Servicios en Internet, interconexión de estado, procesamiento

Múltiples dispositivos con los que interactuan los usuarios


Vídeo de Microsoft (2009)

“What is Software + Services?”

http://www.youtube.com/watch?v=EXS0BFS6QT4


Metodologías Ágiles de Desarrollo de Software

Domingo Gallardo, DCCIA, Univ. Alicante

7
Software como producto a usar
•

El software es un producto único no sólo en su proceso de desarrollo,
sino en su finalidad


•
•
•

El objetivo final del software es ser usado

Para conseguir ese objetivo es necesario un gran trabajo de
comunicación


Mejora continua:

Idea
Evaluación

Producto

Metodologías Ágiles de Desarrollo de Software

Domingo Gallardo, DCCIA, Univ. Alicante

8
Calidad en el software
•

Nuestra responsabilidad como ingenieros e ingenieras es desarrollar
software de calidad, mejorando los procesos de desarrollo y el resultado
final


•

Software que no funciona:


•

Software que solo cumple parcialmente lo que necesita el usuario, con
errores y omisiones


•
•
•

Software con el que el usuario se tiene que “pelear”

Software lento, poco eficiente

Software poco modificable, poco entendible, con deuda técnica

Metodologías Ágiles de Desarrollo de Software

Domingo Gallardo, DCCIA, Univ. Alicante

9
Calidad del código:
WTFs/minuto

Robert C. Martin - Clean Code, 2008
Metodologías Ágiles de Desarrollo de Software

10
Domingo Gallardo, DCCIA, Univ. Alicante
Ejemplos de aplicaciones software

Metodologías Ágiles de Desarrollo de Software

11
Domingo Gallardo, DCCIA, Univ. Alicante
Ejemplos de aplicaciones software

Metodologías Ágiles de Desarrollo de Software

12
Domingo Gallardo, DCCIA, Univ. Alicante
Ejemplos de aplicaciones software

Metodologías Ágiles de Desarrollo de Software

13
Domingo Gallardo, DCCIA, Univ. Alicante
Ejemplos de aplicaciones software

Metodologías Ágiles de Desarrollo de Software

14
Domingo Gallardo, DCCIA, Univ. Alicante
¿Qué es una metodología de
desarrollo?

Metodologías Ágiles de Desarrollo de Software, 2013-14

Domingo Gallardo, DCCIA, Universidad de Alicante
Metodologías de desarrollo

Metodologías Ágiles de Desarrollo de Software

16
Domingo Gallardo, DCCIA, Univ. Alicante
Metodologías de desarrollo
•

Una metodología de desarrollo del software define


•
•
•

Pasos a seguir

Roles y responsabilidades de los distintos actores que intervienen en
el proceso


Una metodología es más que un conjunto de reglas


•
•
•

Valores

Principios

Buenas Prácticas y herramientas

Metodologías Ágiles de Desarrollo de Software

17
Domingo Gallardo, DCCIA, Univ. Alicante
Fases del desarrollo de un proyecto

Metodologías Ágiles de Desarrollo de Software

18
Domingo Gallardo, DCCIA, Univ. Alicante
Ciclo de vida clásico de un proyecto
software
•
•
•
•
•
•
•
•
•
•
•

Valoración inicial del proyecto

Toma de requisitos

Diseño

Desarrollo de componentes

Pruebas unitarias

Integración

Pruebas de integración

Despliegue

Pruebas de rendimiento y funcionales

Lanzamiento

Mantenimiento

Metodologías Ágiles de Desarrollo de Software

19
Domingo Gallardo, DCCIA, Univ. Alicante
Modelo V de las fases de desarrollo

Daich et. al - Software Test Technologies Report, 1994
Metodologías Ágiles de Desarrollo de Software

20
Domingo Gallardo, DCCIA, Univ. Alicante
El problema de los modelos clásicos
•

Confianza excesiva en las especificaciones iniciales


•
•

Desarrollo monolítico


•
•

Problemas con cambios y futuro mantenimiento


Es imposible estimar más allá de 6 meses


•
•

Software que no satisface las necesidades del usuario


Proyectos que acumulan retrasos


Exceso de documentación inútil


•

El objetivo final del desarrollo es software que funciona, no pilas de
documentos con diagramas UML y descripciones de APIs internas

Metodologías Ágiles de Desarrollo de Software

21
Domingo Gallardo, DCCIA, Univ. Alicante
Un chiste ¿o no?

Historia del chiste

Metodologías Ágiles de Desarrollo de Software

22
Domingo Gallardo, DCCIA, Univ. Alicante
La propuesta ágil

Metodologías Ágiles de Desarrollo de Software

23
Domingo Gallardo, DCCIA, Univ. Alicante
Mejor

Metodologías Ágiles de Desarrollo de Software

24
Domingo Gallardo, DCCIA, Univ. Alicante
Modelo en espiral

Boehm - A Spiral Model of Software Development and Enhancement, 1988
Metodologías Ágiles de Desarrollo de Software

25
Domingo Gallardo, DCCIA, Univ. Alicante
Modelo en espiral
•

Sistema mínimo funcionando desde el principio


•

Cada interación añade un conjunto de funcionalidades (incremental) y, si
es necesario, refina alguna de las ya existentes (evolutivo)


•

Al final de cada iteración en el modelo en espiral se obtenía un prototipo


•

Hoy las mejores prácticas, lenguajes, herramientas de desarrollo y
entornos de despliegue hace posible obtener un sistema totalmente
funcional

Metodologías Ágiles de Desarrollo de Software

26
Domingo Gallardo, DCCIA, Univ. Alicante
Modelo en espiral

Metodologías Ágiles de Desarrollo de Software

27
Domingo Gallardo, DCCIA, Univ. Alicante
¿Qué es ágil?

Metodologías Ágiles de Desarrollo de Software, 2013-14

Domingo Gallardo, DCCIA, Universidad de Alicante
Metodologías Ágiles de Desarrollo de Software

29
Domingo Gallardo, DCCIA, Univ. Alicante
El cambio es inevitable
•

Cambio durante la construcción del proyecto, el 


•
•
•

Incertidumbres

Modificaciones al ver los primeros resultados


Cambio una vez terminado el proyecto


•
•

Mantenimiento

Modificaciones y ampliaciones debidos a cambios en el proceso de
negocio

Metodologías Ágiles de Desarrollo de Software

30
Domingo Gallardo, DCCIA, Univ. Alicante
La realidad de los desarrollos

Metodologías Ágiles de Desarrollo de Software

31
Domingo Gallardo, DCCIA, Univ. Alicante
La realidad de los desarrollos
•

Lo que nos gustaría


•
•
•
•
•

Los clientes saben lo que quieren

El equipo sabe cómo construirlo

Nada cambiará en el camino

Tenemos mucho tiempo y dinero para hacerlo


La realidad


•
•
•
•

Los clientes descubren lo que necesitan

Los desarrolladores descubren cómo hacerlo

Muchas cosas cambian en el camino

Siempre hay más cosas qué hacer que 

tiempo y dinero disponible

Metodologías Ágiles de Desarrollo de Software

32
Domingo Gallardo, DCCIA, Univ. Alicante
Qué no hacer

Metodologías Ágiles de Desarrollo de Software

33
Domingo Gallardo, DCCIA, Univ. Alicante
Abrazar el cambio

Metodologías Ágiles de Desarrollo de Software

34
Domingo Gallardo, DCCIA, Univ. Alicante
Abrazar el cambio
•

Una de las características principales del software es su flexibilidad


•

Los procesos, herramientas y plataformas deben aceptar sin tensiones el
cambio


•
•

Por ejemplo, no es asumible que añadir nuevos campos a un modelo
obligue a revisar y modificar las consultas SQL desarrolladas


El desarrollo debe ser robusto frente a futuros cambios


•

Importancia de las pruebas de regresión

Metodologías Ágiles de Desarrollo de Software

35
Domingo Gallardo, DCCIA, Univ. Alicante
Desarrollo incremental
•

En todas las metodologías ágiles se apuesta por un desarrollo en
iteraciones cortas


•

Al final de cada iteración corta debe haberse avanzado en el desarrollo
del producto software y deben existir una conjunto de características
(features) adicionales que antes no existían y que se integran
correctamente con las existentes previamente.


•

Un modelo ágil de desarrollo de software debe permitir la integración
rápida de las nuevas características en el producto software existente.

Metodologías Ágiles de Desarrollo de Software

36
Domingo Gallardo, DCCIA, Univ. Alicante
Algunos principios ágiles
•
•

Satisfacer al cliente mediante la entrega rápida de software útil


•

La simplicidad es esencial: el arte de maximizar la cantidad de trabajo
no hecha


•

Las iteraciones cortas entregan valor al cliente y permiten obtener la
retroalimentación (feedback) para el equipo

Se entrega frecuentemente software que funciona (semanas en lugar
de meses)


Desarollo
Feedback

Prueba

Metodologías Ágiles de Desarrollo de Software

37
Domingo Gallardo, DCCIA, Univ. Alicante
Cómo cortar en rodajas un elefante

http://blog.crisp.se/2013/07/25/henrikkniberg/elephant-carpaccio-facilitation-guide
Metodologías Ágiles de Desarrollo de Software

38
Domingo Gallardo, DCCIA, Univ. Alicante
Producto mínimo viable

http://www.startuplessonslearned.com/2009/08/minimum-viable-product-guide.html
Metodologías Ágiles de Desarrollo de Software

39
Domingo Gallardo, DCCIA, Univ. Alicante
Producto mínimo viable
•

MVP (Minimum Viable Product)


•
•
•

Idea para construir sturtups aplicable al desarrollo de software

Hacer primero lo que más incertidumbre genera


Mejoras incrementales: 


•
•
•

Conseguir futuras iteraciones cada vez más parecidas

Velocidad constante

Mejores estimaciones

Metodologías Ágiles de Desarrollo de Software

40
Domingo Gallardo, DCCIA, Univ. Alicante
Continuous delivery
!

•

Movimiento DevOps


•
•
•

Integra la agilidad en el desarrollo (Development) y la puesta en
producción (Operations)

Origen de las prácticas de entrega continua (continuous delivery)


Entrega continua


•
•
•
•

Integrar automáticamente

Desplegar automáticamente a entornos de prueba

Probar automáticamente

Desplegar a producción automáticamente

Metodologías Ágiles de Desarrollo de Software

41
Domingo Gallardo, DCCIA, Univ. Alicante
Principios de la entrega continua
1. Crear un proceso de lanzamiento (release) de software repetible y
fiable

2. Automatizar todo lo que sea posible

3. Mantener todo bajo el control de versiones

4. Si duele, hacerlo con más frecuencia

5. Introducir calidad en el sistema

6. Hecho significa lanzado

7. Todo el mundo es responsable del proceso de entrega

8. Mejora continua

Metodologías Ágiles de Desarrollo de Software

42
Domingo Gallardo, DCCIA, Univ. Alicante
Tubería de despliegue

Dave Farley - Continuous Delivery at LMAX, 2012
Metodologías Ágiles de Desarrollo de Software

43
Domingo Gallardo, DCCIA, Univ. Alicante
Herramientas y plataformas ágiles
•

Desarrollo


•
•
•
•
•

Sistemas de construcción: Maven

Sistemas de control de versiones: Git / GitHub, Mercurial / Bitbucket

Herramientas de prueba: JUnit, Selenium, Sonar

Sistemas de integración continua: Hudson


Despliegue


•
•

Sistemas virtuales: VirtualBox, Vagrant

Sistemas en la nube (Paas, Platform As A Service): Heroku, OpenShift

Metodologías Ágiles de Desarrollo de Software

44
Domingo Gallardo, DCCIA, Univ. Alicante
Resumen: métodos ágiles vs. cascada

Ágil
Cascada

© Henrik Kniberg
Metodologías Ágiles de Desarrollo de Software

45
Domingo Gallardo, DCCIA, Univ. Alicante
Una nota final para emprendedores

Metodologías Ágiles de Desarrollo de Software, 2013-14

Domingo Gallardo, DCCIA, Universidad de Alicante
Aquí se hace software

Metodologías Ágiles de Desarrollo de Software

47
Domingo Gallardo, DCCIA, Univ. Alicante
Vídeo: “A day in The Cocktail”

Metodologías Ágiles de Desarrollo de Software

48
Domingo Gallardo, DCCIA, Univ. Alicante
Lecturas
•

Martin Fowler, The New Methodology (2005)

Metodologías Ágiles de Desarrollo de Software

49
Domingo Gallardo, DCCIA, Univ. Alicante

Más contenido relacionado

La actualidad más candente

modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software Brihany Rossell
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Modelos de Procesos del Software
Modelos de Procesos del SoftwareModelos de Procesos del Software
Modelos de Procesos del SoftwareJaneth Jimenez
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareRoberth Loaiza
 
Qualidade de Software - Introdução
Qualidade de Software - Introdução Qualidade de Software - Introdução
Qualidade de Software - Introdução Elaine Cecília Gatto
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xpCrisCobol
 
Mosca ppt
Mosca pptMosca ppt
Mosca pptdraw507
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareMarcos Cerpa
 
El Proceso De Desarrollo De Software
El Proceso De Desarrollo De SoftwareEl Proceso De Desarrollo De Software
El Proceso De Desarrollo De Softwareahias arosemena
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrolloHermes Romero
 
Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareLorena Quiñónez
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentationCarl Bruiners
 
Modelamiento de software
Modelamiento de softwareModelamiento de software
Modelamiento de softwaresairarcf
 

La actualidad más candente (20)

modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de Software
 
Fundamentos de Testes de Software
Fundamentos de Testes de SoftwareFundamentos de Testes de Software
Fundamentos de Testes de Software
 
Modelos de Procesos del Software
Modelos de Procesos del SoftwareModelos de Procesos del Software
Modelos de Procesos del Software
 
Ingenieria De Software
Ingenieria De SoftwareIngenieria De Software
Ingenieria De Software
 
5. Métodos de Prueba de Software
5. Métodos de Prueba de Software5. Métodos de Prueba de Software
5. Métodos de Prueba de Software
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de Software
 
Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
 
Qualidade de Software - Introdução
Qualidade de Software - Introdução Qualidade de Software - Introdução
Qualidade de Software - Introdução
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Mitos de-software.
Mitos de-software.Mitos de-software.
Mitos de-software.
 
Mosca ppt
Mosca pptMosca ppt
Mosca ppt
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
El Proceso De Desarrollo De Software
El Proceso De Desarrollo De SoftwareEl Proceso De Desarrollo De Software
El Proceso De Desarrollo De Software
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrollo
 
1ra presentacion metodologias agiles
1ra presentacion metodologias agiles1ra presentacion metodologias agiles
1ra presentacion metodologias agiles
 
Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de software
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Modelamiento de software
Modelamiento de softwareModelamiento de software
Modelamiento de software
 

Destacado

Prototipado Agil por Mateu Batle Sastre
Prototipado Agil por Mateu Batle SastrePrototipado Agil por Mateu Batle Sastre
Prototipado Agil por Mateu Batle SastreIPAE_INNOVA
 
Scrum Un camino exitoso no solo para el desarrollo de SW
Scrum Un camino exitoso no solo para el desarrollo de SWScrum Un camino exitoso no solo para el desarrollo de SW
Scrum Un camino exitoso no solo para el desarrollo de SWscrumecuador
 
01 el proceso-de_desarrollo_de_software
01 el proceso-de_desarrollo_de_software01 el proceso-de_desarrollo_de_software
01 el proceso-de_desarrollo_de_softwarePaola Galindo
 
Aprendé Scrum en 5 minutos
Aprendé Scrum en 5 minutosAprendé Scrum en 5 minutos
Aprendé Scrum en 5 minutosRebeka Sanabria
 
Metodologías de desarrollo de software ucp
Metodologías de desarrollo de software   ucpMetodologías de desarrollo de software   ucp
Metodologías de desarrollo de software ucpAlonso Toro Lazo
 
Introducción a las Metodologías Ágiles
Introducción a las Metodologías ÁgilesIntroducción a las Metodologías Ágiles
Introducción a las Metodologías Ágilesmigami
 
El manifiesto y los principios ágiles
El manifiesto y los principios ágilesEl manifiesto y los principios ágiles
El manifiesto y los principios ágilesPablo Gil
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de softwareUVM
 
Metodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareMetodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareJuan Gomez
 
Presentacion devops factory 2016_v1.0
Presentacion devops factory 2016_v1.0Presentacion devops factory 2016_v1.0
Presentacion devops factory 2016_v1.0DevopsFactory
 
Introducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrumIntroducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrumRicardo Miguel Palacin Anco
 
Fundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesFundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesDomingo Gallardo
 
Seminario Scrum CLEFormacion
Seminario Scrum CLEFormacionSeminario Scrum CLEFormacion
Seminario Scrum CLEFormacionCLEFormación
 

Destacado (20)

Prototipado Agil por Mateu Batle Sastre
Prototipado Agil por Mateu Batle SastrePrototipado Agil por Mateu Batle Sastre
Prototipado Agil por Mateu Batle Sastre
 
Metodos agiles 3
Metodos agiles 3Metodos agiles 3
Metodos agiles 3
 
Scrum
ScrumScrum
Scrum
 
Las Mediciones de Software y sus Aplicaciomes
Las Mediciones de Software y sus AplicaciomesLas Mediciones de Software y sus Aplicaciomes
Las Mediciones de Software y sus Aplicaciomes
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
 
Scrum Un camino exitoso no solo para el desarrollo de SW
Scrum Un camino exitoso no solo para el desarrollo de SWScrum Un camino exitoso no solo para el desarrollo de SW
Scrum Un camino exitoso no solo para el desarrollo de SW
 
01 el proceso-de_desarrollo_de_software
01 el proceso-de_desarrollo_de_software01 el proceso-de_desarrollo_de_software
01 el proceso-de_desarrollo_de_software
 
Aprendé Scrum en 5 minutos
Aprendé Scrum en 5 minutosAprendé Scrum en 5 minutos
Aprendé Scrum en 5 minutos
 
Metodos agiles
Metodos agilesMetodos agiles
Metodos agiles
 
Metodologías de desarrollo de software ucp
Metodologías de desarrollo de software   ucpMetodologías de desarrollo de software   ucp
Metodologías de desarrollo de software ucp
 
Introducción a las Metodologías Ágiles
Introducción a las Metodologías ÁgilesIntroducción a las Metodologías Ágiles
Introducción a las Metodologías Ágiles
 
El manifiesto y los principios ágiles
El manifiesto y los principios ágilesEl manifiesto y los principios ágiles
El manifiesto y los principios ágiles
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
Organización de Sistemas y MéTodos
Organización de Sistemas y MéTodosOrganización de Sistemas y MéTodos
Organización de Sistemas y MéTodos
 
Metodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareMetodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de software
 
Presentacion devops factory 2016_v1.0
Presentacion devops factory 2016_v1.0Presentacion devops factory 2016_v1.0
Presentacion devops factory 2016_v1.0
 
Introducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrumIntroducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrum
 
Fundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesFundamentos de las metodologías ágiles
Fundamentos de las metodologías ágiles
 
Seminario Scrum CLEFormacion
Seminario Scrum CLEFormacionSeminario Scrum CLEFormacion
Seminario Scrum CLEFormacion
 
CORETIC - SCRUM
CORETIC - SCRUMCORETIC - SCRUM
CORETIC - SCRUM
 

Similar a Metodologías agiles de desarrollo de software

Metodologiasagilesdegestionydesarrollodeproyectosdeti
MetodologiasagilesdegestionydesarrollodeproyectosdetiMetodologiasagilesdegestionydesarrollodeproyectosdeti
MetodologiasagilesdegestionydesarrollodeproyectosdetiClaudio Garrido
 
Pmi tour santa cruz tradicional vs agiles cb
Pmi tour santa cruz   tradicional vs agiles cbPmi tour santa cruz   tradicional vs agiles cb
Pmi tour santa cruz tradicional vs agiles cbCeciliaboggi
 
Metodos agiles de software
Metodos agiles de softwareMetodos agiles de software
Metodos agiles de softwareGeovani AG
 
presentacioncmmi.pdf
presentacioncmmi.pdfpresentacioncmmi.pdf
presentacioncmmi.pdfLuis Manotas
 
Gestión de proyectos informáticos
Gestión de proyectos informáticosGestión de proyectos informáticos
Gestión de proyectos informáticosbastian becerra
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadXKWDX
 
Aseguramiento control calidad-software
Aseguramiento control calidad-softwareAseguramiento control calidad-software
Aseguramiento control calidad-softwareCBISOE
 
Aseguramiento control calidad-software
Aseguramiento control calidad-softwareAseguramiento control calidad-software
Aseguramiento control calidad-softwareCBISOE
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del softwareDaniel Merchan
 
Presentación1 morales villanueva
Presentación1 morales villanuevaPresentación1 morales villanueva
Presentación1 morales villanuevaMariaEu79
 
Proceso de desarrollo de sofware
Proceso de desarrollo de sofwareProceso de desarrollo de sofware
Proceso de desarrollo de sofwareMcDonald's
 
Gestión de proyectos informáticos
Gestión de proyectos informáticos Gestión de proyectos informáticos
Gestión de proyectos informáticos bastian becerra
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwarealberto calatayu
 
Introducción a la Ingeniria del Software
Introducción a la Ingeniria del SoftwareIntroducción a la Ingeniria del Software
Introducción a la Ingeniria del SoftwareEdit Lopez Veloz
 

Similar a Metodologías agiles de desarrollo de software (20)

METODOLOGIAS.pptx
METODOLOGIAS.pptxMETODOLOGIAS.pptx
METODOLOGIAS.pptx
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Metodologiasagilesdegestionydesarrollodeproyectosdeti
MetodologiasagilesdegestionydesarrollodeproyectosdetiMetodologiasagilesdegestionydesarrollodeproyectosdeti
Metodologiasagilesdegestionydesarrollodeproyectosdeti
 
Cuestionario examen
Cuestionario examenCuestionario examen
Cuestionario examen
 
Metodologia de software
Metodologia de softwareMetodologia de software
Metodologia de software
 
Pmi tour santa cruz tradicional vs agiles cb
Pmi tour santa cruz   tradicional vs agiles cbPmi tour santa cruz   tradicional vs agiles cb
Pmi tour santa cruz tradicional vs agiles cb
 
Metodos agiles de software
Metodos agiles de softwareMetodos agiles de software
Metodos agiles de software
 
Presentacion cmmi
Presentacion cmmiPresentacion cmmi
Presentacion cmmi
 
presentacioncmmi.pdf
presentacioncmmi.pdfpresentacioncmmi.pdf
presentacioncmmi.pdf
 
Tp ciclos de vida
Tp   ciclos de vidaTp   ciclos de vida
Tp ciclos de vida
 
Gestión de proyectos informáticos
Gestión de proyectos informáticosGestión de proyectos informáticos
Gestión de proyectos informáticos
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
Aseguramiento control calidad-software
Aseguramiento control calidad-softwareAseguramiento control calidad-software
Aseguramiento control calidad-software
 
Aseguramiento control calidad-software
Aseguramiento control calidad-softwareAseguramiento control calidad-software
Aseguramiento control calidad-software
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del software
 
Presentación1 morales villanueva
Presentación1 morales villanuevaPresentación1 morales villanueva
Presentación1 morales villanueva
 
Proceso de desarrollo de sofware
Proceso de desarrollo de sofwareProceso de desarrollo de sofware
Proceso de desarrollo de sofware
 
Gestión de proyectos informáticos
Gestión de proyectos informáticos Gestión de proyectos informáticos
Gestión de proyectos informáticos
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del software
 
Introducción a la Ingeniria del Software
Introducción a la Ingeniria del SoftwareIntroducción a la Ingeniria del Software
Introducción a la Ingeniria del Software
 

Último

Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 

Último (20)

Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 

Metodologías agiles de desarrollo de software

  • 1. Metodologías ágiles de desarrollo de software Sesión 2 Metodologías Ágiles de Desarrollo de Software
 Domingo Gallardo, DCCIA, Univ. Alicante
  • 2. Índice Metodologías ágiles de desarrollo de software Metodologías Ágiles de Desarrollo de Software
 Domingo Gallardo, DCCIA, Univ. Alicante 2
  • 3. ¿Qué es el software? Metodologías Ágiles de Desarrollo de Software, 2013-14
 Domingo Gallardo, DCCIA, Universidad de Alicante
  • 4. Metáforas • La analogía es un proceso de pensamiento muy potente • Una metáfora establece una analogía entre algo que conocemos poco con algo similar que entendemos mejor • El uso de las metáforas está en la base del modelado • Metáforas sobre el desarrollo de software • • • Muchas y variadas Todas ellas tienen algo de verdad, resaltan un aspecto importante Ninguna es completa Metodologías Ágiles de Desarrollo de Software
 Domingo Gallardo, DCCIA, Univ. Alicante 4
  • 5. Metáforas para el desarrollo de software • • • • • • Software como escritura: código escrito y leído Software como cultivo: crecimiento orgánico Software como cultivo por acreción: niveles que esconden detalles Software como construcción: planificación y objetivos Software como sistema legal: relación entre componentes Software como película: proceso creativo de múltiples profesionales Metodologías Ágiles de Desarrollo de Software
 Domingo Gallardo, DCCIA, Univ. Alicante 5
  • 6. El software es único • El software, su desarrollo y su distribución es un invento único y totalmente nuevo en la historia de la humanidad • • • • • Flexible Modificable Reutilizable Publicable Desarrollo abierto y colaborativo Metodologías Ágiles de Desarrollo de Software
 Domingo Gallardo, DCCIA, Univ. Alicante 6
  • 7. Software como producto a entregar • Software en 1980 • • • Programas en mainframes con terminales Software en la actualidad • • • Cajas llenas de CDs que se distribuyen en tiendas Servicios en Internet, interconexión de estado, procesamiento Múltiples dispositivos con los que interactuan los usuarios Vídeo de Microsoft (2009)
 “What is Software + Services?”
 http://www.youtube.com/watch?v=EXS0BFS6QT4
 Metodologías Ágiles de Desarrollo de Software
 Domingo Gallardo, DCCIA, Univ. Alicante 7
  • 8. Software como producto a usar • El software es un producto único no sólo en su proceso de desarrollo, sino en su finalidad • • • El objetivo final del software es ser usado Para conseguir ese objetivo es necesario un gran trabajo de comunicación Mejora continua: Idea Evaluación Producto Metodologías Ágiles de Desarrollo de Software
 Domingo Gallardo, DCCIA, Univ. Alicante 8
  • 9. Calidad en el software • Nuestra responsabilidad como ingenieros e ingenieras es desarrollar software de calidad, mejorando los procesos de desarrollo y el resultado final • Software que no funciona: • Software que solo cumple parcialmente lo que necesita el usuario, con errores y omisiones • • • Software con el que el usuario se tiene que “pelear” Software lento, poco eficiente Software poco modificable, poco entendible, con deuda técnica Metodologías Ágiles de Desarrollo de Software
 Domingo Gallardo, DCCIA, Univ. Alicante 9
  • 10. Calidad del código: WTFs/minuto Robert C. Martin - Clean Code, 2008 Metodologías Ágiles de Desarrollo de Software
 10 Domingo Gallardo, DCCIA, Univ. Alicante
  • 11. Ejemplos de aplicaciones software Metodologías Ágiles de Desarrollo de Software
 11 Domingo Gallardo, DCCIA, Univ. Alicante
  • 12. Ejemplos de aplicaciones software Metodologías Ágiles de Desarrollo de Software
 12 Domingo Gallardo, DCCIA, Univ. Alicante
  • 13. Ejemplos de aplicaciones software Metodologías Ágiles de Desarrollo de Software
 13 Domingo Gallardo, DCCIA, Univ. Alicante
  • 14. Ejemplos de aplicaciones software Metodologías Ágiles de Desarrollo de Software
 14 Domingo Gallardo, DCCIA, Univ. Alicante
  • 15. ¿Qué es una metodología de desarrollo? Metodologías Ágiles de Desarrollo de Software, 2013-14
 Domingo Gallardo, DCCIA, Universidad de Alicante
  • 16. Metodologías de desarrollo Metodologías Ágiles de Desarrollo de Software
 16 Domingo Gallardo, DCCIA, Univ. Alicante
  • 17. Metodologías de desarrollo • Una metodología de desarrollo del software define • • • Pasos a seguir Roles y responsabilidades de los distintos actores que intervienen en el proceso Una metodología es más que un conjunto de reglas • • • Valores Principios Buenas Prácticas y herramientas Metodologías Ágiles de Desarrollo de Software
 17 Domingo Gallardo, DCCIA, Univ. Alicante
  • 18. Fases del desarrollo de un proyecto Metodologías Ágiles de Desarrollo de Software
 18 Domingo Gallardo, DCCIA, Univ. Alicante
  • 19. Ciclo de vida clásico de un proyecto software • • • • • • • • • • • Valoración inicial del proyecto Toma de requisitos Diseño Desarrollo de componentes Pruebas unitarias Integración Pruebas de integración Despliegue Pruebas de rendimiento y funcionales Lanzamiento Mantenimiento Metodologías Ágiles de Desarrollo de Software
 19 Domingo Gallardo, DCCIA, Univ. Alicante
  • 20. Modelo V de las fases de desarrollo Daich et. al - Software Test Technologies Report, 1994 Metodologías Ágiles de Desarrollo de Software
 20 Domingo Gallardo, DCCIA, Univ. Alicante
  • 21. El problema de los modelos clásicos • Confianza excesiva en las especificaciones iniciales • • Desarrollo monolítico • • Problemas con cambios y futuro mantenimiento Es imposible estimar más allá de 6 meses • • Software que no satisface las necesidades del usuario Proyectos que acumulan retrasos Exceso de documentación inútil • El objetivo final del desarrollo es software que funciona, no pilas de documentos con diagramas UML y descripciones de APIs internas Metodologías Ágiles de Desarrollo de Software
 21 Domingo Gallardo, DCCIA, Univ. Alicante
  • 22. Un chiste ¿o no? Historia del chiste Metodologías Ágiles de Desarrollo de Software
 22 Domingo Gallardo, DCCIA, Univ. Alicante
  • 23. La propuesta ágil Metodologías Ágiles de Desarrollo de Software
 23 Domingo Gallardo, DCCIA, Univ. Alicante
  • 24. Mejor Metodologías Ágiles de Desarrollo de Software
 24 Domingo Gallardo, DCCIA, Univ. Alicante
  • 25. Modelo en espiral Boehm - A Spiral Model of Software Development and Enhancement, 1988 Metodologías Ágiles de Desarrollo de Software
 25 Domingo Gallardo, DCCIA, Univ. Alicante
  • 26. Modelo en espiral • Sistema mínimo funcionando desde el principio • Cada interación añade un conjunto de funcionalidades (incremental) y, si es necesario, refina alguna de las ya existentes (evolutivo) • Al final de cada iteración en el modelo en espiral se obtenía un prototipo • Hoy las mejores prácticas, lenguajes, herramientas de desarrollo y entornos de despliegue hace posible obtener un sistema totalmente funcional Metodologías Ágiles de Desarrollo de Software
 26 Domingo Gallardo, DCCIA, Univ. Alicante
  • 27. Modelo en espiral Metodologías Ágiles de Desarrollo de Software
 27 Domingo Gallardo, DCCIA, Univ. Alicante
  • 28. ¿Qué es ágil? Metodologías Ágiles de Desarrollo de Software, 2013-14
 Domingo Gallardo, DCCIA, Universidad de Alicante
  • 29. Metodologías Ágiles de Desarrollo de Software
 29 Domingo Gallardo, DCCIA, Univ. Alicante
  • 30. El cambio es inevitable • Cambio durante la construcción del proyecto, el • • • Incertidumbres Modificaciones al ver los primeros resultados Cambio una vez terminado el proyecto • • Mantenimiento Modificaciones y ampliaciones debidos a cambios en el proceso de negocio Metodologías Ágiles de Desarrollo de Software
 30 Domingo Gallardo, DCCIA, Univ. Alicante
  • 31. La realidad de los desarrollos Metodologías Ágiles de Desarrollo de Software
 31 Domingo Gallardo, DCCIA, Univ. Alicante
  • 32. La realidad de los desarrollos • Lo que nos gustaría • • • • • Los clientes saben lo que quieren El equipo sabe cómo construirlo Nada cambiará en el camino Tenemos mucho tiempo y dinero para hacerlo La realidad • • • • Los clientes descubren lo que necesitan Los desarrolladores descubren cómo hacerlo Muchas cosas cambian en el camino Siempre hay más cosas qué hacer que 
 tiempo y dinero disponible Metodologías Ágiles de Desarrollo de Software
 32 Domingo Gallardo, DCCIA, Univ. Alicante
  • 33. Qué no hacer Metodologías Ágiles de Desarrollo de Software
 33 Domingo Gallardo, DCCIA, Univ. Alicante
  • 34. Abrazar el cambio Metodologías Ágiles de Desarrollo de Software
 34 Domingo Gallardo, DCCIA, Univ. Alicante
  • 35. Abrazar el cambio • Una de las características principales del software es su flexibilidad • Los procesos, herramientas y plataformas deben aceptar sin tensiones el cambio • • Por ejemplo, no es asumible que añadir nuevos campos a un modelo obligue a revisar y modificar las consultas SQL desarrolladas El desarrollo debe ser robusto frente a futuros cambios • Importancia de las pruebas de regresión Metodologías Ágiles de Desarrollo de Software
 35 Domingo Gallardo, DCCIA, Univ. Alicante
  • 36. Desarrollo incremental • En todas las metodologías ágiles se apuesta por un desarrollo en iteraciones cortas • Al final de cada iteración corta debe haberse avanzado en el desarrollo del producto software y deben existir una conjunto de características (features) adicionales que antes no existían y que se integran correctamente con las existentes previamente. • Un modelo ágil de desarrollo de software debe permitir la integración rápida de las nuevas características en el producto software existente. Metodologías Ágiles de Desarrollo de Software
 36 Domingo Gallardo, DCCIA, Univ. Alicante
  • 37. Algunos principios ágiles • • Satisfacer al cliente mediante la entrega rápida de software útil • La simplicidad es esencial: el arte de maximizar la cantidad de trabajo no hecha • Las iteraciones cortas entregan valor al cliente y permiten obtener la retroalimentación (feedback) para el equipo Se entrega frecuentemente software que funciona (semanas en lugar de meses) Desarollo Feedback Prueba Metodologías Ágiles de Desarrollo de Software
 37 Domingo Gallardo, DCCIA, Univ. Alicante
  • 38. Cómo cortar en rodajas un elefante http://blog.crisp.se/2013/07/25/henrikkniberg/elephant-carpaccio-facilitation-guide Metodologías Ágiles de Desarrollo de Software
 38 Domingo Gallardo, DCCIA, Univ. Alicante
  • 39. Producto mínimo viable http://www.startuplessonslearned.com/2009/08/minimum-viable-product-guide.html Metodologías Ágiles de Desarrollo de Software
 39 Domingo Gallardo, DCCIA, Univ. Alicante
  • 40. Producto mínimo viable • MVP (Minimum Viable Product) • • • Idea para construir sturtups aplicable al desarrollo de software Hacer primero lo que más incertidumbre genera Mejoras incrementales: • • • Conseguir futuras iteraciones cada vez más parecidas Velocidad constante Mejores estimaciones Metodologías Ágiles de Desarrollo de Software
 40 Domingo Gallardo, DCCIA, Univ. Alicante
  • 41. Continuous delivery ! • Movimiento DevOps • • • Integra la agilidad en el desarrollo (Development) y la puesta en producción (Operations) Origen de las prácticas de entrega continua (continuous delivery) Entrega continua • • • • Integrar automáticamente Desplegar automáticamente a entornos de prueba Probar automáticamente Desplegar a producción automáticamente Metodologías Ágiles de Desarrollo de Software
 41 Domingo Gallardo, DCCIA, Univ. Alicante
  • 42. Principios de la entrega continua 1. Crear un proceso de lanzamiento (release) de software repetible y fiable 2. Automatizar todo lo que sea posible 3. Mantener todo bajo el control de versiones 4. Si duele, hacerlo con más frecuencia 5. Introducir calidad en el sistema 6. Hecho significa lanzado 7. Todo el mundo es responsable del proceso de entrega 8. Mejora continua Metodologías Ágiles de Desarrollo de Software
 42 Domingo Gallardo, DCCIA, Univ. Alicante
  • 43. Tubería de despliegue Dave Farley - Continuous Delivery at LMAX, 2012 Metodologías Ágiles de Desarrollo de Software
 43 Domingo Gallardo, DCCIA, Univ. Alicante
  • 44. Herramientas y plataformas ágiles • Desarrollo • • • • • Sistemas de construcción: Maven Sistemas de control de versiones: Git / GitHub, Mercurial / Bitbucket Herramientas de prueba: JUnit, Selenium, Sonar Sistemas de integración continua: Hudson Despliegue • • Sistemas virtuales: VirtualBox, Vagrant Sistemas en la nube (Paas, Platform As A Service): Heroku, OpenShift Metodologías Ágiles de Desarrollo de Software
 44 Domingo Gallardo, DCCIA, Univ. Alicante
  • 45. Resumen: métodos ágiles vs. cascada Ágil Cascada © Henrik Kniberg Metodologías Ágiles de Desarrollo de Software
 45 Domingo Gallardo, DCCIA, Univ. Alicante
  • 46. Una nota final para emprendedores Metodologías Ágiles de Desarrollo de Software, 2013-14
 Domingo Gallardo, DCCIA, Universidad de Alicante
  • 47. Aquí se hace software Metodologías Ágiles de Desarrollo de Software
 47 Domingo Gallardo, DCCIA, Univ. Alicante
  • 48. Vídeo: “A day in The Cocktail” Metodologías Ágiles de Desarrollo de Software
 48 Domingo Gallardo, DCCIA, Univ. Alicante
  • 49. Lecturas • Martin Fowler, The New Methodology (2005) Metodologías Ágiles de Desarrollo de Software
 49 Domingo Gallardo, DCCIA, Univ. Alicante