Está en la página 1de 6

Equipos agiles Desarrollo gil de software.

El desarrollo gil de software es un marco de trabajo conceptual de la ingeniera de software que promueve iteraciones en el desarrollo a lo largo de todo el ciclo de vida del proyecto. Existen muchos mtodos de desarrollo gil; la mayora minimiza riesgos desarrollando software en cortos lapsos de tiempo. El software desarrollado en una unidad de tiempo es llamado una iteracin, la cual debe durar de una a cuatro semanas. Cada iteracin del ciclo de vida incluye: planificacin, anlisis de requerimientos, diseo, codificacin, revisin y documentacin. Una iteracin 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 iteracin. Al final de cada iteracin el equipo vuelve a evaluar las prioridades del proyecto. Los mtodos giles enfatizan las comunicaciones cara a cara en vez de la documentacin. La mayora de los equipos giles estn localizados en una simple oficina abierta, a veces llamadas "plataformas de lanzamiento" (bullpen en ingls). La oficina debe incluir revisores, escritores de documentacin y ayuda, diseadores de iteracin y directores de proyecto. Los mtodos giles tambin enfatizan que el software funcional es la primera medida del progreso. Combinado con la preferencia por las comunicaciones cara a cara, generalmente los mtodos giles son criticados y tratados como "indisciplinados" por la falta de documentacin tcnica. Contenido Historia La definicin moderna de desarrollo gil de software evolucion a mediados de los aos 1990 como parte de una reaccin contra los mtodos de "peso pesado", muy estructurados y estrictos, extrados del modelo de desarrollo en cascada. El proceso originado del uso del modelo en cascada era visto como burocrtico, lento, degradante e inconsistente con las formas de desarrollo de software que realmente realizaban un trabajo eficiente. Los mtodos de desarrollo giles e iterativos pueden ser vistos como un retroceso a las prcticas observadas en los primeros aos del desarrollo de software (aunque en ese tiempo no haba metodologas formales). Inicialmente, los mtodos giles fueron llamados mtodos de "peso liviano". En el ao 2001, miembros prominentes de la comunidad se reunieron en Snowbird, Utah, y adoptaron el nombre de "mtodos giles". Poco despus, algunas de estas personas formaron la "alianza gil", una organizacin sin fines de lucro que promueve el desarrollo gil de aplicaciones. Muchos mtodos similares al gil fueron creados antes del 2000. Entre los ms notables se encuentran: Scrum (1986), Crystal Clear (cristal transparente), programacin extrema (en ingls eXtreme Programming o XP, 1996), desarrollo de software adaptativo, feature driven development, Mtodo de desarrollo de sistemas dinmicos (en ingls Dynamic Systems Development Method o DSDM, 1995).

Kent Beck cre el mtodo de Programacin Extrema (usualmente conocida como XP) en 1996 como una forma de rescatar el proyecto del Sistema exhaustivo de compensaciones de Chrysler (C3). Mientras Chrysler cancelaba ese proyecto, el mtodo fue refinado por Ron Jeffries.

Caractersticas de un equipo gil Los miembros de un equipo gil tienen ms AUTONOMA en la manera de realizar el trabajo. Se potencia al equipo para que tome decisiones dado que sus miembros son los especialistas, los que tienen los conocimientos, habilidades y experiencias necesarios para llevar a cabo el trabajo. Los planteamientos conjuntos hacen ms sencillos los proyectos, permiten mejores soluciones a partir de las sinergias de todos los miembros del equipo, a diferencia de los modelos de gestin clsicos en que las jerarquas establecen quines son las personas que deciden, dirigen y controlan, con lo que las soluciones que aparecen estn limitadas a la capacidad de estas personas. En un entorno gil las jerarquas se diluyen.

