SlideShare a Scribd company logo
1 of 37
Download to read offline
AGILE
Una introducción a la agilidad en el desarrollo
de software
#PHPBsAs
meetupphpbsas.github.io
Andrés Lozada Mosto
@alfathenus
www.pixelcode.com.ar
#PHPBsAs
meetupphpbsas.github.io
Conceptos iniciales
Qué es agile
Manifiesto ágil
Principios ágiles
Historia de agile
#PHPBsAs
meetupphpbsas.github.io
#PHPBsAs
meetupphpbsas.github.io
Qué es Agile
#PHPBsAs
meetupphpbsas.github.io
Las metodologías ágiles son una alternativa al manejo tradicional de proyectos. En los
proyectos ágiles el resultado se obtiene por medio de un proceso incremental e iterativo
en donde los cambios son bienvenidos y cada iteración tiene como finalidad agregar valor
verdadero al producto. La mejora continua es un punto fundamental.
La palabra ágil deriva del manifiesto ágil (http://agilemanifesto.org)
Agile Manifesto
#PHPBsAs
meetupphpbsas.github.io
Estamos descubriendo formas mejores de desarrollar
software tanto por nuestra propia experiencia como
ayudando a terceros. A través de este trabajo hemos
aprendido a valorar:
Individuos e interacciones sobre Procesos y herramientas
Software funcionando sobre Documentación extensiva
Colaboración con el cliente sobre Negociación contractual
Respuesta ante el cambio sobre Seguir un plan
Esto es, aunque valoramos los elementos de la derecha,
valoramos más los de la izquierda.
Principios ágiles
#PHPBsAs
meetupphpbsas.github.io
Nuestra mayor prioridad es
satisfacer al cliente mediante
la entrega temprana y
continua de software
con valor.
Aceptamos que los requisitos
cambien, incluso en etapas
tardías del desarrollo. Los
procesos Ágiles aprovechan
el cambio para proporcionar
ventaja competitiva al
cliente.
Entregamos software funcional
frecuentemente, entre dos
semanas y dos meses, con
preferencia al periodo de
tiempo más corto posible.
Los responsables de negocio
y los desarrolladores
trabajamos juntos de forma
cotidiana durante todo
el proyecto.
Los proyectos se desarrollan
en torno a individuos
motivados. Hay que darles el
entorno y el apoyo que
necesitan, y confiarles la
ejecución del trabajo.
El método más eficiente y
efectivo de comunicar
información al equipo de
desarrollo y entre sus
miembros es la conversación
cara a cara.
Principios ágiles (cont)
#PHPBsAs
meetupphpbsas.github.io
El software funcionando
es la medida principal de
progreso.
Los procesos Ágiles
promueven el desarrollo
sostenible. Los promotores,
desarrolladores y usuarios
debemos ser capaces de
mantener un ritmo constante
de forma indefinida.
La atención continua a la
excelencia técnica y al
buen diseño mejora la
Agilidad.
La simplicidad, o el arte de
maximizar la cantidad de
trabajo no realizado, es
esencial.
Las mejores arquitecturas,
requisitos y diseños
emergen de equipos auto-
organizados.
A intervalos regulares el equipo
reflexiona sobre
cómo ser más efectivo para a
continuación ajustar y
perfeccionar su comportamiento
en consecuencia.
Historia de Agile
#PHPBsAs
meetupphpbsas.github.io
Agile vs Tradicional
Definiciones
Proceso de incremento de producto
Triple restricción
Agile software development
#PHPBsAs
meetupphpbsas.github.io
#PHPBsAs
meetupphpbsas.github.io
Metodologías tradicionales (no ágiles)
Las metodologías no ágiles son aquellas que están guiadas por una fuerte planificación durante todo el proceso
de desarrollo; llamadas también metodologías tradicionales o clásicas, donde se realiza una intensa etapa de
análisis y diseño antes de la construcción del sistema.
Metodologías ágiles
Un proceso es ágil cuando el desarrollo de software es incremental (entregas pequeñas de software, con
ciclos rápidos), cooperativo (cliente y desarrolladores trabajan juntos constantemente con una cercana
comunicación), sencillo (el método en sí mismo es fácil de aprender y modificar, bien documentado), y
adaptable (permite realizar cambios de último momento)
#PHPBsAs
meetupphpbsas.github.io
Definiciones
#PHPBsAs
meetupphpbsas.github.io
Proceso de incremento de producto
#PHPBsAs
meetupphpbsas.github.io
#PHPBsAs
meetupphpbsas.github.io
Triple restricción
Agile Software Development
#PHPBsAs
meetupphpbsas.github.io
“Agile Development” is an umbrella term for several iterative and incremental software
development methodologies. The most popular agile methodologies include Extreme
Programming (XP), Scrum, Crystal, Dynamic Systems Development Method (DSDM), Lean
Development, and Feature-Driven Development (FDD).
While each of the agile methodologies is unique in its specific approach, they all share a common
vision and core values (see the Agile Manifesto). They all fundamentally incorporate iteration and
the continuous feedback that it provides to successively refine and deliver a software system.
They all involve continuous planning, continuous testing, continuous integration, and other forms
of continuous evolution of both the project and the software. They are all lightweight, especially
compared to traditional waterfall-style processes, and inherently adaptable. What is more
important about agile methods is that they all focus on empowering people to collaborate and
make decisions together quickly and effectively.
Fuente: https://www.versionone.com/agile-101/
Ventajas & desventajas
#PHPBsAs
meetupphpbsas.github.io
Ventajas de Agile
#PHPBsAs
meetupphpbsas.github.io
Rápida respuesta a cambios de requisitos a lo largo del desarrollo.
Entrega continua y en plazos cortos de software funcional.
Trabajo conjunto entre el cliente y el equipo de desarrollo.
Minimiza los costos frente a cambios.
Importancia de la simplicidad, al eliminar el trabajo innecesario.
Atención continua a la excelencia técnica y al buen diseño.
Mejora continua de los procesos y el equipo de desarrollo.
Evita malentendidos de requerimientos entre el cliente y el equipo.
El equipo de desarrollo no malgasta el tiempo y dinero del cliente desarrollando soluciones
innecesariamente generales y complejas que en realidad no son un requisito del cliente.
Cada componente del producto final ha sido probado y satisface los requerimientos.
Desventajas de Agile
#PHPBsAs
meetupphpbsas.github.io
Falta de documentación del diseño. El código no puede tomarse como una documentación.
Problemas derivados de la comunicación oral.
Falta de calidad. Probar el código de forma constante no genera productos de calidad, sólo revela falta de
análisis y diseño.
Fuerte dependencia de las personas.
Falta de procesos de revisión del código.
Falta de reusabilidad. La falta de documentación hacen difícil que pueda reutilizarse el código ágil.
Sobre-costos y retrasos derivados de la refactorización continua.
Rigidez. Algunos métodos ágiles son muy rígidos.
Cambios. Los modelos de datos son “pesados” y no pueden cambiarse así como así solo porque el cliente
que irá incorporar más funciones al sistema.
Problemas derivados del fracaso de los proyectos ágiles. Si un proyecto ágil fracasa no hay documentación o
hay muy poca; lo mismo ocurre con el diseño. La comprensión del sistema se queda en las mentes de los
desarrolladores.
Métodos ágiles
#PHPBsAs
meetupphpbsas.github.io
#PHPBsAs
meetupphpbsas.github.io
#PHPBsAs
meetupphpbsas.github.io
Agile - No Agile
Qué no es Agile
Qué es Agile
#PHPBsAs
meetupphpbsas.github.io
Qué no es Agile
#PHPBsAs
meetupphpbsas.github.io
Agile no es un Framework
Agile no es Scrum o Kanban o XP o (whatever). Estos recomiendan un conjunto
estandarizado de conceptos, prácticas y criterios para resolver un problema en particular
que adhieren a la filosofía Agile.
Agile no es una Metodología
Agile no define una secuencia de pasos y tareas para lograr los objetivos buscados.
Agile no es goal/objetivo
No existe el “Ahora soy Agile”. Agile es un camino, no un objetivo.
Ser Ágil entonces es...
#PHPBsAs
meetupphpbsas.github.io
#PHPBsAs
meetupphpbsas.github.io
#PHPBsAs
meetupphpbsas.github.io
#PHPBsAs
meetupphpbsas.github.io
“Agile development is more
culture than process”
#PHPBsAs
meetupphpbsas.github.io
#PHPBsAs
meetupphpbsas.github.io
Resumen
#PHPBsAs
meetupphpbsas.github.io
#PHPBsAs
meetupphpbsas.github.io
La ingeniería de software ágil combina una filosofía y un
conjunto de directrices de desarrollo. La filosofía busca la
satisfacción del cliente y la entrega temprana de software
incremental; equipos de proyecto pequeños y con alta
motivación; métodos informales y una simplicidad general del
desarrollo. Las directrices del desarrollo resaltan la entrega
sobre el análisis y el diseño (aunque estas actividades no se
descartan), y la comunicación activa y continua entre los
desarrolladores y los clientes.
#PHPBsAs
meetupphpbsas.github.io
#PHPBsAs
meetupphpbsas.github.io
Q&A
#PHPBsAs
meetupphpbsas.github.io
#PHPBsAs
meetupphpbsas.github.io
#PHPBsAs
meetupphpbsas.github.io

More Related Content

What's hot

What is Agile Project Management? | Agile Project Management | Invensis Learn...
What is Agile Project Management? | Agile Project Management | Invensis Learn...What is Agile Project Management? | Agile Project Management | Invensis Learn...
What is Agile Project Management? | Agile Project Management | Invensis Learn...
Invensis Learning
 

What's hot (20)

Top 10 Agile Metrics
Top 10 Agile MetricsTop 10 Agile Metrics
Top 10 Agile Metrics
 
Tips para la PMO perdida en el Mundo Ágil
Tips para la PMO perdida en el Mundo ÁgilTips para la PMO perdida en el Mundo Ágil
Tips para la PMO perdida en el Mundo Ágil
 
Agile Project management
Agile Project managementAgile Project management
Agile Project management
 
Gestao e Agilidade - Agile Trends 2019
Gestao e Agilidade - Agile Trends 2019Gestao e Agilidade - Agile Trends 2019
Gestao e Agilidade - Agile Trends 2019
 
Advanced agile scrum- Demo PPT
Advanced agile scrum- Demo PPTAdvanced agile scrum- Demo PPT
Advanced agile scrum- Demo PPT
 
Scrum: la guía básica
Scrum: la guía básicaScrum: la guía básica
Scrum: la guía básica
 
Requisitos Ágeis
Requisitos ÁgeisRequisitos Ágeis
Requisitos Ágeis
 
Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...
Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...
Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...
 
DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)
 
