Sobre el orador
• Nombre: Danijel Arsenovski
• Experiencia: programador, desarrollador,
arquitecto de software, autor etc.
¿Hay algún problema con
desarrollo de Software?
2009 Standish Group CHAOS Report (para EE. UU.)
• 1968: “Crisis de software”
• 1995: Standish Group CHAOS Report
(para EE. UU.)
Estamos poniendo al descubierto mejores métodos para desarrollar software, haciéndolo y ayudando a otros a que lo hagan. Con este
trabajo hemos llegado a valorar:
• A los individuos y su interacción, por encima de los procesos y las herramientas.
• El software que funciona, por encima de la documentación exhaustiva.
• La colaboración con el cliente, por encima de la negociación contractual.
• La respuesta al cambio, por encima del seguimiento de un plan.
Aunque hay valor en los elementos de la derecha, valoramos más
los de la izquierda.
Manifiesto Ágilhttp://agilemanifesto.org/
• Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y continua de software de valor.
• Son bienvenidos los requisitos cambiantes, incluso si llegan tarde al desarrollo.
• Los procesos ágiles se doblegan al cambio como ventaja competitiva para el cliente.
• Entregar con frecuencia software que funcione, en periodos de un par de semanas hasta un par de meses, con preferencia en los periodos breves.
• Las personas del negocio y los desarrolladores deben trabajar juntos de forma cotidiana a través del proyecto.
• Construcción de proyectos en torno a individuos motivados, dándoles la oportunidad y el respaldo que necesitan y procurándoles confianza para que realicen la tarea.
Principios del
Manifiesto Ágil
• La forma más eficiente y efectiva de comunicar información de ida y vuelta dentro de un equipo de desarrollo es mediante la conversación cara a cara.
• El software que funciona es la principal medida del progreso.
• Los procesos ágiles promueven el desarrollo sostenido. Los patrocinadores, desarrolladores y usuarios deben mantener un ritmo constante de forma indefinida.
• La atención continua a la excelencia técnica enaltece la agilidad.
• La simplicidad como arte de maximizar la cantidad de trabajo que se hace, es esencial.
• Las mejores arquitecturas, requisitos y diseños emergen de equipos que se autoorganizan.
• En intervalos regulares, el equipo reflexiona sobre la forma de ser más efectivo y ajusta su conducta en consecuencia.
Principios del
Manifiesto Ágil
Metodologías tradicionales vs.
metodologías ágiles
• Predictivo vs. Adaptivo
• División de trabajo vs. equipos cros-funcionales
• Equipos de tipo control y comando vs. equipos
autogestionados
Google trends: “CMMI” – rojo vs. “Agile Development” - azúl
Metodologías Ágiles
• Programación Extrema o XP (Extreme
Programming) implica siguientes Prácticas
Ágiles
– Propiedad común de código fuente
– Programación en Pareja
– TDD
– Integración continua y construcción automatizada,
– Refactorización
– KISS
– 40 horas de trabajo por semana
Metodologías Ágiles
• Lean– “Muda” (Eliminar basura)
– Decida lo más tarde posible
• Scrum– Muy popular
– Ofrece certificaciones
– Scrum Master no tiene que saber programar
• Software Craftmanship– “raising the bar”
– Para un software bien hecho
• Crystal
Una Iteración Ágil• 1 o 2 semanas de duración (en pasado 3 semanas,
hasta 1 mes)
• Reunión de planificación– Historias de usuarios
– Backlog (listado de tareas) para la iteración
• Reuniones de avance diarias (”Daily Scrum”) de 15 min:– Que ha hecho ayer
– Que pretendo hacer hoy
– Que se impone
• Final de entrega– Reunión de aceptación con el cliente
– Reunión de reflexión
– Entrega de software operativo
– Iteración de duración fija (en caso que una tarea no se termina, se deja para la próxima iteración)
Prácticas de Programación Ágil
• Propiedad común de código fuente
• Construcción automatizada e integración
continua
• Programación en pareja (Pair programming)
• Desarrollo guiado por pruebas o TDD (Test
Driven Development)
• Refactorización (Refactoring)
• Excelencia en programación y aprendizaje
continuo
¿Cómo implantar metodología ágil
dentro de un equipo?
• Motivación
• Hay que convencer
– Gerencia de la empresa
– Clientes
• Partir con clientes con cuales se han desarrollado relaciones
de confianza
– Equipo (programadores, jefes de proyecto etc.)
• Partir con proyectos internos
• Partir con las practicas, por ejemplo Integración
Continua
¿Fracasan proyectos ágiles?
• ¡Espectacularmente!
• “La metodología es solamente tan buena
como las personas que la llevan a cabo”
• http://www.infoq.com/presentations/A-
Story-of-Project-Failure-Mitch-Lacey
Agilidad en Chile: Chile Ágil(también llamado ChileLean)
• Comunidad Libre y Abierta
• Busca aunar a los tecnólogos innovadores de Chile que
– Desean generar real valor de negocio con calidad y eficiencia
– Creen profundamente en el valor de las personas trabajando en
equipo
– Y han encontrado una fuente inspiradora
en la comunidad ágil y lean mundial
• Links– Blog: www.chileagil.cl
– Twitter: www.twitter.com/chileagil
– Podcast: www.chileagil.cl/tag/podcast
– Foro: groups.google.com/group/chileagil/
Contacto
• Sitio:
www.empoweragile.com
• Blog:
http://www.refactoringin.net
• Email:
• LinkedIn:
http://cl.linkedin.com/in/danijelarsenovski