You are on page 1of 4

Metodologas agiles

El desarrollo gil de software son mtodos de ingeniera del software basados en el desarrollo
iterativo e incremental, donde los requerimientos y soluciones evolucionan mediante la
colaboracin de grupos auto-organizados y multidisciplinarios. 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 una 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.
Mtodos giles
Algunos mtodos giles de desarrollo de software:
Adaptive Software Development (ASD).
Agile Unified Process (AUP).
Crystal Clear.
Essential Unified Process (EssUP).
Feature Driven Development (FDD).
Lean Software Development (LSD).
Kanban.
Open Unified Process (OpenUP).
Programacin Extrema (XP).
Mtodo de desarrollo de sistemas dinmicos (DSDM).
Scrum.

Qu es SCRUM
Scrum es un proceso en el que se aplican de manera regular un conjunto de buenas
prcticaspara trabajar colaborativamente, en equipo, y obtener el mejor resultado posible de
un proyecto. Estas prcticas se apoyan unas a otras y su seleccin tiene origen en un estudio
de la manera de trabajar de equipos altamente productivos.
En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el
beneficio que aportan al receptor del proyecto. Por ello, Scrum est especialmente indicado
paraproyectos en entornos complejos, donde se necesita obtener resultados pronto, donde
losrequisitos son cambiantes o poco definidos, donde la innovacin, la competitividad,
laflexibilidad y la productividad son fundamentales.
Scrum tambin se utiliza para resolver situaciones en que no se est entregando al cliente lo
que necesita, cuando las entregas se alargan demasiado, los costes se disparan o la calidad
no es aceptable, cuando se necesita capacidad de reaccin ante la competencia, cuando la
moral de los equipos es baja y la rotacin alta, cuando es necesario identificar y solucionar
ineficiencias sistemticamente o cuando se quiere trabajar utilizando un proceso
especializado en el desarrollo de producto.
Ver en detalle cuales son los beneficios de Scrum, sus fundamentos y sus requisitos.

El proceso

En Scrum un proyecto se ejecuta en bloques temporales cortos y fijos (iteraciones de un mes
natural y hasta de dos semanas, si as se necesita). Cada iteracin tiene que proporcionar un
resultado completo, un incremento de producto final que sea susceptible de ser entregado con
el mnimo esfuerzo al cliente cuando lo solicite.




El proceso parte de la lista de objetivos/requisitos priorizada del producto, que acta como
plan del proyecto. En esta lista el cliente prioriza los objetivos balanceando el valor que le
aportan respecto a su coste y quedan repartidos en iteraciones y entregas. De manera regular
el cliente puede maximizar la utilidad de lo que se desarrolla y el retorno de
inversin mediante lareplanificacin de objetivos que realiza al inicio de cada iteracin.

Las actividades que se llevan a cabo en Scrum son las siguientes:

Planificacin de la iteracin

El primer da de la iteracin se realiza la reunin de planificacin de la iteracin. Tiene dos
partes:
1. Seleccin de requisitos (4 horas mximo). El cliente presenta al equipo la lista de
requisitos priorizada del producto o proyecto. El equipo pregunta al cliente las dudas que
surgen y selecciona los requisitos ms prioritarios que se compromete a completar en la
iteracin, de manera que puedan ser entregados si el cliente lo solicita.
2. Planificacin de la iteracin (4 horas mximo). El equipo elabora la lista de tareas de la
iteracin necesarias para desarrollar los requisitos a que se ha comprometido. La
estimacin de esfuerzo se hace de manera conjunta y los miembros del equipo se
autoasignan las tareas.
Ejecucin de la iteracin

Cada da el equipo realiza una reunin de sincronizacin (15 minutos mximo). Cada miembro
del equipo inspecciona el trabajo que el resto est realizando (dependencias entre tareas,
progreso hacia el objetivo de la iteracin, obstculos que pueden impedir este objetivo) para
poder hacer las adaptaciones necesarias que permitan cumplir con el compromiso adquirido.
En la reunin cada miembro del equipo responde a tres preguntas:
Qu he hecho desde la ltima reunin de sincronizacin?
Qu voy a hacer a partir de este momento?
Qu impedimentos tengo o voy a tener?
Durante la iteracin el Facilitador se encarga de que el equipo pueda cumplir con su
compromiso y de que no se merme su productividad.
Elimina los obstculos que el equipo no puede resolver por s mismo.
Protege al equipo de interrupciones externas que puedan afectar su compromiso o su
productividad.
Inspeccin y adaptacin