Los miembros de un equipo gil establecen un objetivo comn cuando entre todos deciden cuntos requisitos/objetivos son capaces de completar en una iteracin. Adquieren un COMPROMISO CONJUNTO al elaborar la tctica que van a emplear para conseguir estos objetivos, identificando las tareas, asignndoselas entre ellos y autoorganizndose (ver Planificacin de la iteracin (Sprint planning)). Entre todos identifican cuales son los impedimentos, mitigaciones y acciones de mejora a realizar que les impiden proporcionar ms valor, ms calidad, ser ms productivos y disfrutar ms del trabajo (ver Retrospectiva (Sprint Retrospective)). 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 mtodos de trabajo en cascada / tradicionales), si no que todos los miembros del equipo gil comparten la visin global del estado del proyecto respecto a los objetivos del cliente (ayudndose, por ejemplo, de la Lista de objetivos priorizada (Product Backlog) y de radiadores de informacin como el tablero de tareas de la iteracin [Sprint Backlog]), El equipo es multidisciplinar. Contiene todos los roles necesarios para poder completar los objetivos de cada iteracin. Cada uno realiza su aportacin desde su especialidad y experiencia y se pone a disposicin del resto cuando es necesario (por ejemplo en caso de que se est finalizando la iteracin y sea necesario que las personas que quedan libres colaboren en la realizacin de pruebas de los ltimos objetivos, siguiendo las indicaciones de la persona ms experimentada). Como se puede observar, cada iteracin (un perodo tan corto como 2, 3 o 4 semanas) exige una fuerte colaboracin entre los miembros del equipo, dado que adquieren una RESPONSABILIDAD COMPARTIDA (respecto a los objetivos con que se comprometen como equipo en la iteracin y a las decisiones que toman) Y MUTUA (de unos respecto a otros). Si uno falla, pueden fallar todos. Esto les obliga a CONVERGER, a que los conflictos y las tomas de decisiones sean productivos. Es preciso llegar a consensos en los que nadie sienta que algo se est haciendo mal (si alguien lo siente as, debe proponer alternativas) [Notar que no es necesario que todos estn de acuerdo, basta con que haya suficientes personas de acuerdo y que el resto sea capaz de vivir con ello]. Para conseguirlo se utilizan procesos de tomas de decisin participativas (con propuesta y evaluacin conjunta de alternativas, o bien entre todos convinienen delegar en miembros especficos) que permiten que los acuerdos sean ms duraderos, dado que todo el equipo los hace suyos y se compromete. Los conflictos en un equipo que est trabajando con los mismos objetivos y con responsabilidad mutua son naturales (sus miembros tienen distintas experiencias, conocimientos, ver complejidad en proyectos) y necesarios (para obtener la mejor solucin posible fruto de sus sinergias y mejorar de manera continua). Bajo este planteamiento, es muy importante que cuando una persona discrepe de alguna decisin o sienta que la actitud de otra impide que el equipo sea productivo, 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 hiptesis errneas por falta de informacin, fomentar rumorologa no constructiva o dejar los problemas sin resolver hasta aceptarlos como endmicos.

