¿que es la agilidad?
Post on 07-Apr-2017
120 Views
Preview:
TRANSCRIPT
¿Qué es la Agilidad?
2017-03-21
David Lay M@davidlaym
davidlaym.com
2017-03-21Logos y marcas utilizadas bajo principios de “uso justo”. Todos los derechos reservados por sus dueños.
¡Hola!
La Agilidad es:
• Una Cultura de solución a problemas
• Originaria del desarrollo de software
• Basada inicialmente en un manifiesto de 4 principios y
12 prácticas
La Agilidad se compone de:
• Metodologías, Técnicas y Herramientas
• Iteración, experimentación
• Validación constante
• Excelencia técnica
Los Equipos Ágiles producen un flujo continuo de valor, con un ritmo sostenible, al mismo tiempo que se adaptan a las cambiantes necesidades del
negocio.
Elisabeth Hendrickson
http://testobsessed.com/2010/12/the-agile-acid-test/
Un poco de historia…
La ingeniería de software nace en 1968.
http://homepages.cs.ncl.ac.uk/brian.randell/NATO/NATOReports/
En 1990 comienza el desarrollo de Scrum y de XP como experimentos aislados
En 2001 se redacta el Manifiesto por el Desarrollo Ágil de Software
Manifiesto por el Desarrollo Ágil de Software
• 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
Manifiesto por el Desarrollo Ágil de Software
• Entrega temprana y continua de valor
• Aprovechar el cambio como ventaja competitiva
• Cadencia entre dos semanas a dos meses
• Se debe ser capaz de mantener un ritmo constante de forma indefinida
• Negocio y desarrollo trabajan juntos durante todo el proyecto
• Individuos motivados y empoderados
• Equipos auto-organizados
• Excelencia técnica y buen diseño
• Maximizar trabajo no realizado
• Reflexión, auto-corrección y perfeccionamiento
• Conversación cara a cara
• Software funcionando como medida de progreso
En 2002 Se forma la Scrum Aliance y el programa Certified Scrum Master
En 2003 se publica “Lean Software Development: An Agile Toolkit”
Principios de LEAN Software Development
Lámina de Agustín Villena de su charlaIntroducción a la cultura ágil I (2011)
EliminarDesperdicios
GenerarConocimiento
Calidaddesde el
comienzo
Entregar lo más rápido
posible
Respeto a las personas
Optimizar el todo
Compromiso solo con
conocimiento máximo
En 2009 se publica el Manifiesto por el Software Craftsmanship
Manifiesto por el Software Craftsmanship
• No solo software que funciona, sino también software bien diseñado
• No solo responder al cambio, sino también agregar valor constantemente
• No solo individuos e interacciones, sino también una comunidad de profesionales
• No solo colaboración con el cliente, sino también asociaciones productivas
¿Es esto ingeniería?
¿Es ciencia?
¿Qué somos?
Esta confusión es porque quienes iniciaron todo esto, no entendían dos cosas:
1. Ingeniería
2. Software
Desde hace 26 años
Hemos estado alejándonos de la ingeniería (porque no funciona)
En general, la palabra ingeniería se resevapara el conjunto de prácticas que funciona
Modelo cascada (obsoleto)
Requerimientos
Diseño
Implementación
Verificación
Mantenimiento
Modelo de control de procesos definidos
• Cada pieza del trabajo debe ser comprendida para iniciar
• Puede ser iniciado y llegará siempre a término
• Cada vez tendrá el mismo resultado
Costo y aprendizaje en control de procesos definidos
Fuente:http://alistair.cockburn.us/Design+as+Knowledge+Acquisition
Conocimiento de la realidad
Tiempo del proyecto
Entrega casi nula de valor(o reducción de riesgo)
El conocimiento llega al “momento
de la verdad”: La integración
La conversión de una idea a un artefacto, que involucra tanto al diseñador como al constructor, es un proceso complejo y sutil que siempre estará más cercano al arte que a la ciencia.
Eugene S. Ferguson,
Engineering and the Mind’s Eye
Lámina de Glenn Vanderburg de sucharla “Real Software Engineering”
Lámina de Glenn Vanderburg de sucharla “Real Software Engineering”
La ingeniería de software es la ciencia y arte de diseñar y construir, con economía y elegancia, sistemas de manera que se adapten con gracia a las situaciones que puedan ser sujetos.
Glenn Vanderburg
Modelo de control de procesos empíricos
• Procesos poco definidos o altamente cambiantes
• Ejerce control mediante inspección frecuente
• Resultados impredecibles e irrepetibles
Costo y aprendizaje en modelos de control de procesos empíricos
Conocimiento de la realidad
Tiempo del proyecto
Aprendizaje(o reducción de riesgo)
El valor al cliente crece
continuamente desde antes en el
proceso
Fuente:http://alistair.cockburn.us/Design+as+Knowledge+Acquisition
Lámina de Agustín Villena de su charla “Desde la gestión tradicional a la Ágil”
Procesos empíricos
•Verificación formal
•Diseño mediante descubrimiento: experimentación
•Creatividad
•Retroalimentación temprana y económica
La agilidad es:
Un meta-modelo de control de procesos empíricos.
El desarrollo de software ágil, es la mejor forma conocida de hacer software.
El desarrollo de software ágil, es ingeniería de software madura.
¡Gracias!
David Lay M@davidlaym
davidlaym.com
2017-03-21Logos y marcas utilizadas bajo principios de “uso justo”. Todos los derechos reservados por sus dueños.
top related