Equipos agiles Desarrollo ágil de software.

El desarrollo ágil de software es un marco de trabajo conceptual de la ingeniería de software que promueve iteraciones en el desarrollo a lo largo de todo el ciclo de vida del proyecto. Existen muchos métodos de desarrollo ágil; la mayoría minimiza riesgos desarrollando software en cortos lapsos de tiempo. El software desarrollado en una unidad de tiempo es llamado una iteración, la cual debe durar de una a cuatro semanas. Cada iteración del ciclo de vida incluye: planificación, análisis de requerimientos, diseño, codificación, revisión y documentación. Una iteración no debe agregar demasiada funcionalidad para justificar el lanzamiento del producto al mercado, pero la meta es tener un demo (sin errores) al final de cada iteración. Al final de cada iteración el equipo vuelve a evaluar las prioridades del proyecto. Los métodos ágiles enfatizan las comunicaciones cara a cara en vez de la documentación. La mayoría de los equipos ágiles están localizados en una simple oficina abierta, a veces llamadas "plataformas de lanzamiento" (bullpen en inglés). La oficina debe incluir revisores, escritores de documentación y ayuda, diseñadores de iteración y directores de proyecto. Los métodos ágiles también enfatizan que el software funcional es la primera medida del progreso. Combinado con la preferencia por las comunicaciones cara a cara, generalmente los métodos ágiles son criticados y tratados como "indisciplinados" por la falta de documentación técnica. Contenido Historia La definición moderna de desarrollo ágil de software evolucionó a mediados de los años 1990 como parte de una reacción contra los métodos de "peso pesado", muy estructurados y estrictos, extraídos del modelo de desarrollo en cascada. El proceso originado del uso del modelo en cascada era visto como burocrático, lento, degradante e inconsistente con las formas de desarrollo de software que realmente realizaban un trabajo eficiente. Los métodos de desarrollo ágiles e iterativos pueden ser vistos como un retroceso a las prácticas observadas en los primeros años del desarrollo de software (aunque en ese tiempo no había metodologías formales). Inicialmente, los métodos ágiles fueron llamados métodos de "peso liviano". En el año 2001, miembros prominentes de la comunidad se reunieron en Snowbird, Utah, y adoptaron el nombre de "métodos ágiles". Poco después, algunas de estas personas formaron la "alianza ágil", una organización sin fines de lucro que promueve el desarrollo ágil de aplicaciones. Muchos métodos similares al ágil fueron creados antes del 2000. Entre los más notables se encuentran: Scrum (1986), Crystal Clear (cristal transparente), programación extrema (en inglés eXtreme Programming o XP, 1996), desarrollo de software adaptativo, feature driven development, Método de desarrollo de sistemas dinámicos (en inglés Dynamic Systems Development Method o DSDM, 1995).

Los planteamientos conjuntos hacen más sencillos los proyectos. Mientras Chrysler cancelaba ese proyecto.Kent Beck creó el método de Programación Extrema (usualmente conocida como XP) en 1996 como una forma de rescatar el proyecto del Sistema exhaustivo de compensaciones de Chrysler (C3). . a diferencia de los modelos de gestión clásicos en que las jerarquías establecen quiénes son las personas que deciden. los que tienen los conocimientos. con lo que las soluciones que aparecen están limitadas a la capacidad de estas personas. Se potencia al equipo para que tome decisiones dado que sus miembros son los especialistas. permiten mejores soluciones a partir de las sinergias de todos los miembros del equipo. En un entorno ágil las jerarquías se diluyen. dirigen y controlan. habilidades y experiencias necesarios para llevar a cabo el trabajo. Características de un equipo ágil Los miembros de un equipo ágil tienen más AUTONOMÍA en la manera de realizar el trabajo. el método fue refinado por Ron Jeffries.

