Cultura Agil y su Ecosistema

  • 1,712 views
Uploaded on

Presentacion introductoria a la cultura agil y sus ramas actuales

Presentacion introductoria a la cultura agil y sus ramas actuales

More in: Technology , Travel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
1,712
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
1
Likes
11

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. www.chileagil.cl Agustín Villena M. agustin.villena@chileagil.cl 07-10-2009
  • 2.  Esta obra está publicada bajo una Atribución-No Comercial- Licenciar Igual 2.0 Chile de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.0/cl/ agustin.villena@chileagil.cl
  • 3.  Agustín Villena Moya  Ingeniero Civil en Computación, U. de Chile (1998)  Magister en Ciencias de la Computación, U. de Chile (2008)  Emprendedor a jornada completa (1998-2002) y parcial (2003 a la fecha)  Coordinador Área de Investigación y Desarrollo Microsystem Chile (2005 a 2008)  Gerente de Consultoría SAP Novis (2009 a la fecha)  Desde el 2002 investigo, practico y comparto mis experiencias ágiles con mis alumnos de la U. de Chile, en los cursos ◦ CC62V Taller de Metodologías Ágiles de Desarrollo de Software ◦ CC61A Proyecto de Software  Impulsor de la comunidad chilena de desarrollo ágil Chile Ágil 07-10-2009 agustin.villena@chileagil.cl
  • 4. Uno no se baña nunca dos veces en el mismo río Heráclito 07-10-2009 agustin.villena@chileagil.cl
  • 5. 100% Fuente: 16% “CHAOS 90% 34% 35% 32% Report”, EE.UU. 80% The Standish Group 70% 60% 53% Exitosos 50% 44% Con Problemas 51% 46% Abortados 40% 30% 20% 31% 24% 15% 19% 10% 0% 1994 2003 2007 2009 agustin.villena@chileagil.cl 07-10-2009 www.chileagil.cl
  • 6.  Pero con poca productividad Fuente: “CHAOS Report”, EE.UU. The Standish Group 07-10-2009 agustin.villena@chileagil.cl
  • 7. Como lo explicó el Como lo entendió el Como lo diseñó el Como lo programó el Como lo describió el cliente Jefe de Proyecto Analista Desarrollador área comercial Como se documentó el Qué fue instalado en Qué se le cobró al Cómo fue soportado Qué necesitaba el proyecto el cliente cliente cliente en realidad 07-10-2009 agustin.villena@chileagil.cl
  • 8.  Y en Chile, ¿será mejor? ◦ ... 07-10-2009 agustin.villena@chileagil.cl
  • 9. Plano de Negocio Valor Problema (Necesidad) Lenguaje de Negocio Ámbito de la Lenguaje Funcionalidades Común Base (Soluciones) gestión Lenguaje Técnico TAREAS Calidad Plano Técnico agustin.villena@chileagil.cl
  • 10. Avance de Proyecto: - ¿Cuánto hemos avanzado realmente (en generar real valor)? - ¿Cuáles y cuántas funcionalidades queda por hacer? - ¿Cuánto tiempo se requerirá para dichas funcionalidades? - ¿Qué defectos puede tener el producto? Método de Trabajo - ¿Qué prácticas y estándares se debe seguir? - ¿Qué errores no se debe repetir? - ¿Qué debemos mejorar? ? ? Tecnología: Desarrollador - ¿Cuál tecnología usar? Cliente Problema en resolución: ¿Concuerdan? - ¿Qué sabemos hacer con ¿Concuerdan? la tecnología utilizada? - ¿Cuáles son la necesidades - ¿Cuáles es posible hacer actuales? (limites) con la - ¿Cuáles son prioritarias? tecnología? Trabajo en Equipo: - ¿Cómo mantener la motivación? - ¿Cómo comunicarse efectivamente? - ¿Hay áreas del proyecto que sólo puedan ser ? mantenidas por uno? agustin.villena@chileagil.cl Equipo de Desarrollo
  • 11.  Entonces definamos todo al principio, y luego construyamos y probemos… Análisis y especificación de requerimientos Diseño Codificación y Test de Módulos Integración y Test del Sistema Instalación y Mantenimiento agustin.villena@chileagil.cl
  • 12.  Y así es fácil “evaluar” a cada individuo de manera separada Toma este problemita Toma este Análisis y problemita especificación de requerimientos Toma este Diseño problemita Toma este Codificación y Test de Módulos problemita Integración y UF Test del Sistema Instalación y Mantenimiento agustin.villena@chileagil.cl
  • 13. (¿Y cómo %$@ lo Tienes que vamos a hacer?) construir esto … Si, jefe 07-10-2009 agustin.villena@chileagil.cl
  • 14.  Férreo control centralizado en una pirámide jerárquica 07-10-2009 agustin.villena@chileagil.cl
  • 15.  ¿PROCESOS? ◦ “Buenos procesos generan buenos productos”  ¿Personas? ◦ “Pero las personas vienen y van” 07-10-2009 agustin.villena@chileagil.cl
  • 16. principios, métodos y prácticas agustin.villena@chileagil.cl 07-10-2009
  • 17. ◦ Pocos principios fundamentales, que apoyan la toma de decisiones en terreno ◦ Base para equipos de Alto Rendimiento que enfrentan alta incertidumbre 07-10-2009 agustin.villena@chileagil.cl
  • 18.  Cómo se organizan las hormigas para buscar alimento ◦ Dos reglas simples  Marcar el camino  Seguir el camino con más marcas ◦ … que inducen un comportamiento auto-organizado 07-10-2009 agustin.villena@chileagil.cl
  • 19. Sistemas Adaptativos ordenado complejos caótico empoderamiento alineamiento + atribuciones + valores + confianza + principios Organizaciones ordenadas requieren empoderamiento Organizaciones caóticas requieren alineamiento 07-10-2009 agustin.villena@chileagil.cl
  • 20.  Una Cultura basada en ◦ Principios ◦ Valores ◦ Prácticas  Foco principal: ◦ El valor de la persona humana  ¿En qué nos enfocamos? ◦ En el trabajo en equipo entre clientes y desarrolladores 07-10-2009 agustin.villena@chileagil.cl
  • 21. Cliente Problema de Negocio Proyecto de Software Ingeniero de Software Producto de Equipo de Software Desarrollo Tecnología agustin.villena@chileagil.cl
  • 22. Ciclo de Gestión del Proyecto Orientada al Valor Cliente Problema de Negocio Proyecto de Ciclo de Gestión del Desarrollo en Equipo Software Ingeniero de Software Ciclo de Producto de Programación Software de calidad Equipo de Desarrollo Tecnología Entorno de un XP lo organiza en ciclos de proyecto de software retroalimentación y aprendizaje acelerado agustin.villena@chileagil.cl
  • 23.  Prácticas ◦ técnicas concretas de planificación de negocio, trabajo en equipo o desarrollo ◦ Se explican por principios, sobre las que están basados.  Principios ◦ Criterios que ayudan a tomar decisiones a las personas Principios 07-10-2009 agustin.villena@chileagil.cl
  • 24.  En 2001, Kent Beck y otros autores de enfoques similares proponen los Principios Ágiles: Individuos e interacciones Procesos y herramientas. Software funcional Documentación exhaustiva por sobre Colaboración con el cliente Negociación de contratos Responder al cambio Seguir un plan agustin.villena@chileagil.cl
  • 25.  Mary y Tom Poppendieck, “Lean Software Development”  Define las bases teóricas de las metodologías ágiles, a partir del lean thinking ◦ Filosofía de gestión inspirada en el Toyota Production System 07-10-2009 agustin.villena@chileagil.cl
  • 26. •Funcionalidades Extra Eliminar Desperdicios •Sobrecarga de requerimientos o de arreglos luego del testing •Cruce de fronteras organizacionales •Planificar es útil. Aprender es esencial. Crear Conocimiento •Estándares existen para ser desafiados y mejorados •Rendimiento predecible es guiado por Retroalimentación •Código a Prueba de Errores con Desarrollo Guiado por Tests. Calidad Intrínseca •Impedir el desarrollo de código legado (sin tests) •“Big Bang” está Obsoleto •Abolir la idea de partir con una especificación completa Diferir el compromiso •Romper dependencias (Arquitectura debe permitir evolucionar) •Mantener opciones abiertas (hasta el último momento responsable) •Planificar decisiones irreversibles asta el último momento responsable •Listas y colas son amortiguadores entre organizaciones que enlentecen. •Entregas Rápidas, con Alta Calidad y Bajo Costo son compatibles Entregar rápido •Teoría de Colas aplica al desarrollo, no sólo a los servidores •Limitar Trabajo a la Capacidad del Equipo •Personas motivadas y pensantes proveen la ventaja competitiva más sostenible. •Equipos crecen con Orgullo, Compromiso, Confianza y Reconocimiento Respetar a las personas •Proveer Liderazgo Efectivo •Respetar a los socios •Productos brillantes emergen de combinar oportunidad con tecnología •Enfocarse en el flujo de valor completo Optimizar el todo •Entregar un Producto Completo •Medir hacia valor de negocio generado y satisfacción de los clientes 07-10-2009 agustin.villena@chileagil.cl
  • 27.  Si nos enfocamos en validar continuamente nuestras hipótesis y generar valor lo antes posible… 07-10-2009 agustin.villena@chileagil.cl
  • 28. agustin.villena@chileagil.cl 07-10-2009
  • 29. Value Oriented Management Cycle Teamwork Quality Oriented Management Team Development Incremental Development Cycle Cycle agustin.villena@chileagil.cl
  • 30.  Inspirado en el enfoque de gestión de la innovación de productos de Hirotaka Takeuchi and Ikujiro Nonaka, 1986  Sutherland and Schwaber , lo presentan en OOPSLA (1995)  Define un conjunto de herramientas de gestión y visualización de avance  Metáfora: ◦ se requiere abarcar todas las disciplinas requeridas, tal como la formación de scrum del rugby  Es una metodología para gestionar desarrollos de productos ◦ ¡Cualquier tipo de producto! 07-10-2009 agustin.villena@chileagil.cl
  • 31. Release Release Management Cycle Planning Value Oriented Product Meeting Product Owner Role Backlog Development Sprint Planning Meeting Tasks Scrum Master Role Teamwork Management Cycle Burn down Charts Task Board Daily Scrum Meeting Sprint Retrospective Meeting Scrum Scoreboard agustin.villena@chileagil.cl
  • 32.  Ken Beck, 1999, “Extreme Programming Explained”  Enfoque empírico e integral de un proyecto de software  Equipos pequeños que incluyen al cliente  Premisa ◦ Llevar las buenas prácticas de desarrollo al extremo 07-10-2009 agustin.villena@chileagil.cl
  • 33. Planning Game Small Releases Management Cycle Value Oriented On Site User Stories Customer (One team) Acceptance Tests Definition Validation Development Iteration Planning Tasks Coaching Teamwork Management Cycle Simple Tracking / Pair Programming Design Incremental Development Informative Workspace (+ Move people Team Development around) Quality Oriented Test Driven Continuous Cycle Development Integration Code Standards Stand Up Meeting Collective Code Refactoring Ownership No Overtime agustin.villena@chileagil.cl
  • 34.  Se sincroniza el problema de negocio y el desarrollo usando Kanban ◦ 看板: “Tarjeta Señal”  Se disponen en un tablero que refleja el estado de cada kanban ◦ Los estados los define cada equipo  A pesar de verse rústica: ◦ Enfoca al equipo ◦ Presenta rápidamente cuellos de botella ◦ Es sencilla y barata Fuente: http://www.xqa.com.ar/visualmanagement/author/xavier/ 07-10-2009 agustin.villena@chileagil.cl
  • 35.  Se limita la cantidad de Kanban en proceso, para eliminar cuellos de botella ◦ Ej.: No más de 1 kanban en Trabajo en Curso por desarrollador  Quien asume la responsabilidad cambia el Kanban de estado (gestión PULL)  Se mide lead time: tiempo promedio de un kanban en ser procesado Test de Aceptación 1 Cola de Trabajo Trabajo en Curso Por Validar Terminado En Cola Definido F4 F2 F1 F5 F3 F6 F0 07-10-2009 agustin.villena@chileagil.cl
  • 36. Work Items Stage 1 Stage 2 … Stage n Done In In In Queue Process Queue Process Queue Process … Fuente: Lean & kanban 101 http://availagility.wordpress.com/2009/06/11/zurich-lean-agile-scrum-slides/
  • 37. Work Items Stage 1 Stage 2 … Stage n Done In In In Queue Process Queue Process Queue Process … Fuente: Lean & kanban 101 http://availagility.wordpress.com/2009/06/11/zurich-lean-agile-scrum-slides/
  • 38.  Scrum y Kanban se especializan en gestión de desarrollo de (cualquier) producto  Kanban es más genérico que Scrum  XP abarca todo el sistema, desde gestión, hasta programación  XP y Lean hacen énfasis en la destreza técnica del líder del equipo. El ScrumMaster, en cambio, es sólo un líder metodológico.  Los principios Lean explican porqué XP, Kanban y Scrum se organizan de la manera que lo hacen ◦ Y abren posibilidades para otras prácticas 07-10-2009 agustin.villena@chileagil.cl
  • 39. Desafío Ágil Actual: Maestría en el Software (Software Craftmanship) 2008 1998 - Prácticas de eXtreme Programming Simbología 1996 - Prácticas de Scrum Ciclo de 2007- Kanban for Software Gestión de Engineering Valor Ciclo de 16 Principios de XP Gestión de Trabajo en Equipo 2003 - 7 Principios Lean Ciclo de Desarrollo 5 Valores de XP Incremental de Calidad 4 Principios Ágiles 07-10-2009 agustin.villena@chileagil.cl
  • 40.  Manifiesto sale a la luz Marzo de 2009  Busca devolver la excelencia técnica al rango de pilar del movimiento ágil Una comunidad de Individuos e interacciones profesionales Software funcional Software bien hecho No sino sólo que Colaboración con el cliente Sociedades productivas Constantemente agregar Responder al cambio valor 07-10-2009 agustin.villena@chileagil.cl
  • 41.  Modelo Abierto y Libre de Certificación Ágil ◦ Capacitación y certificación libre para personas individuales ◦ Material con licencia Open Educational Resource ◦ El uso de la marca y material en capacitación es sólo para profesionales certificados  De origen hispanoamericano, y comenzando en Chile ◦ Distribuido mediante e-learning 07-10-2009 agustin.villena@chileagil.cl
  • 42.  Las áreas de producto y proyecto son abarcadas por los métodos ágiles comunes  ScrumManager aporta la mirada de la gestión global de la empresa, para soportar la cultura ágil agustin.villena@chileagil.cl 07-10-2009
  • 43.  Blog: www.chileagil.cl  Twitter: ◦ www.twitter.com/agustinvillena ◦ www.twitter.com/chileagil  Podcast: ◦ www.chileagil.cl/tag/podcast  Foro de la comunidad ◦ groups.google.com/group/chileagil  OpenKnowledge de ScrumManager ◦ www.scrummanager.net/ok agustin.villena@chileagil.cl 07-10-2009 www.chileagil.cl
  • 44. avillena@dcc.uchile.cl
  • 45.  El desarrollo de software es una actividad humana ◦ Es afectada por la motivación, creencias y los instintos de las personas  Valores Comunes: son los que permiten que las personas trabajen por el beneficio común antes que el propio Comunicación Respeto Simplicidad Coraje Retroalimentación agustin.villena@chileagil.cl
  • 46.  Reglas que orientan la toma de decisiones • Comunicación abierta y honesta • Enseñar a aprender • Trabajar con los instintos de las personas • Siempre asumir simplicidad • Viajar con equipaje: poco, simple y valioso • Cambios paso a paso • Adaptar de XP a la realidad local • Jugar a ganar • Responsabilidad aceptada (antes que asignada) • Trabajo de Calidad • Atacar los problemas urgentes, dejando la mayor cantidad de opciones abiertas • Retroalimentación Rápida (favorece el aprendizaje) • Medir honestamente • Experimentos concretos agustin.villena@chileagil.cl
  • 47. caótico alinear complejo empoderar ordenado 07-10-2009 agustin.villena@chileagil.cl