SlideShare una empresa de Scribd logo
1 de 7
METODOLOGÍAS ÁGILES
En febrero de 2001, tras una reunión celebrada en Utah-EEUU, nace el término
“ágil” aplicado al desarrollo de software. En esta reunión participan un grupo de
17 expertos de la industria del software, incluyendo algunos de los creadores o
impulsores de metodologías de software. Su objetivo fue esbozar los valores y
principios que deberían permitir a los equipos desarrollar software rápidamente
y respondiendo a los cambios que puedan surgir a lo largo del proyecto.
Se pretendía ofrecer una alternativa a los procesos de desarrollo de software
tradicionales, caracterizados por ser rígidos y dirigidos por la documentación
que se genera en cada una de las actividades desarrolladas.
Tras esta reunión se creó The Agile Alliance3
, una organización, sin ánimo de lucro, dedicada a promover los conceptos
relacionados con el desarrollo ágil de software y ayudar a las organizaciones
para que adopten dichos conceptos. El punto de partida es fue el Manifiesto
Ágil, un documento que resume la filosofía “ágil”
Las metodologías ágiles de desarrollo de software son imprescindibles en un
mundo en el que las cosas cambian a velocidad de vértigo. Los programadores
vivimos preocupados sobre cuáles son las últimas tendencias, que lenguajes o
prácticas quedan obsoletos y con la constante espada de Damocles de pensar
que lo que estamos desarrollando hoy quizás no sirva para nada mañana.
El mundo del desarrollo, para bien o para mal, ha evolucionado desde un
modelo en el que se planificaban y estructuraban minuciosamente todas las
fases a un modelo en el que el desarrollo debe ser lo más rápido y eficiente
posible. Personalmente soy un gran fan de los metodologías ágiles de
desarrollo de software, cutos principios están enunciados en este manifiesto.
Estas son los métodos de desarrollo ágil de páginas que dominan el
panorama a día de hoy:
 SCRUM