debe proponer alternativas) [Notar que no es necesario que todos estén de acuerdo.Los miembros de un equipo ágil establecen un objetivo común cuando entre todos deciden cuántos requisitos/objetivos son capaces de completar en una iteración. ser más productivos y disfrutar más del trabajo (ver Retrospectiva (Sprint Retrospective)). Los conflictos en un equipo que está trabajando con los mismos objetivos y con responsabilidad mutua son naturales (sus miembros tienen distintas experiencias. más calidad. se sienta con suficiente libertad y confianza como para mostrar su punto de vista a la(s) otra(s) tan pronto como sea posible. en lugar de hacer hipótesis erróneas por falta de información. cada iteración (un período tan corto como 2. El equipo es multidisciplinar. conocimientos. pueden fallar todos. identificando las tareas. Para conseguirlo se utilizan procesos de tomas de decisión participativas (con propuesta y evaluación conjunta de alternativas. Entre todos identifican cuales son los impedimentos. siguiendo las indicaciones de la persona más experimentada). Como se puede observar. basta con que haya suficientes personas de acuerdo y que el resto sea capaz de ³vivir con ello´]. Adquieren un COMPROMISO CONJUNTO al elaborar la táctica que van a emplear para conseguir estos objetivos. es muy importante que cuando una persona discrepe de alguna decisión o sienta que la actitud de otra impide que el equipo sea productivo. de la Lista de objetivos priorizada (Product Backlog) y de radiadores de información como el tablero de tareas de la iteración [Sprint Backlog]). por ejemplo. mitigaciones y acciones de mejora a realizar que les impiden proporcionar más valor. Bajo este planteamiento. Es preciso llegar a consensos en los que nadie sienta que algo se está haciendo mal (si alguien lo siente así. 3 o 4 semanas) exige una fuerte colaboración entre los miembros del equipo. si no que todos los miembros del equipo ágil comparten la visión global del estado del proyecto respecto a los objetivos del cliente (ayudándose. Esto les obliga a CONVERGER. ver complejidad en proyectos) y necesarios (para obtener la mejor solución posible fruto de sus sinergias y mejorar de manera continua). Cada uno realiza su aportación desde su especialidad y experiencia y se pone a disposición del resto cuando es necesario (por ejemplo en caso de que se esté finalizando la iteración y sea necesario que las personas que quedan libres colaboren en la realización de pruebas de los últimos objetivos. . o bien entre todos convinienen delegar en miembros específicos) que permiten que los acuerdos sean más duraderos. fomentar rumorología no constructiva o dejar los problemas sin resolver hasta aceptarlos como endémicos. asignándoselas entre ellos y autoorganizándose (ver Planificación de la iteración (Sprint planning)). Si uno falla. Contiene todos los roles necesarios para poder completar los objetivos de cada iteración. Sus tareas no son un pasa pelota en una cadena productiva en la que diluir su responsabilidad sobre el producto final (lo que sucede en los métodos de trabajo en cascada / tradicionales). a que los conflictos y las tomas de decisiones sean productivos. dado que todo el equipo los hace suyos y se compromete. dado que adquieren una RESPONSABILIDAD COMPARTIDA (respecto a los objetivos con que se comprometen como equipo en la iteración y a las decisiones que toman) Y MUTUA (de unos respecto a otros).

disciplinado y metódico.Orientación a producir valor El miembro del equipo ágil tiene que estar orientado a producir con CALIDAD.Mejorar continuamente la manera de trabajar. 2. según se basen en aportar valor al producto que desarrolla (calidad). en lugar de utilizar el email (que si además expone a la otra persona al juicio de muchas otras en copia. cara a cara o por teléfono.Orientarse a proporcionar el máximo valor en el mínimo tiempo. es muy importante que esta comunicación y feedback se realice utilizando el mejor canal posible. tiene que saber compaginar los siguientes aspectos: Interés por entender el producto o negocio para el que trabaja. La productividad y la innovación son el resultado de: 1. Skills de un miembro de equipo ágil Los skills de un miembro de un equipo ágil se pueden clasificar en varios grupos. además de ser más ágil por obtener información de manera más fluida. permite escuchar y entender mejor las razones del otro. de manera que se minimizan los cambios de contexto.Favorecer la colaboración en el equipo para conseguir las mejores sinergias posibles 3. Seguir el principio de Pareto (20/80). por ejemplo. aumentando la productividad y avanzando en el proyecto. El objetivo no es buscar culpables. tener proactividad (ser capaz de detectar oportunidades y anticipar riesgos) y aún así (y dado que el foco está en proporcionar resultados tangibles cada iteración): Buscar la simplicidad y la utilidad. para que el producto pueda crecer de manera sostenida. evita malas interpretaciones y facilita conocer las emociones del otro. En línea con el principio de fluir en el proyecto (en que el equipo minimiza el número de objetivos en curso.Dicho esto. sino llegar a consensos que permitan aportar más valor al proyecto. el miembro de un equipo ágil acaba tareas y no deja temas abiertos. ser exigente con la calidad técnica. En este punto es importante no formular preguntas de manera acusatoria y ni hacer juicios. Se preocupa por proporcionar valor al usuario final o consumidor. buscar el máximo retorno de inversión al esfuerzo dedicado en cada momento. . implica esfuerzos de autojustificación y autodefensa que restan al avance del proyecto). a nivel técnico y humano. Pasión y orgullo por el trabajo que se realiza. en la capacidad de colaborar con el resto de miembros del equipo o en la capacidad de mejorar. ser más productivos y mejorar el proceso de trabajo. Veamos cuáles son estos grupos de skills en más detalle: Inteligencia de negocio . Tener una visión a medio plazo de los objetivos a conseguir (facilitada. por la Lista de objetivos priorizada (Product Backlog). balanceando valor respecto a coste. WIP). En las tareas que realiza. La comunicación verbal. conseguir la mejor solución utilizando sólo el esfuerzo necesario y no trabajar en futuribles que quizás no lleguen nunca o cambien.

Consensuar. para que pueda tomar decisiones basadas en lo que realmente está hecho y en la velocidad del equipo. las cuales necesitan de la transparencia indicada anteriormente. evitar la prepotencia (que no es necesaria.Inteligencia emocional ± Capacidad de trabajar en equipo El miembro del equipo ágil tiene que favorecer la COMUNICACIÓN y para ello tener las siguientes aptitudes: Transparencia en las tareas que realiza y su estado. Franqueza con el cliente sobre la situación del proyecto (especialmente en las demostraciones (Sprint review)). Ser honesto y sincero. el reconocimiento es una consecuencia que debe llegar por sí solo). y tener paciencia. El miembro del equipo ágil tiene que saber respetar las opiniones de los otros y para ello tener las siguientes aptitudes: Confianza en los demás miembros del equipo. que todos puedan colaborar y ayudarse a conseguir los objetivos de la iteración. tranquilo. motivaciones y sentimientos de los otros. tiene afán por APRENDER nuevas formas de trabajar y de relacionarse. ponerse en su lugar antes de dar la propia opinión (si realmente es necesario ofrecerla). no engañar o aprovecharse de los otros (sean clientes. tener una mente abierta a escuchar ideas diferentes de otros y flexibilidad para probar nuevas cosas. la valía se demuestra realizando un trabajo excelente. Educación. dando su opinión sin atacar ni acusar (simplemente hablando de los hechos que le han sucedido). Escucha activa. afable y con sentido del humor. si no compartirlo y ser capaz para enseñar. gestores o miembros del equipo). No hacerse dueño de conocimiento. ser capaz de negociar un ganar/ganar. preguntar mucho y reparafrasear para entender las las necesidades. entender lo que le están explicando Observar. y para ello tener las siguientes aptitudes: Humildad. no irascible. evitar juzgar inmediatamente al otro y tener empatía. Esta confianza se ve facilitada por la compartición de conocimiento que se produce en las reuniones de alta productividad que el equipo al completo realiza en las actividades de Scrum. escuchar. para no vivir en tensión constante y. . por contra. compartir momentos de relajación con el resto del equipo. para que el resto del equipo tenga la información necesaria (por ejemplo en las reuniones diarias de sincronización (Scrum daily meetings) o en las retrospectivas). Inteligencia vital ± Capacidad de mejorar El miembro del equipo ágil es capaz de conjugar el progreso técnico y el humano. creer que serán capaces de realizar sus tareas. evitando también que se realicen esfuerzos innecesarios. Es decir. sin necesidad de estar controlándolos. recordar siempre que todos están actuando con la mejor voluntad posible. buenas maneras. no imponer su criterio.

tiene que ser capaz de disfrutar en el camino. si no ver entre todos cómo mejorar el proceso de trabajo. tener como objetivo no trabajar más de 40 horas a la semana (en caso contrario. hablar de manera clara. gestores y clientes) sobre los problemas que hay y proponer alternativas mejores. Como se ha mencionado anteriormente. familiares. realizarse en su trabajo (son muchas horas a la semana como para que no sea así). aprendiendo. intuición. coraje para tomar decisiones y hacer ³lo que se tiene que hacer´ (o no hacer lo que no se tiene que hacer). « Es necesario disponer de tiempo para crecer a nivel personal y profesional. formarse. Para ello necesita ser asertivo en los mensajes. aunque sea más difícil (asumiendo riesgos controlados). cuando algo no funciona ser capaz de cuestionar cómo se están haciendo las cosas. ética. otros proyectos. capaz de desaprender e innovar aportando nuevas ideas tanto en el producto como en la manera de trabajar.Capacidad de autocrítica. Capacidad de reflexión e inconformismo productivo. objetiva. ser franco (con compañeros. Creatividad. progresando y contagiando entusiasmo al resto del equipo. creando. reconocer equivocaciones y tomarlas como oportunidades de mejora. integridad. ocio. cuando sea necesario un sobreesfuerzo. sin contar con que la calidad del trabajo se degrada cuando se alarga demasiadas horas) y dedicar el tiempo restante a actividades personales. . Evitar estar en sobreesfuerzo continuo. no va a haber de donde sacar. Tener valores. para alcanzar un equilibrio y tener estos pilares vitales afianzados. superando retos. no buscar culpables cuando se cometen errores. Similarmente.

Sign up to vote on this title
UsefulNot useful