Você está na página 1de 6

Prcticas giles - Desarrollo de

software con un enfoque gil


Por Rohit Sinha, PMP

a palabra gil ya no es ms un murmullo. El equipo comienza con los requerimientos,

L Los retornos inmediatos son lo que la han


hecho popular. La filosofa bsica del
enfoque gil busca acomodar los cambios.
luego va a la fase de diseo y crea un diseo
tcnico detallado, y as sucesivamente. Este
modelo tiene muchas restricciones y una de
Sabemos que las ideas comienzan a verter cuando
ellas es no poder mantenerse al ritmo de los
de hecho vemos un producto funcionando. Como
requisitos cambiantes. El congelar los
dice mucha gente, una de las principales
dificultades del modelo en cascada tradicional requisitos antes de comenzar la
(Figura I) ha sido que gestionar los cambios (por implementacin ha sido un desafo continuo.
ejemplo, pensar todo de antemano) es un desafo. Una documentacin completa es uno de los
aspectos claves de este modelo.
Ha habido una gran cantidad de sesiones
de tormenta de ideas sobre varios enfoques
prcticos alternativos para las necesidades actuales.
El Manifiesto gil (bosquejado en febrero del
2001) dice: Estamos descubriendo mejores formas
de desarrollar software al hacerlo [gil] y al ayudar a
otros a que lo hagan. A travs de este trabajo hemos
llegado a valorar:
a los individuos y a las interacciones sobre
Este artculo habla brevemente sobre la los procesos y las herramientas,
metodologa gil y sus caractersticas, y da detalles al software funcionando sobre la
para gestionar proyectos de software con prcticas documentacin completa,
giles. a la colaboracin con el cliente sobre la
negociacin del contrato,
Historia el responder al cambio sobre el seguir un
En el modelo tradicional de cascada, el plan
proyecto fluye de arriba hacia abajo, justo
como una cascada, por ejemplo el equipo del Metodologa
proyecto debe seguir una secuencia. Los pasos gil es un enfoque adaptativo que se basa en la
que se siguen uno detrs del otro son: los filosofa de que los cambios no se pueden evitar.
requisitos, el diseo, la implementacin, las Promueve un ciclo corto de entrega, un anlisis
pruebas, la instalacin, y el mantenimiento justo a tiempo, una colaboracin cercana, y una
alta visibilidad. Los proyectos se dividen en
(Figura I).

Centro de Conocimiento del PMI | www.PMI.org/latam | 2010 Rohit Sinha, PMP 1


pequeos perodos de tiempo conocidos como Scrum
iteraciones. Una iteracin se divide en scrums y Scrum es un marco del proceso de desarrollo de
sprints. Una iteracin en general abarca de dos a software que contiene prcticas y roles
cuatro semanas y generalmente se completa con la predefinidos que permiten la creacin de equipos
una entrega. En general, la primera iteracin se usa que se organizan a s mismos. Reconoce los
para realizar el alcance y plan preliminar, y un cambios y se enfoca en tratar con los requisitos que
diseo inicial. En las siguientes iteraciones se hace surgen. Los roles principales de los equipos de
el desarrollo. Luego de completar una iteracin de Scrum son el scrum master, el dueo del
desarrollo, se hace una demo y se obtiene producto, y el equipo:
retroalimentacin del cliente. Cualquier cambio Scrum master es el rol del lder del proyecto.
necesario en el software que est funcionando se Es la persona que coordina y mantiene los
implementar en las iteraciones siguientes. Uno de procesos. Es quin facilita los procesos de
los beneficios de este modelo es que las Scrum y coordina con el dueo del producto y
modificaciones necesarias se incorporan en el con el equipo de desarrollo.
software sin sorpresas de ltimo minuto. Dueo del producto es un interesado clave que
representa al usuario final y sirve como un
No se necesita cambiar. No es vnculo entre el equipo del proyecto y el

obligatorio sobrevivir cliente. Es quin prioriza los requisites.


