Principios y
filosofía ágil
Febrero de 2016
Álvaro Ruiz de Mendarozqueta
Principios y filosofía ágil
Febrero de 2016
Álvaro Ruiz de Mendarozqueta
aruiz@sistemas.frc.utn.edu.ar
aruizdemendarozqueta@yahoo.com
skype: alvaro.rdm
http://www.slideshare.net/AlvaroRuizdeMendaroz
Laboratorio de Investigación y Desarrollo en Ingeniería y
Calidad de Software
LIDICALSO
http://www.institucional.frc.utn.edu.ar/sistemas/lidicalso/
Departamento de Ing. en Sistemas de Información
UTN FRC
http://es.slideshare.net/mainsaurralde
Aportes de Miguel insaurralde
Problemas usuales
en la industria del
software
Usuarios
Requerimientos
Gerentes
Planeamiento
Expectativas
Compromiso
Agregar personal
Personas
Requerimientos
The Standish Group
Cambio de
paradigma
Paradigma
Modelo Mental
¡Cuidado
con el cerdo!
Paradigma ágil
Basado
en un
plan
Fijo Requerimientos
Estimado Recursos Calendario
Enfoque tradicional
Basado
en el
valor
Funcionalidad
Recursos Calendario
Estimado
Enfoque ágil
Fijo
Basado en el
plan
Fijo Requerimientos Recursos Calendario
Estimado FuncionalidadRecursos Calendario
Basado en el
valor
agregado
Tradicional Ágil
Tradicional
Ágil
14%
57%
29%
Cascada
Exitosos
Con dificultades
Fracasos
42%49%
9%
Ágiles
Exitosos
Con dificultades
Fracasos
The Standish Group
Hay que seguir
trabajando
Resultados
Manifiesto ágil
Manifiesto por el
desarrollo Ágil de software
http://agilemanifesto.org/
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:
Manifiesto ágil
personas e interacción
software funcionando
colaboración con clientes
responder a los cambios
herramientas y procesos
documentación exhaustiva
negociación de contratos
seguir un plan
…antes que
foco en los resultados
valoramos mas…
http://agilemanifesto.org/
Satisfacer al cliente
a través de
entregas tempranas y continuas
de software que
provea valor
http://agilemanifesto.org/
principio 1
… de software que
provea valor
despachador de
pedidos
generador de
valor
software que
funciona
software que cubre
una necesidad
principio 1
Aceptamos que los requisitos
cambien, incluso en etapas
tardías del desarrollo
Los procesos ágiles aprovechan
el cambio para proporcionar
ventaja competitiva al
cliente.
http://agilemanifesto.org/
principio 2
Entregamos software funcional
frecuentemente, entre dos
semanas y dos meses,
con preferencia al período de
tiempo más corto posible.
http://agilemanifesto.org/
principio 3
enfoque
predictivo
enfoque
adaptativo
concepto
producto
plazo de
entrega
c1
p1
c2
p2 pn
cn
plazos de entrega
principio 3
Los responsables de negocio y los
desarrolladores
trabajamos juntos
de forma cotidiana durante todo
el proyecto
http://agilemanifesto.org/
principio 4
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.
http://agilemanifesto.org/
principio 5
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.
http://agilemanifesto.org/
principio 6
El software funcionando es la
medida principal de
progreso.
http://agilemanifesto.org/
principio 7
Los procesos ágiles promueven el
desarrollo sostenible.
Los promotores, desarrolladores y
usuarios
debemos ser capaces de mantener
un ritmo constante
de forma indefinida.
http://agilemanifesto.org/
principio 8
La atención continua a la excelencia
técnica y al
buen diseño mejora la agilidad
http://agilemanifesto.org/
principio 9
A intervalos regulares el equipo
reflexiona sobre
cómo ser más efectivo para a
continuación ajustar y
perfeccionar su comportamiento en
consecuencia.
http://agilemanifesto.org/
principio 12
Ventajas Agile
Cambios de requerimientos son
bienvenidos
Entregas rápidas
Feedback del cliente todo el tiempo
Software funcionando pronto
Testing temprano
Martin Fowler
Un buen proyecto ágil
tendrá que desarrollar
algo mejor que
lo planeado
originalmente
The New
Methodology
El desarrollo de software
es, esencialmente, un proceso
de aprendizaje
Mary & Tom
Poppendieck
Lean Software
Development
Métodos y
técnicas
Scrum
XP Crystal
Kanban
Lean
FDD
Agilidad
El más usado:
Scrum
Necesidades Pila de producto
Usuarios,
clientes e
interesados
Dueño de
producto (DP)
Planeamiento del
Sprint Tareas
Scrum master
Miembros del equipo
Ejecución del Sprint
Daily
1 2 3 n
Semanas
1 a 4
semanas
Lunes Martes Miércoles Jueves Viernes
Reunión diaria (daily)
Done criteria
Qué Cómo
Escribir HU
a
b
c
d
Priorizar
Pila de producto
1
3
1
5
Estimar
a
b
c
d
Refinar
e
Valor y riesgo
Historias de
usuario
Opcional
To Do Doing Done
Ejecución del Sprint Revisión del Sprint
Usuarios,
clientes e
interesados
Producto
potencial
Entregabl
e
Retrospectiva Acciones
Planeamiento del
Sprint
Producto
Done
Seamos ágiles
Filminas
complementarias
Comunicación
Ágil
Tradicional
Customer Analyst Designer Programmer Tester
Comunicación
Ágil
Comunicación
Customer
Team
member
Team
member
Team
member
Team
member
Ida y vuelta
Una sola vía
Brecha
Brecha
La visión supera a los otros
sentidos
John Medina
Brain rules
Principios ágiles
y valores
Manifiesto
http://agilemanifesto.org/
1. El respeto por el valor de cada persona
2. La verdad en todas las comunicaciones
3. La transparencia de todos los datos, acciones y
decisiones
4. Confía en que cada persona va a apoyar al equipo
5. Compromiso con el equipo y con los objetivos del
equipo
Agile Principles and Values, by Jeff Sutherland
Individuos e interacciones
sobre procesos y herramientas
Software funcionando
sobre documentación extensiva
Manifiesto
http://agilemanifesto.org/
1. Definir las pruebas de aceptación en la definición
de la función.
2. Implementar funciones en serie y en orden de
prioridad.
3. Ejecute las pruebas de aceptación de cada función
tan pronto como se implementen.
4. Corregir los errores que se identifican, con la más
alta prioridad y a la brevedad posible.
Agile Principles and Values, by Jeff Sutherland
Manifiesto
http://agilemanifesto.org/
1. Sólo el cliente puede definir lo que quiere.
2. Trabajar con clientes es difícil pero, ¿hay otra
manera?
3. Un contrato no reemplaza la comunicación.
4. Desarrolladores descubren las necesidades de los
clientes.
5. Desarrolladores educan a sus clientes.
Colaboración con el cliente
sobre negociación contractual
Examining the Agile Manifesto, by Scott Ambler
Manifiesto
http://agilemanifesto.org/
1. A medida que progresamos el entendimiento de
nuestro cliente cambia.
2. El negocio cambia
3. La tecnología cambia
4. Los cambios son una realidad en el desarrollo de
software que los procesos deben reflejar
5. El plan debe existir pero debe adaptarse
Examining the Agile Manifesto, by Scott Ambler
Respuesta ante el cambio
sobre seguir un plan
La simplicidad, o el arte de
maximizar la cantidad de
trabajo no realizado, es esencial.
http://agilemanifesto.org/
principio 10
Las mejores arquitecturas,
requisitos y diseños emergen de
equipos auto organizados
http://agilemanifesto.org/
principio 11
¡Gracias!
Miguel Insaurralde http://es.slideshare.net/mainsaurralde
Versiones
Versión Fecha Descripción Autor
1.0 Oct-2014 Versión inicial. Materiales basados en el
proyecto Diseño de un sistema de gestión y
presentaciones hechas en UTN, UNRC,
ASSE, CCIS.
Filminas y aportes de Miguel Insaurralde
Alvaro Ruiz de
Mendarozqueta
1.1 Oct-2014 Extensión del manifiesto Alvaro Ruiz de
Mendarozqueta
1.3 Nov-2015 Ajustes de formato. Ajustes por
comentarios recibidos
Alvaro Ruiz de
Mendarozqueta
1.4 Feb-2015 Ajustes por ideas y sugerencias de Miguel
Insaurralde.
(http://es.slideshare.net/mainsaurralde)
¡Gracias Miguel!
Alvaro Ruiz de
Mendarozqueta

Principios ágiles