Scrum es una metodología ágil fantástica para desarrolladores. Consiste en un
modelo de asignación de tareas diarias basado en reuniones rápidas y control
de la evolución de los procesos. Es muy bueno para llevar un seguimiento de
las tareas que se están llevando a cabo y saber en que puntos se ha atascado
el equipo. Además la profundidad de las tareas que se asignan
en SCRUM tiende a ser incremental, y esto coincide exactamente con el
devenir normal de un desarrollo.
Es genial para empresas de desarrollo de software orientadas a varios clientes.
Los actores que intervienen en esta metodología son:
• Propietarios del producto
• Usuarios del producto
• Scrum master
• Equipo de scrum.
Crystal Methodologies
Se trata de un conjunto de metodologías para el desarrollo de software
caracterizadas por estar centradas en las personas que componen el equipo y
la reducción al máximo del número de artefactos producidos. Han sido
desarrolladas por Alistair
Cockburn. El desarrollo de software se considera un juego cooperativo de
invención ycomunicación, limitado por los recursos a utilizar. El equipo de
desarrollo es un factor clave, por lo que se deben invertir esfuerzos en mejorar
sus habilidades y destrezas, así como tener políticas de trabajo en equipo
definidas. Estas políticas dependerán del tamaño del equipo, estableciéndose
una clasificación por colores, por ejemplo Crystal Clear (3 a 8 miembros) y
Crystal Orange (25 a 50 miembros).
Dynamic Systems Development Method
(DSDM) [17]. Define el Marco para desarrollar un proceso de producción de
software. Nace en 1994 con el objetivo de crear una metodología RAD
unificada. Sus principales características son: es un proceso iterativo e
incremental y el equipo de desarrollo y el usuario trabajan juntos. Propone
cinco fases: estudio viabilidad, estudio del negocio, modelado funcional, diseño
y construcción, y finalmente implementación. Las tres últimas son iterativas,
además de existir realimentación a todas las fases.
Adaptive Software Development
(ASD) [9]. Su impulsor es Jim Highsmith. Sus principales características son:
iterativo, orientado a los componentes software más que a las tareas y
tolerante a los cambios. El ciclo de vida que propone tiene tres fases
esenciales: especulación, colaboración y aprendizaje. En la primera de ellas se
inicia el proyecto y se planifican las características del software; en la segunda
desarrollan las características y finalmente en la tercera se revisa su calidad, y
se entrega al cliente. La revisión de los componentes sirve para aprender de
los errores y volver a iniciar el ciclo de desarrollo.
Feature -Driven Development
(FDD) [3]. Define un proceso iterativo que consta de 5 pasos.
Las iteraciones son cortas (hasta 2 semanas). Se centra en las fases de diseño
e implementación del sistema partiendo de una lista de características que
debe reunir el software. Sus impulsores son Jeff De Luca y Peter Coad.
XP o Xtream Programming
Programación Extrema es un método ágil que se suele utilizar en equipos con
muy pocos programadores que tienen muy pocos procesos abiertos al mismo
tiempo. Consiste principalmente en diseñar, implementar, programar e
implantar lo más rápido posible en equipos de programadores muy pequeños,
principalmente parejas, saltándose la documentación y los procedimientos
tradicionales. Se fundamente en la capacidad del equipo para comunicarse
entre sí y las ganas de aprender de los errores propios inherentes en un
programador. La gran ventaja que tiene este sistema es la increíble capacidad
de respuesta del equipo ante imprevistos, aunque es una metodología para la
que es difícil documentar.
XP es un método estupendo para equipos extremadamente pequeños que se
centran en un solo cliente.
El proceso de desarrollo en XP se puede resumir como:
Mientras (sistema_es_útil) {
Captar requisitos
User Stories
Methaphor
Planificar
Release planning
Iteration planning
Desarrollar
Programming
Presentar la entrega
Releasing
}
Puntos clave: el juego de planificación, entregas cortas, diseños simples,
refactorización. La gran foto
XP es una metodología muy utilizada pero como todo tiene también sus
puntos
Débiles. Entre ellos que pocos son los que utilizan la metodología completa.
A continuación se muestran y se explican las prácticas que componen a la
Programación Extrema.
XP no es sólo tirar líneas de código fuente
Desarrollo Lean
Lean Software Development, también conocido como Lean Programming es
un conjunto de técnicas que engloban una metodología de desarrollo ágil de
software orientado a conseguir exactamente lo que necesita el cliente. Es una
evolución del Método Toyota de Producción aplicado al desarrollo y que
está muy de moda entre los equipos de desarrollo en startups. Principalmente
consiste en ciclos de evolución de software incrementales en los que se
postponen las decisiones lo más posible hasta haber obtenido un feedback del
cliente y así reaccionar lo más rápido y eficazmente posible a sus necesidades.
Se fundamenta en tener un equipo potente y comprometido y el principio de
aprendizaje continuo sobre el producto.
El Desarrollo Lean una metodología fantástica para startups que están
desarrollando un software orientado a tener éxito en el mercado, como
desarrolladores de videojuegos o apps para móviles.
Método Tradicional vs Ágil
http://danielgrifol.es/metodologias-agiles-de-desarrollo-de-software
http://issi.dsic.upv.es/archives/f-1069167248521/actas.pdf
https://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=15&ved=0CHQQFjA
O&url=http%3A%2F%2Fdsc.itmorelia.edu.mx%2F~jcolivares%2Fdocuments%2Fsoftagile.ppt&e
i=GysVVMLDEIOjigL-
_oDQBg&usg=AFQjCNEyy4p8YIDNMeWLnZ6fqxVe7enQXQ&bvm=bv.75097201,d.cGE&cad=rja

Más contenido relacionado

La actualidad más candente

Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrollo
Hermes Romero
 
Desarrollo ágil de software
Desarrollo ágil de softwareDesarrollo ágil de software
Desarrollo ágil de software
Al Ex
 
Metodos agiles de software
Metodos agiles de softwareMetodos agiles de software
Metodos agiles de software
Geovani AG
 
Presentacion ASD GSI
Presentacion ASD GSIPresentacion ASD GSI
Presentacion ASD GSI
Alex Torres
 
Metodologiasagilesarquitectura
MetodologiasagilesarquitecturaMetodologiasagilesarquitectura
Metodologiasagilesarquitectura
roisbelfigueroa
 
Díme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarDíme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usar
Kiberley Santos
 
Procesos agiles de desarrollo de software
Procesos agiles de desarrollo de softwareProcesos agiles de desarrollo de software
Procesos agiles de desarrollo de software
Jose Risso
 

La actualidad más candente (20)

Exponer mañana
Exponer mañanaExponer mañana
Exponer mañana
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
 
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
 
Trabajo nº2 ing sw
Trabajo nº2   ing swTrabajo nº2   ing sw
Trabajo nº2 ing sw
 
Metodologias de gestion_de_proyectos_de_desarrollo_de_software-convertido
Metodologias de gestion_de_proyectos_de_desarrollo_de_software-convertidoMetodologias de gestion_de_proyectos_de_desarrollo_de_software-convertido
Metodologias de gestion_de_proyectos_de_desarrollo_de_software-convertido
 
Desarrollo ágil de software
Desarrollo ágil de softwareDesarrollo ágil de software
Desarrollo ágil de software
 