Responde a las preguntas del equipo y le da
W. Edwards Deming


La Figura 2 presenta una visin a alto nivel del
proceso general de gil con sus componentes
direccin al equipo. En mi opinin, algunas
caractersticas valiosas del dueo del producto
son tener buenas habilidades
comunicacin, estar dispuestos a profundizar
de

principales. en su entendimiento del producto y del valor

para el mercado, buenas habilidades con la


Los detalles de este proceso mostrado en la Figura interfaz de usuario, y algn antecedente
2 se discuten en las siguientes secciones. Este tcnico (le ayuda para comunicarse con el
enfoque tiene las siguientes caractersticas: equipo de desarrollo).

Centro de Conocimiento del PMI | www.PMI.org/latam | 2010 Rohit Sinha, PMP 2


El equipo es un equipo de varios requisitos le da flexibilidad al equipo de desarrollo
departamentos, de 5 a 9 miembros que hacen para que piense ms, y a menudo te sorprenden
el anlisis, el diseo, la implementacin y las con su innovacin.
pruebas.
Puntos de historia (Story Points)
Sprint Se debe estimar las historias de usuario, y la
Un sprint tiene una duracin de dos a cuatro estimacin se hace en puntos de historia. Un
semanas, y contiene un producto en progreso con punto de historia es un nmero que dice qu tan
una lista de casos o historias de usuario tomadas fcil o difcil es implementar una historia.
del log del producto (o feature backlog en ingls). Representa el tamao de la historia de usuario en
Cada da, en un sprint, ocurre una reunin diaria relacin a otras historias. Por ejemplo, se le da dos
que se hace de pie con el equipo, conocida puntos a una historia si Ud. cree que es el doble
tambin como el Scrum diario. Esto ayuda a dar a ms grande que una historia de un punto, y la
conocer el estado actual, y a resolver cualquier cosa mitad de una historia de cuatro puntos. Este
que bloquee el proyecto. Durante la reunin, cada mtodo de estimacin es ms prctico, y por lo
miembro del equipo responde a tres preguntas: tanto, la estimacin total del esfuerzo es apropiada.
Qu has hecho desde ayer?
Qu planificas hacer hoy? Lista de requisitos del producto (Feature
Tienes algn problema que te detenga el backlog)
cumplir con tu meta? El backlog del producto es una lista priorizada de
historias de usuario. Es e l corazn de Scrum. El
dueo del producto generalmente colabora con el
Scrum de Scrums
El trmino scrum de scrums aplica normalmente a cliente y vienen con tems del backlog. Sus
un proyecto que consiste de varios equipos, dado caractersticas son:
que ayuda a resolver situaciones y dependencias Es dinmica. Cambia continuamente cuando
entre los distintos equipos. Involucra cambian los requisitos.
representantes de cada equipo, y normalmente el Cada tem tiene una prioridad (Tabla I)
scrum master representa a su equipo durante la En general no tiene el detalle del requisito.
reunin. En general esto ocurre diariamente luego Los detalles se ven cuando se va a
del Scrum diario. implementar el requisito.
Los tems de ms arriba en la lista en general
Historias de usuario (User story) son ms detallados comparados con los tems
En el mundo gil, los requisitos se expresan como de ms abajo, para los cuales los requisitos en
una historia de usuario. Es una forma rpida de general son vagos.
representar los requisitos sin entrar en detalles. Se
escribe en una o dos oraciones y en un lenguaje de
negocios. Cada funcionalidad de la aplicacin se
representa mediante una historia de usuario. Hay
ejemplos a continuacin:

En mi experiencia, esta es una gran manera de


mantener el registro del producto (o feature
backlog en ingls). Se presta atencin a los detalles
cuando se acerca la entrega de la historia. He
encontrado que una ilustracin a alto nivel de los

Centro de Conocimiento del PMI | www.PMI.org/latam | 2010 Rohit Sinha, PMP 3