[es] Enterprise Agile adoption - Límites y palancas
[es] Enterprise Agile adoption - Límites y palancas[es] Enterprise Agile adoption - Límites y palancas
[es] Enterprise Agile adoption - Límites y palancas
 
Agile Methodology ppt
Agile Methodology pptAgile Methodology ppt
Agile Methodology ppt
 
Objetivos y Resultados Claves (OKR)
Objetivos y Resultados Claves (OKR)Objetivos y Resultados Claves (OKR)
Objetivos y Resultados Claves (OKR)
 
What is Agile Project Management? | Agile Project Management | Invensis Learn...
What is Agile Project Management? | Agile Project Management | Invensis Learn...What is Agile Project Management? | Agile Project Management | Invensis Learn...
What is Agile Project Management? | Agile Project Management | Invensis Learn...
 
agile with scrum methodology
agile with scrum methodology agile with scrum methodology
agile with scrum methodology
 
Diapositivas - Seminario Taller sobre Transformación Ágil
Diapositivas - Seminario Taller sobre Transformación ÁgilDiapositivas - Seminario Taller sobre Transformación Ágil
Diapositivas - Seminario Taller sobre Transformación Ágil
 
¿Cuál es el siguiente paso después de Agile? Enterprise Agility
¿Cuál es el siguiente paso después de Agile? Enterprise Agility¿Cuál es el siguiente paso después de Agile? Enterprise Agility
¿Cuál es el siguiente paso después de Agile? Enterprise Agility
 