Desarrollo Agil de Software
Desarrollo Agil de SoftwareDesarrollo Agil de Software
Desarrollo Agil de Software
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
 
Metodologiasagiles
MetodologiasagilesMetodologiasagiles
Metodologiasagiles
 
Metodologías agiles
Metodologías agilesMetodologías agiles
Metodologías agiles
 
Metodos agiles de software
Metodos agiles de softwareMetodos agiles de software
Metodos agiles de software
 
Metodologia scrum
Metodologia scrumMetodologia scrum
Metodologia scrum
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
 
Presentacion ASD GSI
Presentacion ASD GSIPresentacion ASD GSI
Presentacion ASD GSI
 
Metodologiasagilesarquitectura
MetodologiasagilesarquitecturaMetodologiasagilesarquitectura
Metodologiasagilesarquitectura
 
Guia
GuiaGuia
Guia
 
Díme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarDíme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usar
 
Procesos agiles de desarrollo de software
Procesos agiles de desarrollo de softwareProcesos agiles de desarrollo de software
Procesos agiles de desarrollo de software
 
El proceso del software
El proceso del softwareEl proceso del software
El proceso del software
 

Destacado (7)

3.desarrollo ágil
3.desarrollo ágil3.desarrollo ágil
3.desarrollo ágil
 
Arquitectura de Software en el Ciclo de Vida Ágil
Arquitectura de Software en el Ciclo de Vida ÁgilArquitectura de Software en el Ciclo de Vida Ágil
Arquitectura de Software en el Ciclo de Vida Ágil
 
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
 
MetodologíAs Y Ciclos De Vida
MetodologíAs Y Ciclos De VidaMetodologíAs Y Ciclos De Vida
MetodologíAs Y Ciclos De Vida
 
Metodologías Ágiles - Scrum y XP
Metodologías Ágiles - Scrum y XPMetodologías Ágiles - Scrum y XP
Metodologías Ágiles - Scrum y XP
 
4. Desarrollo ágil de software
4. Desarrollo ágil de software4. Desarrollo ágil de software
4. Desarrollo ágil de software
 
Produccion y desarrollo de un videojuego
Produccion y desarrollo de un videojuegoProduccion y desarrollo de un videojuego
Produccion y desarrollo de un videojuego
 

Similar a Metodologías ágiles

La programación extrema o e xtreme programming
La programación extrema o e xtreme programmingLa programación extrema o e xtreme programming
La programación extrema o e xtreme programming
JoseMariaAndujar
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
Sergio Sanchez
 
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
Walter Ariel Risi
 
Metodologías ágiles en el desarrollo de software
Metodologías ágiles en el desarrollo de softwareMetodologías ágiles en el desarrollo de software
Metodologías ágiles en el desarrollo de software
princeos
 

Similar a Metodologías ágiles (20)

Metodologia
MetodologiaMetodologia
Metodologia
 
La programación extrema o e xtreme programming
La programación extrema o e xtreme programmingLa programación extrema o e xtreme programming
La programación extrema o e xtreme programming
 
Metodologías Ágiles
Metodologías ÁgilesMetodologías Ágiles
Metodologías Ágiles
 
Metodologias de gestion de proyestos de desarrollo de software
Metodologias de gestion de proyestos de desarrollo de softwareMetodologias de gestion de proyestos de desarrollo de software
Metodologias de gestion de proyestos de desarrollo de software
 
AIS -Software.pdf
AIS -Software.pdfAIS -Software.pdf
AIS -Software.pdf
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
 
Programacion agil
Programacion agilProgramacion agil
Programacion agil
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
metodologia_agil
metodologia_agilmetodologia_agil
metodologia_agil
 
Desarrollo de Software Modelos Ágiles
Desarrollo de Software Modelos ÁgilesDesarrollo de Software Modelos Ágiles
Desarrollo de Software Modelos Ágiles
 
Metodologiasagiles
MetodologiasagilesMetodologiasagiles
Metodologiasagiles
 
Metodologías de Desarrollo de Software Jr
 Metodologías de Desarrollo de Software Jr Metodologías de Desarrollo de Software Jr
Metodologías de Desarrollo de Software Jr
 
Metodologías ágiles de desarrollo de software
Metodologías ágiles de desarrollo de softwareMetodologías ágiles de desarrollo de software
Metodologías ágiles de desarrollo de software
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Diapositivas 162
Diapositivas 162Diapositivas 162
Diapositivas 162
 
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
 
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.ppt
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.pptSEMANA 14 METODOS ÁGILES DE INNOVACIÓN.ppt
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.ppt
 