Dirigiendo proyectos giles de comenzar con la iteracin. Se seleccionan las
Como mencion en el Manifiesto de gil, los funcionalidades de mayor prioridad; puede haber
proyectos giles recomiendan la comunicacin tambin algunos pocos tems de prioridad ms
cara a cara sobre la comunicacin va documentos, baja si encajan con la meta general de la iteracin.
especialmente si el equipo est ubicado en el Estas funcionalidades se parten en tareas. Cada
mismo lugar. En el caso de los equipos virtuales tara en general lleva de cuatro horas a dos das. Si
(dispersos geogrficamente), se puede sustituir las una tarea necesita ms de dos das, se parte en
comunicaciones personales mediante las subtareas. Durante el plan de la iteracin, si se
conferencias por video, skype, wiki, y correo descubre que las funcionalidades se completarn
electrnico. En mi experiencia, la comunicacin antes de tiempo, el dueo del producto ajusta su
de este modo tambin funciona bien. En los alcance agregndole ms funcionalidades. Del
proyectos giles los interesados estn involucrados mismo modo, si el tiempo de la iteracin no es
desde el inicio del proceso; he encontrado que esto suficiente para todos los requisitos de la iteracin,
es muy til ya que permite que los incidentes se el dueo del producto ajusta la iteracin
descubran temprano y ayuda a construir un eliminando algunos requisitos y asignndolos a
producto amigable para el usuario. Los ejemplos se otras iteraciones.
usan para describir las funcionalidades de una
aplicacin o una unidad de cdigo. El software
funcionando es la medida de progreso. Las
prcticas de software como el desarrollo orientado
a las pruebas, la integracin continua, la
restructuracin del cdigo fuente, y las pequeas
versiones, ayudan a mejorar la eficiencia general
del proyecto.
El desarrollo
En la mayora de las implementaciones giles se
Duracin de la iteracin comunican cara a cara diariamente entre los
Una iteracin gil tpica dura dos semanas, debido
miembros del equipo. Esto tambin incluye al
a que una semana es demasiado corto y un mes
dueo del producto como representante del cliente
puede ser muy largo. Dos semanas es suficiente
y a algunos interesados como observadores. Aqu
para obtener algo significativo funcionando dado
el software funcionando es la medida principal de
que hay alguna sobrecarga de la planificacin y el
avance. Cuando un equipo trabaja en diferentes
cierre de la iteracin. Sin embargo, a veces, los
lugares, mantiene contacto diario a travs de
equipos ms grandes (de 8 a 9 personas), tienen
conferencias por video, voz, correo electrnico,
iteraciones ms largas para mostrar progreso. En
etc. La generacin automatizada del build y las
mi opinin, como regla general se usan dos
pruebas automatizadas en general son parte del
semanas para una iteracin, pero en el caso de un
desarrollo y ayudan a maximizar la eficiencia del
proyecto o de un equipo ms grande, se puede
equipo. He encontrado que vale la pena pasar un
considerar un ciclo de cuatro semanas.
tiempo inicial para poner esos procesos a
funcionar. Hace ms fcil la vida de todos y el
Planificacin de la iteracin
desarrollo general ms eficiente. Los proyectos se
El principal objetivo de la planificacin es definir
enfocan en la calidad, la cual incluye la calidad del
el alcance de la iteracin. Sobre la base del
cdigo. La restructuracin del cdigo (code
proyecto actual o de la situacin del negocio, se
refactoring) y las pruebas son atributos de la
agregan o se eliminan funcionalidades del backlog.
calidad. La prctica de restructuracin del cdigo
La planificacin de iteraciones no debera llevar
es donde Ud. hace cambios simples al cdigo que
ms de dos a cuatro horas. Esto se hace justo antes

Centro de Conocimiento del PMI | www.PMI.org/latam | 2010 Rohit Sinha, PMP 4