Scrum Master Workshop
Scrum Master WorkshopScrum Master Workshop
Scrum Master Workshop
 
Webinar On Scaled Agile Framework (SAFe) | iZenBridge
Webinar On Scaled Agile Framework (SAFe) | iZenBridgeWebinar On Scaled Agile Framework (SAFe) | iZenBridge
Webinar On Scaled Agile Framework (SAFe) | iZenBridge
 
Hablemos de Agilidad y de Scrum
Hablemos de Agilidad y de ScrumHablemos de Agilidad y de Scrum
Hablemos de Agilidad y de Scrum
 
Treinamento Agile Coach
Treinamento Agile CoachTreinamento Agile Coach
Treinamento Agile Coach
 

Viewers also liked

Principios de las metodologías agiles
Principios  de las metodologías agilesPrincipios  de las metodologías agiles
Principios de las metodologías agiles
joselynvaleria93
 
ProEvents Team presentation
ProEvents Team presentationProEvents Team presentation
ProEvents Team presentation
Elisabeta Ionita
 
RDF Validation in a Linked Data World - A vision beyond structural and value ...
RDF Validation in a Linked Data World - A vision beyond structural and value ...RDF Validation in a Linked Data World - A vision beyond structural and value ...
RDF Validation in a Linked Data World - A vision beyond structural and value ...
Nandana Mihindukulasooriya
 