El ltimo da de la iteracin se realiza la reunin de revisin de la iteracin. Tiene dos partes:
1. Demostracin (4 horas mximo). El equipo presenta al cliente los requisitos completados
en la iteracin, en forma de incremento de producto preparado para ser entregado con el
mnimo esfuerzo. En funcin de los resultados mostrados y de los cambios que haya
habido en el contexto del proyecto, el cliente realiza las adaptaciones necesarias de
manera objetiva, ya desde la primera iteracin, replanificando el proyecto.
2. Retrospectiva (4 horas mximo). El equipo analiza cmo ha sido su manera de trabajar y
cules son los problemas que podran impedirle progresar adecuadamente, mejorando
de manera continua su productividad. El Facilitador se encargar de ir eliminando los
obstculos identificados.
Planificacin de la iteracin (Sprint Planning)
La planificacin de las tareas a realizar en la iteracin se divide en dos partes:
Primera parte de la reunin. Se realiza en un timebox de cmo mximo 4 horas* :
El cliente presenta al equipo la lista de requisitos priorizada del producto o proyecto,
pone nombre a la meta de la iteracin (de manera que ayude a tomar decisiones
durante su ejecucin) y propone los requisitos ms prioritarios a desarrollar en ella.
El equipo examina la lista, pregunta al cliente las dudas que le surgen, aade
mscondiciones de satisfaccin y selecciona los objetivos/requisitos ms prioritarios
que se compromete a completar en la iteracin, de manera que puedan ser entregados
si el cliente lo solicita.
Segunda parte de la reunin. Se realiza en un timebox de cmo mximo 4 horas* . El equipo
planifica la iteracin, elabora la tctica que le permitir conseguir el mejor resultado
posible con el mnimo esfuerzo. Esta actividad la realiza el equipo dado que ha adquirido un
compromiso, es el responsable de organizar su trabajo y es quien mejor conoce cmo
realizarlo.
Define las tareas necesarias para poder completar cada objetivo/requisito, creando
la lista de tareas de la iteracin (Sprint Backlog) basndose en la definicin de
completado.
Realiza una estimacin conjunta del esfuerzo necesario para realizar cada tarea.
Cada miembro del equipo se autoasigna a las tareas que puede realizar.
* Estos son tiempos mximos en el caso de iteraciones mensuales. En iteraciones de tamao
menor el tiempo es proporcionalmente inferior, y se puede ir reduciendo conforme el equipo
va ganando experiencia en este tipo de reuniones, aunque tambin depender de la
complejidad a desarrollar en la iteracin.
Beneficios

Productividad mediante comunicacin y creacin de sinergias:
Todos los miembros del equipo tienen una misma visin del objetivo y se ha utilizado los
conocimientos y las experiencias de todos para elaborar la mejor solucin entregable en
el mnimo tiempo y con el mnimo esfuerzo, eliminando tareas innecesarias, detectando
conflictos y dependencias entre tareas, etc.
Potenciacin del compromiso del equipo sobre el objetivo comn de la iteracin:
Es todo el equipo quien asume la responsabilidad de completar en la iteracin los
requisitos que selecciona. Facilita la ayuda de cualquier miembro si se detecta algn
impedimento que bloquea el progreso de la iteracin, especialmente si cuando se est
llegando al final de la iteracin es necesaria la participacin de todos para poder
completar los objetivos comprometidos.
Es cada una de las personas la que se responsabiliza de realizar sus tareas (a las que se
autoasign) en los tiempos que proporcion. Si existe falta de compromiso con respecto
al resto de miembros del equipo se har muy evidente en las reuniones diarias de
sincronizacin del equipo (Scrum daily meeting).
Una estimacin conjunta es ms fiable, dado que tiene en cuenta los diferentes
conocimientos, experiencia y habilidades de los integrantes del equipo.