mejoran la calidad sin cambiar la semntica. El representacin del tiempo. En general, el eje
equipo prefiere probar a menudo y temprano, y vertical representa la cantidad de trabajo restante y
los ms disciplinados an toman un enfoque el eje horizontal representa el tiempo. Es una de
orientado a las pruebas donde escriben una prueba las formas preferidas de mostrar el progreso de un
y el cdigo suficiente para satisfacer esa prueba, y sprint. La Figura 6, muestra un cuadro burn down
luego vuelven a iterar. La Figura 4 muestra un de una versin a liberar, donde el trabajo se
ciclo de iteracin tpico: visualiza como puntos de historia y tiempo en las
iteraciones:

Seguimiento y ajustes Asuntos


Se registra el avance del proyecto en la iteracin y
Algunas personas an tienen dudas sobre este
se hacen ajustes (Figura 5).
enfoque. Algunas preguntas o preocupaciones
comunes son: necesito adoptarlo? No parece
ser un proceso organizado o fcil de vendrselo a
mis clientes, Qu pasar con el aseguramiento
de la calidad? y Suena demasiado riesgoso.
Todos estos son puntos vlidos para considerar
antes de adoptar este enfoque. Adems, no siempre
es gil es bueno necesariamente para todos los
proyectos. Hay otros enfoques de desarrollo que
vale la pena considerar si se da lo siguiente en un
proyecto particular:
1. Es un equipo grande
2. No es posible un ciclo de iteracin
A medida que el proyecto avanza, los interesados pequeo
logran un mejor entendimiento al ver el software 3. Los requisitos estn claramente
funcionando, y sus necesidades pueden cambiar. enunciados y detallados
Adems, tambin son factores comunes los 4. Los requisitos no cambian.
cambios en la situacin del negocio o los cambios 5. Los interesados no estn disponibles
de prioridades a nivel de la organizacin. El durante el desarrollo.
backlog del producto se actualiza basado en las 6. Se necesita la documentacin completa
necesidades actuales, y se vuelven a planificar las para tener xito.
siguientes iteraciones.
Una de las herramientas que ayuda a registrar el En situaciones del mundo real, los puntos
progreso es el cuadro llamado burn down que es mencionados no aplican la mayora de las veces, y
una representacin grfica del trabajo en por lo tanto, gil es una buena solucin.

Centro de Conocimiento del PMI | www.PMI.org/latam | 2010 Rohit Sinha, PMP 5


Conclusin Informacin. Es un profesional innovador con
Si bien an hay preocupaciones sobre el enfoque gran experiencia en liderazgo y una habilidad
gil, sus beneficiostales como el acomodar los comprobada para identificar, analizar, y resolver
requisitos cambiantes del cliente, retornos problemas para aumentar la satisfaccin del cliente
inmediatos, coordinacin cercana, y flexibilidad y controlar los costos. Es responsable por la
facilitan que aquellos que estn desarrollo de
ejecucin y direccin de varios proyectos, y se
software lo acepten rpidamente. La filosofa de las
personas son ms importantes que los procesos enfoca en construir la confianza y las relaciones
se est haciendo ms exitosa con cada da que pasa. necesarias para que los proyectos avancen. Tiene
Es un enfoque muy bien pensado para proyectos expertise en el dominio de seguros, contabilidad, y
que se ejecutan con xito. En un mundo como gestin documenta. Tiene una maestra en ciencias
este que funciona tan rpidamente, muchas de la computacin. Puede contactarse a
compaas estn adoptando las prcticas giles rohit_s25@hotmail.com
para ser ms exitosos.
Artculo traducido del original en ingls titulado Software
Sobre la autora Development with Agile Approach en la Biblioteca Virtual del
PMI (PMI Virtual Library) de www.PMI.org.
Rohit Sinha, PMP, es gerente de productos con 11
aos de experiencia en proyectos de Tecnologa de Si tiene alguna sugerencia de mejora de esta traduccin al espaol
puede enviarla a LASpanishNews@pmi.org

Centro de Conocimiento del PMI | www.PMI.org/latam | 2010 Rohit Sinha, PMP 6

Você também pode gostar