Ventas y compras internacionales
Ventas y compras internacionalesVentas y compras internacionales
Ventas y compras internacionales
Ravaventas
 
Talleres de mediación CEMED ¡Apúntate antes del 27 de noviembre y podrás bene...
Talleres de mediación CEMED ¡Apúntate antes del 27 de noviembre y podrás bene...Talleres de mediación CEMED ¡Apúntate antes del 27 de noviembre y podrás bene...
Talleres de mediación CEMED ¡Apúntate antes del 27 de noviembre y podrás bene...
Asociación Europea de Arbitraje Arbitraje
 
Dicionário de Expressões
Dicionário de ExpressõesDicionário de Expressões
Dicionário de Expressões
Elsa Fernandes
 

Viewers also liked (20)

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
 
Principios de las metodologías agiles
Principios  de las metodologías agilesPrincipios  de las metodologías agiles
Principios de las metodologías agiles
 
Manifiesto agil
Manifiesto agilManifiesto agil
Manifiesto agil
 
Retailing
RetailingRetailing
Retailing
 
ProEvents Team presentation
ProEvents Team presentationProEvents Team presentation
ProEvents Team presentation
 
Teruel Emprende, ¿y Tú? 2015
Teruel Emprende, ¿y Tú? 2015Teruel Emprende, ¿y Tú? 2015
Teruel Emprende, ¿y Tú? 2015
 
RDF Validation in a Linked Data World - A vision beyond structural and value ...
RDF Validation in a Linked Data World - A vision beyond structural and value ...RDF Validation in a Linked Data World - A vision beyond structural and value ...
RDF Validation in a Linked Data World - A vision beyond structural and value ...
 
3 arte romano
3 arte romano3 arte romano
3 arte romano
 
Eerm mapping c++
Eerm mapping c++Eerm mapping c++
Eerm mapping c++
 
Vétérenaires Sans Frontieres International
Vétérenaires Sans Frontieres InternationalVétérenaires Sans Frontieres International
Vétérenaires Sans Frontieres International
 
Cómo adelgazar sin recuperar los kilos perdidos
Cómo adelgazar sin recuperar los kilos perdidosCómo adelgazar sin recuperar los kilos perdidos
Cómo adelgazar sin recuperar los kilos perdidos
 
Ventas y compras internacionales
Ventas y compras internacionalesVentas y compras internacionales
Ventas y compras internacionales
 
The world of technology
The world of technologyThe world of technology
The world of technology
 
Central 105
Central 105Central 105
Central 105
 
Fedor Polyakov - Optimizing computer vision problems on mobile platforms
Fedor Polyakov - Optimizing computer vision problems on mobile platforms Fedor Polyakov - Optimizing computer vision problems on mobile platforms
Fedor Polyakov - Optimizing computer vision problems on mobile platforms
 
Actividades para el desarrollo de la ejecucion verbal
Actividades para el desarrollo de la ejecucion verbalActividades para el desarrollo de la ejecucion verbal
Actividades para el desarrollo de la ejecucion verbal
 
Talleres de mediación CEMED ¡Apúntate antes del 27 de noviembre y podrás bene...
Talleres de mediación CEMED ¡Apúntate antes del 27 de noviembre y podrás bene...Talleres de mediación CEMED ¡Apúntate antes del 27 de noviembre y podrás bene...
Talleres de mediación CEMED ¡Apúntate antes del 27 de noviembre y podrás bene...
 
Dicionário de Expressões
Dicionário de ExpressõesDicionário de Expressões
Dicionário de Expressões
 
Fluida Statis
Fluida StatisFluida Statis
Fluida Statis
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 

Similar to Agile. Una introducción a la agilidad en el desarrollo de software

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
 
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
 

Similar to Agile. Una introducción a la agilidad en el desarrollo de software (20)

Requirements Engineering for Software and Systems_chapter07 (1).pdf
Requirements Engineering for Software and Systems_chapter07 (1).pdfRequirements Engineering for Software and Systems_chapter07 (1).pdf
Requirements Engineering for Software and Systems_chapter07 (1).pdf
 
Ingeniería de Calidad -Apunte calidad en las metodologias agiles
Ingeniería de Calidad -Apunte  calidad en las metodologias agilesIngeniería de Calidad -Apunte  calidad en las metodologias agiles
Ingeniería de Calidad -Apunte calidad en las metodologias agiles
 
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"
 