Dicho esto, es muy importante que esta comunicacin y feedback se realice utilizando el mejor canal posible, cara a cara o por telfono, en lugar de utilizar el email (que si adems expone a la otra persona al juicio de muchas otras en copia, implica esfuerzos de autojustificacin y autodefensa que restan al avance del proyecto). La comunicacin verbal, adems de ser ms gil por obtener informacin de manera ms fluida, permite escuchar y entender mejor las razones del otro, evita malas interpretaciones y facilita conocer las emociones del otro. En este punto es importante no formular preguntas de manera acusatoria y ni hacer juicios. El objetivo no es buscar culpables, sino llegar a consensos que permitan aportar ms valor al proyecto, ser ms productivos y mejorar el proceso de trabajo. Skills de un miembro de equipo gil Los skills de un miembro de un equipo gil se pueden clasificar en varios grupos, segn se basen en aportar valor al producto que desarrolla (calidad), en la capacidad de colaborar con el resto de miembros del equipo o en la capacidad de mejorar, a nivel tcnico y humano. La productividad y la innovacin son el resultado de: 1- Orientarse a proporcionar el mximo valor en el mnimo tiempo. 2- Favorecer la colaboracin en el equipo para conseguir las mejores sinergias posibles 3- Mejorar continuamente la manera de trabajar. Veamos cules son estos grupos de skills en ms detalle: Inteligencia de negocio - Orientacin a producir valor El miembro del equipo gil tiene que estar orientado a producir con CALIDAD, tiene que saber compaginar los siguientes aspectos: Inters por entender el producto o negocio para el que trabaja. Se preocupa por proporcionar valor al usuario final o consumidor. Tener una visin a medio plazo de los objetivos a conseguir (facilitada, por ejemplo, por la Lista de objetivos priorizada (Product Backlog), tener proactividad (ser capaz de detectar oportunidades y anticipar riesgos) y an as (y dado que el foco est en proporcionar resultados tangibles cada iteracin): Buscar la simplicidad y la utilidad, conseguir la mejor solucin utilizando slo el esfuerzo necesario y no trabajar en futuribles que quizs no lleguen nunca o cambien. Seguir el principio de Pareto (20/80). En las tareas que realiza, buscar el mximo retorno de inversin al esfuerzo dedicado en cada momento, balanceando valor respecto a coste. En lnea con el principio de fluir en el proyecto (en que el equipo minimiza el nmero de objetivos en curso, WIP), el miembro de un equipo gil acaba tareas y no deja temas abiertos, de manera que se minimizan los cambios de contexto, aumentando la productividad y avanzando en el proyecto. Pasin y orgullo por el trabajo que se realiza, ser exigente con la calidad tcnica, disciplinado y metdico, para que el producto pueda crecer de manera sostenida.

Inteligencia emocional Capacidad de trabajar en equipo El miembro del equipo gil tiene que favorecer la COMUNICACIN y para ello tener las siguientes aptitudes: Transparencia en las tareas que realiza y su estado, para que el resto del equipo tenga la informacin necesaria (por ejemplo en las reuniones diarias de sincronizacin (Scrum daily meetings) o en las retrospectivas), que todos puedan colaborar y ayudarse a conseguir los objetivos de la iteracin, evitando tambin que se realicen esfuerzos innecesarios. Franqueza con el cliente sobre la situacin del proyecto (especialmente en las demostraciones (Sprint review)), para que pueda tomar decisiones basadas en lo que realmente est hecho y en la velocidad del equipo. No hacerse dueo de conocimiento, si no compartirlo y ser capaz para ensear. Escucha activa, entender lo que le estn explicando Observar, escuchar, preguntar mucho y reparafrasear para entender las las necesidades, motivaciones y sentimientos de los otros, ponerse en su lugar antes de dar la propia opinin (si realmente es necesario ofrecerla). Es decir, evitar juzgar inmediatamente al otro y tener empata. El miembro del equipo gil tiene que saber respetar las opiniones de los otros y para ello tener las siguientes aptitudes: Confianza en los dems miembros del equipo, creer que sern capaces de realizar sus tareas, sin necesidad de estar controlndolos, recordar siempre que todos estn actuando con la mejor voluntad posible, y tener paciencia. Esta confianza se ve facilitada por la comparticin de conocimiento que se produce en las reuniones de alta productividad que el equipo al completo realiza en las actividades de Scrum, las cuales necesitan de la transparencia indicada anteriormente. Consensuar, ser capaz de negociar un ganar/ganar, no imponer su criterio. Ser honesto y sincero, no engaar o aprovecharse de los otros (sean clientes, gestores o miembros del equipo). Educacin, buenas maneras, dando su opinin sin atacar ni acusar (simplemente hablando de los hechos que le han sucedido), tranquilo, no irascible, afable y con sentido del humor, para no vivir en tensin constante y, por contra, compartir momentos de relajacin con el resto del equipo. Inteligencia vital Capacidad de mejorar El miembro del equipo gil es capaz de conjugar el progreso tcnico y el humano, tiene afn por APRENDER nuevas formas de trabajar y de relacionarse, y para ello tener las siguientes aptitudes: Humildad, evitar la prepotencia (que no es necesaria, la vala se demuestra realizando un trabajo excelente, el reconocimiento es una consecuencia que debe llegar por s solo), tener una mente abierta a escuchar ideas diferentes de otros y flexibilidad para probar nuevas cosas.

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

También podría gustarte