Todo agilok
Todo agilokTodo agilok
Todo agilok
 
Articulo agiles metodos
Articulo agiles metodosArticulo agiles metodos
Articulo agiles metodos
 
Metodologías ágiles en el desarrollo de software
Metodologías ágiles en el desarrollo de softwareMetodologías ágiles en el desarrollo de software
Metodologías ágiles en el desarrollo de software
 

Más de EIYSC (20)

Appserv
AppservAppserv
Appserv
 
Qué es own cloud
Qué es own cloudQué es own cloud
Qué es own cloud
 
Prot.comunicación ej.
Prot.comunicación ej.Prot.comunicación ej.
Prot.comunicación ej.
 
Denegación de servicio
Denegación de servicio Denegación de servicio
Denegación de servicio
 
Pfsense
PfsensePfsense
Pfsense
 
¿Qué es un firewall ?
¿Qué es un firewall ?¿Qué es un firewall ?
¿Qué es un firewall ?
 
Cifrado cesar
Cifrado cesarCifrado cesar
Cifrado cesar
 
Estructura del modelo osi de iso
Estructura del modelo osi de isoEstructura del modelo osi de iso
Estructura del modelo osi de iso
 
Dhcp
DhcpDhcp
Dhcp
 
Miembros de una vlan
Miembros de una vlanMiembros de una vlan
Miembros de una vlan
 
Ejemplos de simplex
Ejemplos de simplexEjemplos de simplex
Ejemplos de simplex
 
Configurar rip
Configurar ripConfigurar rip
Configurar rip
 
Protocolo rip
Protocolo ripProtocolo rip
Protocolo rip
 
Funcionalidad rip
Funcionalidad ripFuncionalidad rip
Funcionalidad rip
 
Monografia redes
Monografia redesMonografia redes
Monografia redes
 
Música.docx
Música.docxMúsica.docx
Música.docx
 
Proyecto ciencias y diseño grafico
Proyecto ciencias y diseño graficoProyecto ciencias y diseño grafico
Proyecto ciencias y diseño grafico
 
Proyecto final
Proyecto final Proyecto final
Proyecto final
 
Caso de uso de caja negra
Caso de uso de caja negraCaso de uso de caja negra
Caso de uso de caja negra
 
Conceptos de calidad
Conceptos de calidadConceptos de calidad
Conceptos de calidad
 

Último

04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
CristhianZetaNima
 

Último (20)

ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdf
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitales
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias locales
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 