Ingeniería de Software, Agilidad y Tecnología
Ingeniería de Software, Agilidad y TecnologíaIngeniería de Software, Agilidad y Tecnología
Ingeniería de Software, Agilidad y Tecnología
 
Calidad en Agile - EducacionIT
Calidad en Agile - EducacionITCalidad en Agile - EducacionIT
Calidad en Agile - EducacionIT
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
 
Sesión 4: Desarrollo ágil del software
Sesión 4: Desarrollo ágil del softwareSesión 4: Desarrollo ágil del software
Sesión 4: Desarrollo ágil del software
 
4. Desarrollo ágil de software
4. Desarrollo ágil de software4. Desarrollo ágil de software
4. Desarrollo ágil de software
 
Metodologia scrum
Metodologia scrumMetodologia scrum
Metodologia scrum
 
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
 
Un poco más de Agile y Scrum à la Pablo
Un poco más de Agile y Scrum à la PabloUn poco más de Agile y Scrum à la Pablo
Un poco más de Agile y Scrum à la Pablo
 
Métodos agiles
Métodos agilesMétodos agiles
Métodos agiles
 
Proceso agil
Proceso agilProceso agil
Proceso agil
 
Introducción a la innovación y transformación digital con metodologías ágiles
 Introducción a la innovación y transformación digital con metodologías ágiles Introducción a la innovación y transformación digital con metodologías ágiles
Introducción a la innovación y transformación digital con metodologías ágiles
 
Metodologías Ágiles - Scrum y XP
Metodologías Ágiles - Scrum y XPMetodologías Ágiles - Scrum y XP
Metodologías Ágiles - Scrum y XP
 
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
 
Práctica SRUM - (Introducción) v1.pptx
Práctica SRUM - (Introducción) v1.pptxPráctica SRUM - (Introducción) v1.pptx
Práctica SRUM - (Introducción) v1.pptx
 
METODOLOGÍAS ÁGILES EN TI
METODOLOGÍAS ÁGILES EN TIMETODOLOGÍAS ÁGILES EN TI
METODOLOGÍAS ÁGILES EN TI
 
METODOLOGÍAS ÁGILES
METODOLOGÍAS ÁGILESMETODOLOGÍAS ÁGILES
METODOLOGÍAS ÁGILES
 
Fundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesFundamentos de las metodologías ágiles
Fundamentos de las metodologías ágiles
 

Recently uploaded

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Recently uploaded (11)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

Agile. Una introducción a la agilidad en el desarrollo de software

  • 1. AGILE Una introducción a la agilidad en el desarrollo de software #PHPBsAs meetupphpbsas.github.io
  • 3. Conceptos iniciales Qué es agile Manifiesto ágil Principios ágiles Historia de agile #PHPBsAs meetupphpbsas.github.io
  • 5. Qué es Agile #PHPBsAs meetupphpbsas.github.io Las metodologías ágiles son una alternativa al manejo tradicional de proyectos. En los proyectos ágiles el resultado se obtiene por medio de un proceso incremental e iterativo en donde los cambios son bienvenidos y cada iteración tiene como finalidad agregar valor verdadero al producto. La mejora continua es un punto fundamental. La palabra ágil deriva del manifiesto ágil (http://agilemanifesto.org)
  • 6. Agile Manifesto #PHPBsAs meetupphpbsas.github.io Estamos descubriendo formas mejores de desarrollar software tanto por nuestra propia experiencia como ayudando a terceros. A través de este trabajo hemos aprendido a valorar: Individuos e interacciones sobre Procesos y herramientas Software funcionando sobre Documentación extensiva Colaboración con el cliente sobre Negociación contractual Respuesta ante el cambio sobre Seguir un plan Esto es, aunque valoramos los elementos de la derecha, valoramos más los de la izquierda.
  • 7. Principios ágiles #PHPBsAs meetupphpbsas.github.io Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente. Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible. Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo. El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara.
  • 8. Principios ágiles (cont) #PHPBsAs meetupphpbsas.github.io El software funcionando es la medida principal de progreso. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida. La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto- organizados. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.
  • 10. Agile vs Tradicional Definiciones Proceso de incremento de producto Triple restricción Agile software development #PHPBsAs meetupphpbsas.github.io
  • 12. Metodologías tradicionales (no ágiles) Las metodologías no ágiles son aquellas que están guiadas por una fuerte planificación durante todo el proceso de desarrollo; llamadas también metodologías tradicionales o clásicas, donde se realiza una intensa etapa de análisis y diseño antes de la construcción del sistema. Metodologías ágiles Un proceso es ágil cuando el desarrollo de software es incremental (entregas pequeñas de software, con ciclos rápidos), cooperativo (cliente y desarrolladores trabajan juntos constantemente con una cercana comunicación), sencillo (el método en sí mismo es fácil de aprender y modificar, bien documentado), y adaptable (permite realizar cambios de último momento) #PHPBsAs meetupphpbsas.github.io Definiciones
  • 16. Agile Software Development #PHPBsAs meetupphpbsas.github.io “Agile Development” is an umbrella term for several iterative and incremental software development methodologies. The most popular agile methodologies include Extreme Programming (XP), Scrum, Crystal, Dynamic Systems Development Method (DSDM), Lean Development, and Feature-Driven Development (FDD). While each of the agile methodologies is unique in its specific approach, they all share a common vision and core values (see the Agile Manifesto). They all fundamentally incorporate iteration and the continuous feedback that it provides to successively refine and deliver a software system. They all involve continuous planning, continuous testing, continuous integration, and other forms of continuous evolution of both the project and the software. They are all lightweight, especially compared to traditional waterfall-style processes, and inherently adaptable. What is more important about agile methods is that they all focus on empowering people to collaborate and make decisions together quickly and effectively. Fuente: https://www.versionone.com/agile-101/
  • 18. Ventajas de Agile #PHPBsAs meetupphpbsas.github.io Rápida respuesta a cambios de requisitos a lo largo del desarrollo. Entrega continua y en plazos cortos de software funcional. Trabajo conjunto entre el cliente y el equipo de desarrollo. Minimiza los costos frente a cambios. Importancia de la simplicidad, al eliminar el trabajo innecesario. Atención continua a la excelencia técnica y al buen diseño. Mejora continua de los procesos y el equipo de desarrollo. Evita malentendidos de requerimientos entre el cliente y el equipo. El equipo de desarrollo no malgasta el tiempo y dinero del cliente desarrollando soluciones innecesariamente generales y complejas que en realidad no son un requisito del cliente. Cada componente del producto final ha sido probado y satisface los requerimientos.
  • 19. Desventajas de Agile #PHPBsAs meetupphpbsas.github.io Falta de documentación del diseño. El código no puede tomarse como una documentación. Problemas derivados de la comunicación oral. Falta de calidad. Probar el código de forma constante no genera productos de calidad, sólo revela falta de análisis y diseño. Fuerte dependencia de las personas. Falta de procesos de revisión del código. Falta de reusabilidad. La falta de documentación hacen difícil que pueda reutilizarse el código ágil. Sobre-costos y retrasos derivados de la refactorización continua. Rigidez. Algunos métodos ágiles son muy rígidos. Cambios. Los modelos de datos son “pesados” y no pueden cambiarse así como así solo porque el cliente que irá incorporar más funciones al sistema. Problemas derivados del fracaso de los proyectos ágiles. Si un proyecto ágil fracasa no hay documentación o hay muy poca; lo mismo ocurre con el diseño. La comprensión del sistema se queda en las mentes de los desarrolladores.
  • 23. Agile - No Agile Qué no es Agile Qué es Agile #PHPBsAs meetupphpbsas.github.io
  • 24. Qué no es Agile #PHPBsAs meetupphpbsas.github.io Agile no es un Framework Agile no es Scrum o Kanban o XP o (whatever). Estos recomiendan un conjunto estandarizado de conceptos, prácticas y criterios para resolver un problema en particular que adhieren a la filosofía Agile. Agile no es una Metodología Agile no define una secuencia de pasos y tareas para lograr los objetivos buscados. Agile no es goal/objetivo No existe el “Ahora soy Agile”. Agile es un camino, no un objetivo.
  • 25. Ser Ágil entonces es... #PHPBsAs meetupphpbsas.github.io
  • 33. La ingeniería de software ágil combina una filosofía y un conjunto de directrices de desarrollo. La filosofía busca la satisfacción del cliente y la entrega temprana de software incremental; equipos de proyecto pequeños y con alta motivación; métodos informales y una simplicidad general del desarrollo. Las directrices del desarrollo resaltan la entrega sobre el análisis y el diseño (aunque estas actividades no se descartan), y la comunicación activa y continua entre los desarrolladores y los clientes. #PHPBsAs meetupphpbsas.github.io