Metodologías ágiles

  • 1. METODOLOGÍAS ÁGILES En febrero de 2001, tras una reunión celebrada en Utah-EEUU, nace el término “ágil” aplicado al desarrollo de software. En esta reunión participan un grupo de 17 expertos de la industria del software, incluyendo algunos de los creadores o impulsores de metodologías de software. Su objetivo fue esbozar los valores y principios que deberían permitir a los equipos desarrollar software rápidamente y respondiendo a los cambios que puedan surgir a lo largo del proyecto. Se pretendía ofrecer una alternativa a los procesos de desarrollo de software tradicionales, caracterizados por ser rígidos y dirigidos por la documentación que se genera en cada una de las actividades desarrolladas. Tras esta reunión se creó The Agile Alliance3 , una organización, sin ánimo de lucro, dedicada a promover los conceptos relacionados con el desarrollo ágil de software y ayudar a las organizaciones para que adopten dichos conceptos. El punto de partida es fue el Manifiesto Ágil, un documento que resume la filosofía “ágil” Las metodologías ágiles de desarrollo de software son imprescindibles en un mundo en el que las cosas cambian a velocidad de vértigo. Los programadores vivimos preocupados sobre cuáles son las últimas tendencias, que lenguajes o prácticas quedan obsoletos y con la constante espada de Damocles de pensar que lo que estamos desarrollando hoy quizás no sirva para nada mañana. El mundo del desarrollo, para bien o para mal, ha evolucionado desde un modelo en el que se planificaban y estructuraban minuciosamente todas las fases a un modelo en el que el desarrollo debe ser lo más rápido y eficiente posible. Personalmente soy un gran fan de los metodologías ágiles de desarrollo de software, cutos principios están enunciados en este manifiesto.
  • 2. Estas son los métodos de desarrollo ágil de páginas que dominan el panorama a día de hoy:  SCRUM Scrum es una metodología ágil fantástica para desarrolladores. Consiste en un modelo de asignación de tareas diarias basado en reuniones rápidas y control de la evolución de los procesos. Es muy bueno para llevar un seguimiento de las tareas que se están llevando a cabo y saber en que puntos se ha atascado el equipo. Además la profundidad de las tareas que se asignan en SCRUM tiende a ser incremental, y esto coincide exactamente con el devenir normal de un desarrollo. Es genial para empresas de desarrollo de software orientadas a varios clientes. Los actores que intervienen en esta metodología son: • Propietarios del producto • Usuarios del producto • Scrum master • Equipo de scrum. Crystal Methodologies Se trata de un conjunto de metodologías para el desarrollo de software caracterizadas por estar centradas en las personas que componen el equipo y
  • 3. la reducción al máximo del número de artefactos producidos. Han sido desarrolladas por Alistair Cockburn. El desarrollo de software se considera un juego cooperativo de invención ycomunicación, limitado por los recursos a utilizar. El equipo de desarrollo es un factor clave, por lo que se deben invertir esfuerzos en mejorar sus habilidades y destrezas, así como tener políticas de trabajo en equipo definidas. Estas políticas dependerán del tamaño del equipo, estableciéndose una clasificación por colores, por ejemplo Crystal Clear (3 a 8 miembros) y Crystal Orange (25 a 50 miembros). Dynamic Systems Development Method (DSDM) [17]. Define el Marco para desarrollar un proceso de producción de software. Nace en 1994 con el objetivo de crear una metodología RAD unificada. Sus principales características son: es un proceso iterativo e incremental y el equipo de desarrollo y el usuario trabajan juntos. Propone cinco fases: estudio viabilidad, estudio del negocio, modelado funcional, diseño y construcción, y finalmente implementación. Las tres últimas son iterativas, además de existir realimentación a todas las fases.
  • 4. Adaptive Software Development (ASD) [9]. Su impulsor es Jim Highsmith. Sus principales características son: iterativo, orientado a los componentes software más que a las tareas y tolerante a los cambios. El ciclo de vida que propone tiene tres fases esenciales: especulación, colaboración y aprendizaje. En la primera de ellas se inicia el proyecto y se planifican las características del software; en la segunda desarrollan las características y finalmente en la tercera se revisa su calidad, y se entrega al cliente. La revisión de los componentes sirve para aprender de los errores y volver a iniciar el ciclo de desarrollo. Feature -Driven Development (FDD) [3]. Define un proceso iterativo que consta de 5 pasos. Las iteraciones son cortas (hasta 2 semanas). Se centra en las fases de diseño e implementación del sistema partiendo de una lista de características que debe reunir el software. Sus impulsores son Jeff De Luca y Peter Coad. XP o Xtream Programming Programación Extrema es un método ágil que se suele utilizar en equipos con muy pocos programadores que tienen muy pocos procesos abiertos al mismo tiempo. Consiste principalmente en diseñar, implementar, programar e implantar lo más rápido posible en equipos de programadores muy pequeños, principalmente parejas, saltándose la documentación y los procedimientos tradicionales. Se fundamente en la capacidad del equipo para comunicarse entre sí y las ganas de aprender de los errores propios inherentes en un programador. La gran ventaja que tiene este sistema es la increíble capacidad de respuesta del equipo ante imprevistos, aunque es una metodología para la que es difícil documentar. XP es un método estupendo para equipos extremadamente pequeños que se centran en un solo cliente. El proceso de desarrollo en XP se puede resumir como: Mientras (sistema_es_útil) { Captar requisitos
  • 5. User Stories Methaphor Planificar Release planning Iteration planning Desarrollar Programming Presentar la entrega Releasing } Puntos clave: el juego de planificación, entregas cortas, diseños simples, refactorización. La gran foto XP es una metodología muy utilizada pero como todo tiene también sus puntos Débiles. Entre ellos que pocos son los que utilizan la metodología completa. A continuación se muestran y se explican las prácticas que componen a la Programación Extrema. XP no es sólo tirar líneas de código fuente
  • 6. Desarrollo Lean Lean Software Development, también conocido como Lean Programming es un conjunto de técnicas que engloban una metodología de desarrollo ágil de software orientado a conseguir exactamente lo que necesita el cliente. Es una evolución del Método Toyota de Producción aplicado al desarrollo y que está muy de moda entre los equipos de desarrollo en startups. Principalmente consiste en ciclos de evolución de software incrementales en los que se postponen las decisiones lo más posible hasta haber obtenido un feedback del cliente y así reaccionar lo más rápido y eficazmente posible a sus necesidades. Se fundamenta en tener un equipo potente y comprometido y el principio de aprendizaje continuo sobre el producto. El Desarrollo Lean una metodología fantástica para startups que están desarrollando un software orientado a tener éxito en el mercado, como desarrolladores de videojuegos o apps para móviles. Método Tradicional vs Ágil