Beruflich Dokumente
Kultur Dokumente
Presentacin:
Unidad 1:
Introduccin
Pgina 4
Objetivo:
Temario:
4. Radiadores de Informacin
Temario Detallado
0 Introduccin ............................................................................................................. 8
0.1 Contexto............................................................................................................. 8
0.2 Temario .............................................................................................................. 9
1 Introduccin a las metodologas giles .................................................................. 10
1.1 Gestin de Proyectos ....................................................................................... 11
1.2 Definicin de Metodologas giles .................................................................. 11
1.3 La Mentalidad gil ........................................................................................... 12
1.4 Enfoque de Gestin de las Metodologas giles ............................................. 12
1.5 Cundo Si y Cundo No? ................................................................................ 13
2 Manifiesto gil y sus principios .............................................................................. 14
2.1 Contexto........................................................................................................... 15
2.2 Valores ............................................................................................................. 15
2.2.1 Individuos e Interacciones sobre Procesos y Herramientas .................... 15
2.2.2 Producto Funcionando sobre Documentacin Extensiva ........................ 16
2.2.3 Colaboracin con el Cliente sobre Negociacin Contractual ................... 16
2.2.4 Respuesta ante el Cambio sobre Seguir un Plan ...................................... 16
2.3 Principios .......................................................................................................... 17
3 Introduccin a Lean, Kanban, Scrum y XP .............................................................. 18
3.1 Lean .................................................................................................................. 19
3.1.1 Conceptos ................................................................................................. 19
3.1.2 Los 7 Principios de Lean............................................................................ 21
3.1.3 Value Stream Maping ............................................................................... 22
3.2 Scrum ............................................................................................................... 25
3.2.1 Pilares y Valores........................................................................................ 25
3.2.2 El marco de trabajo .................................................................................. 26
3.2.3 Sprint ........................................................................................................ 27
3.2.4 Roles ......................................................................................................... 27
3.2.5 Artefactos ................................................................................................. 27
3.2.6 Ceremonias ............................................................................................... 28
3.2.7 Conclusiones ............................................................................................. 29
3.3 Kanban ............................................................................................................. 30
Pgina 7
0 INTRODUCCIN
La capacidad de management de los individuos y la correcta ejecucin de las prcticas
de gestin son un diferencial clave en cualquier organizacin. Sin embargo, no existe un
modelo nico de gestin que asegure el xito de cualquier proyecto.
En este curso revisaremos los principios y prcticas que son comprendidas en la gestin
gil de proyectos, teniendo en cuenta tambin la certificacin PMI Agile Certified
Practitioner (ACP).
0.1 CONTEXTO
El enfoque gil tiene su auge en varias metodologas nacidas en los aos 90 (Extreme
Programming, Scrum, Lean) o ms recientemente (Kanban). Si bien las metodologas
giles se basan en varias buenas prcticas anteriores y tienen cada una sus
especificidades, todas se diferencian de la gestin tradicional (predictiva) por considerar
esquemas ms adaptativos.
Las metodologas giles son un conjunto de buenas prcticas con cada vez ms
aceptacin, siendo empleadas y aplicadas en todo tipo de organizaciones y dominios.
Pgina 9
0.2 TEMARIO
Unidad 01: Introduccin
Introduccin a las metodologas giles
El manifiesto gil y sus principios
Introduccin a Scrum, XP, Kanban y Lean
Radiadores de Informacin
Adopcin de metodologas giles
Se emplea para ello un ciclo de vida iterativo e incremental. Iterativo ya que se sigue
una secuencia de etapas cortas que terminan con la entrega de una porcin del producto
terminada o un resultado parcial alcanzado.
1
http://www.standishgroup.com/
Pgina 12
cada iteracin. Tambin permite incorporar cambios provenientes del feedback del
cliente sobre el uso real del producto (o servicio).
La gestin gil es tambin conocida por otros calificativos, como por ejemplo gestin
liviana o adaptativa.
Esta mentalidad gil se refleja en el manifiesto gil, los principios Lean, los valores de
XP, y los pilares de Scrum, entre otros.
Para que sea exitoso el uso de las prcticas giles, es vital entender para qu se hace
cada prctica, sin esto es como solo tener la costra del tronco de un rbol, sin tener el
interior Es probable que no se pueda usar con xito en forma sostenible.
2. El objetivo de un proyecto debe ser el valor del producto para el negocio o sus
interesados ms que el cumplimiento del plan.
En algunos casos puede ser ms importante para el negocio que el producto se adapte
a un cambio reciente o que se agreguen algunas funcionalidades importantes que se
propusieron en el medio del proyecto, en lugar de terminar en fecha y con el
presupuesto acordado.
El enfoque gil suele tener los mejores resultados en la zona naranja de los proyectos
complejos. Se puede utilizar tambin en proyectos de baja complejidad o simples (zona
verde), pero puede ser ms conveniente seguir un enfoque tradicional. En proyectos
donde no hay acuerdos fijados y se desconoce la tecnologa (zona roja), no hay garanta
de resultados con el enfoque gil.
Pgina 14
2.1 CONTEXTO
Los principales pensadores de esta nueva corriente idearon un encuentro para explorar
juntos las similitudes en sus distintos trabajos y definir valores comunes que queran
promulgar.
Dicho Manifiesto gil fue adoptado y firmado formalmente por miles de profesionales
de la industria del software.
2.2 VALORES
En el Manifiesto gil se presentan los 4 pilares fundamentales del agilsimo, como un
conjunto de aspectos a valorar por sobre otros:
En general la mayora de las tareas tcnicas de trabajo deben gran parte de su valor al
conocimiento y al talento de las personas que las realizan. Considerar que con procesos
se pueden conseguir resultados extraordinarios con personas mediocres puede llevar a
problemas importantes cuando los trabajos necesitan de creatividad constante como en
el desarrollo moderno de software.
2
Manifiesto gil: http://agilemanifesto.org/ - Traduccin: http://agilemanifesto.org/iso/es/
Pgina 16
Es probable que se requiera alguna documentacin para poder llegar a este objetivo,
pero el Manifiesto gil reconoce que al fin y al cabo la nica medida real de avance de
un proyecto es la entrega de un producto funcionando, y por esta razn tiene que ser
el objetivo permanente de cualquier equipo de proyecto.
Las prcticas giles cobran particular relevancia para el desarrollo de productos difciles
de definir con detalle en el principio, o cuando los requisitos suelen ser muy voltiles
por los cambios en el entorno de negocio. En tales casos suelen fracasar las gestiones
basadas en modelos contractuales cerrados con procedimientos de gestin de cambios
muy definidos que en general terminan en identificar si la culpa de los retrasos la tiene
el proveedor o el cliente.
En el desarrollo gil, se busca sumar al cliente como un miembro ms del equipo, que
se integra y colabora diariamente en el grupo de trabajo. Se trabaja en general con un
marco contractual de alto nivel sobre el cual se construye una relacin de confianza
basada en los resultados logrados.
2.3 PRINCIPIOS
Tras los cuatro valores descritos previamente, el Manifiesto gil presenta los siguientes
principios del agilsimo:
2. Aceptamos que los requisitos cambien, incluso en etapas tardas del proyecto.
Los procesos giles aprovechan el cambio para proporcionar ventaja competitiva
al cliente.
8. Los procesos giles promueven el desarrollo sostenible. Los sponsors, equipo del
proyecto e interesados debemos ser capaces de mantener un ritmo constante
de forma indefinida.
12. A intervalos regulares el equipo reflexiona sobre cmo ser ms efectivo para a
continuacin ajustar y perfeccionar su comportamiento en consecuencia.
Pgina 18
3.1 LEAN
Lean o Lean Manufacturing (manufactura esbelta) fue generado por Toyota para la
construccin de automviles. Lean es una metodologa que consta de una serie de
principios que puede aplicarse en varios mbitos y en mltiples niveles de las
organizaciones: no solo para proyectos, sino tambin para contabilidad, ventas,
administracin gerencial, logstica, etc.
3.1.1 Conceptos
Bsqueda de calidad
Lean busca enaltecer la calidad, reduciendo los defectos en su origen, atacando los
problemas de una manera permanente. Se opone a buscar soluciones provisorias o
work-around temporales, que solo ocasionan un alivio temporal.
Cuando no se tratan las causas originarias del problema o aun peor cuando se las
desconoce, se deja lugar a eventuales problemas mayores a futuro.
Lean se basa en la generacin de valor para el negocio. Existen tareas que se realizan
que aparentemente son de valor, pero no de valor para el negocio. Probablemente
generan un valor intermedio, pero que no llega a impactar en el valor final.
Mejora continua
Lean toma la calidad como una meta mvil, ya que se sube el nivel a medida que se vaya
alcanzando. En consecuencia, la organizacin debe estar mejorando continuamente.
Para simplificar, la generacin de un producto suele empezar por proveer las materias
primas, contratar el personal, conseguir la maquinaria, producir el producto final y
venderlo en el mercado (sistema Push).
Lean plantea no optimizar el proceso en este orden sino al revs. Se toma en cuenta
primero la solicitud del cliente, para mirar que se requiere generar en la etapa anterior,
y as sucesivamente con cada etapa (sistema Pull).
Retrasar decisiones
Para lograr flexibilidad, se debe realizar lo necesario para poder adaptarnos a un futuro,
pero sin adelantarnos a hacer suposiciones y desarrollos, los cuales podran realizarse
ms adelante.
Por ejemplo, cuando se realiza una planificacin muy detallada a largo plazo en un
proyecto de alta incertidumbre, difcilmente se puede evitar caer en mltiples re-
planificaciones, debido al alto nivel de detalle de esta y a la dificultad de poder saber
con certeza como se desarrollar el proyecto. Se podra evitar postergando la
planificacin a detalle hasta que el nivel de incertidumbre haya disminuido.
Pgina 21
Los siete principios Lean contemplados para el desarrollo de software se pueden resumir
de la siguiente forma:
4. Optimizar el todo: ver el sistema como ms que la suma de sus partes. Ver como
se alinea con la organizacin y mejorar la interrelacin entre los equipos.
5. Construir con Calidad: incluir calidad en cada parte del proceso y no solo medir
al final con un test. Asegurar la calidad en forma continua en el proyecto.
*Libro sugerido: Lean Agile Software development, Achiving Enterprise Agility, de Alan
Shalloway, Guy Beaver y James R. Trott.
El Value Stream Maping (Mapa de Flujo de Valor) es una tcnica de Lean que es
comnmente utilizada en las organizaciones giles. Est orientada a sostener el principio
de optimizar todo el proceso para generar mayor valor al negocio.
En el siguiente grfico, se muestra un Value Stream Map, desde una etapa temprana
de recepcin de mercadera de un proveedor hasta la entrega de un producto a un
cliente:
Pgina 23
2. Dibujar todos los pasos del proceso, con sus duraciones y sus flujos de
informacin. Esto es el Mapa de Flujo de Valor actual.
Los pasos para la construccin de este Mapa de Flujo de Valor son los siguientes
2. Se determin cada uno de los procesos del flujo, y sus tiempos promedios.
Tambin se detectaron las colas existentes en el flujo: hay una antes de
ingresar las solicitudes al proceso de desarrollo, donde quedan encoladas
esperando respuesta por 3 das. Cuando ya estn desarrolladas es difcil
Pgina 24
contactar con el usuario para que valide la mejora. Por esta razn se tarda
aproximadamente 5 das. Las implementaciones se realizan siempre a final de
da.
5. Se desarroll un cronograma, plan, para hacer efectivo que las decisiones del
punto 4. Se planific la capacitacin de un grupo de desarrolladores
exclusivamente para incidentes y otro para mejoras aplicativas.
3.2 SCRUM
Scrum utiliza un proceso iterativo e incremental donde se ejecutan iteraciones de
duracin corta, manteniendo a un ritmo parejo en el paso por la planificacin, la
ejecucin y la reflexin sobre lo ocurrido.
Coraje: Debido a que los equipos Scrum trabajan como verdaderos equipos nos
apoyamos entre compaeros para as asumir compromisos desafiantes.
Apertura: Nos permite una discusin abierta de los problemas que tenemos al
realizar el proyecto, la informacin est disponible para todos.
Compromiso: Cada integrante del equipo debe tener un compromiso para lograr
el xito del grupo.
Cuando Jeff Sutherland creo el marco de Scrum en 1993, utilizo el trmino scrum por
una analoga presentada en un estudio de 1986, por Takeuchi y Nonaka3. En este estudio
se compara equipos de alto rendimiento y multidisciplinario a la formacin del scrum
de los equipos de rugby.
24
horas
Incremento de
1a4 Funcionalidad
Backlog de Backlog semanas Potencialmente
Producto de Entregable
Sprint
Un Dueo del Producto crea una lista priorizada de requisitos llamada Backlog
de Producto.
Durante la Planificacin del Sprint4, el Equipo selecciona una pequea porcin
de esta lista, un Backlog de Sprint, y decide cmo implementar estos requisitos.
El equipo tiene un tiempo limitado, un Sprint (1 a 4 semanas), para terminar su
trabajo, pero se rene cada da para constatar su progreso (Reunin Diaria de
15 minutos).
En este camino, el Scrum Master mantiene el equipo enfocado haca su objetivo.
Al final del sprint, el trabajo debera ser Potencialmente Entregable, o sea estar
listo para enviar a un cliente, empaquetar para su distribucin o presentar a un
sponsor.
El sprint termina con una Revisin de Sprint y una Retrospectiva.
Cuando se inicia el prximo sprint, el equipo selecciona otra pequea porcin
del backlog de producto y empieza a trabajar de nuevo.
Este ciclo se repite hasta que el backlog de producto se haya completado, que el
presupuesto se haya gastado o que un deadline haya llegado, segn la especificidad de
cada proyecto. No importa lo que genera el fin del trabajo, Scrum asegura que se haya
terminado el proyecto de mayor valor al final del proyecto.
3
Hirotaka Takeuchi e Ikujiro Nonaka (1986) - New Product Development Game - Harvard Business Review
4
La iteracin en Scrum se denomina Sprint
Pgina 27
3.2.3 Sprint
Sprint es el nombre de la iteracin en Scrum. Se acuerda una duracin fija para todos
los sprints, en general entre una y cuatro semanas. Los sprints se ejecutan uno tras el
otro respetando est duracin, sin tiempo muerto entre el sprint que termina y el sprint
que empieza. El objetivo del sprint es de transformar un conjunto acordado de tems del
Backlog de Producto en un Incremento de Funcionalidad de Producto Potencialmente
Entregable.
3.2.4 Roles
Scrum formaliza tres roles: el Dueo de Proyecto, el Scrum Master y el Equipo.
Dueo de Producto
Es la voz del cliente, el que establece una visin slida del producto a desarrollar y
prioriza continuamente los requisitos para alcanzar dicha visin.
Sus responsabilidades:
canalizar las necesidades del negocio
maximizar el valor para el negocio
inspeccionar y adaptar el producto
Scrum Master
El Scrum Master es un lder servicial para el equipo, pero tambin un facilitador y agente
de cambio para la aplicacin adecuada de Scrum en el equipo y la organizacin.
Sus responsabilidades:
asegurar la correcta aplicacin de Scrum.
eliminar los impedimentos que frenan el trabajo del equipo.
Equipo
El equipo es un grupo auto-organizados, multidisciplinario y con autonoma, que
desarrolla el producto. Su nica responsabilidad es de transformar el Backlog de
Producto en incrementos de funcionalidad potencialmente entregable en cada sprint.
Se caracteriza tambin el equipo por su auto-gestin.
3.2.5 Artefactos
Backlog de Producto
El Backlog de Producto es una lista nica, pblica y dinmica que recopila una secuencia
priorizada de requerimientos para el producto. Algunos de estos requerimientos tienen
una estimacin de alto nivel de esfuerzo o complejidad. Se suele decir que el Backlog de
Producto representa el Qu esperado del producto, sin preocuparse por el Cmo.
Backlog de Sprint
El Backlog de Sprint es un conjunto reducido negociado de tems del Backlog de
Producto que el equipo se compromete a completar durante el tiempo alocado al Sprint.
Cada tem incluido en el sprint es dividido en tareas detalladas que el equipo va a
completar, con una estimacin de duracin que no supere un da de esfuerzo. El Backlog
de Sprint es actualizado diariamente por el equipo, y muestra en cada momento las
tareas pendientes, en curso y terminadas para completar los tems del sprint, as como
una estimacin del esfuerzo pendiente de cada tarea no terminada y a quin est
asignada la tarea. Se suele utilizar un Tablero de Sprint como forma de visualizar el
Backlog de Sprint, o algn otro soporte herramental que permite darle visibilidad.
3.2.6 Ceremonias
Planificacin
Objetivos:
Que el Equipo entienda los tems ms prioritarios del Backlog de
Producto
Que el Equipo y el Dueo de Producto acuerdan el conjunto de tems del
Backlog de Producto que se van a desarrollar durante el prximo sprint
Que el Equipo de defina las tareas requeridas para construir las
funcionalidades acordadas durante el prximo sprint
Revisin
La Reunin de Revisin tiene los siguientes objetivos:
Que los interesados en el producto puedan visualizar y/o experimentar
las funcionalidades construidas durante el sprint.
Que el Dueo de Producto pueda aceptar o rechazar dichas
funcionalidades.
Que los interesados en el producto puedan elaborar eventuales mejoras
al producto en base a lo visto.
Retrospectiva
Objetivos: Inspeccionar los procesos de trabajo y las interacciones que ocurrieron en el
ltimo sprint para detectar fortalezas del equipo y oportunidades de mejora. Se busca
acordar unas pocas acciones concretas de mejora a implementar en el prximo sprint
para hacerlo ms productivo.
3.2.7 Conclusiones
3.3 KANBAN
Es la primera metodologa gil de segunda generacin, ya que aparece luego que las
principales otras metodologas giles hayan sido aplicadas durante por lo menos una
dcada. Aporta un enfoque centrado en la mejora continua del proceso basado en un
flujo continuo de trabajo que lleva a una gestin de proyectos muy distinta a lo que se
present hasta ahora en el curso.
3.3.1 Orgenes
Al final de la primera mitad del siglo veinte, la empresa automotriz japonesa Toyota
investig como mejorar su gestin de la demanda automotriz y de su stock de materiales
y autos. Taiichi Ohno tuvo la primera idea de Kanban visitando un supermercado de
EEUU donde el cliente se dirige directamente al depsito correspondiente para buscar
el producto que necesita (siguiendo seales visuales o Kanban que lo guan haca el
depsito) en lugar de pedirlo al personal del negocio.
En el 2004, David Anderson introdujo por primera vez los principios de Kanban en el
equipo de mantenimiento continuo para la Unidad de Negocio XIT en Microsoft, cuya
situacin y rendimiento era al principio bastante por debajo de otros equipos parecidos
y lejos de cumplir con las distintas expectativas involucradas.
5
Pull = Tirar
6
Push = Empujar
Pgina 31
Un sistema Kanban es un sistema o proceso diseado para disparar trabajo cuando hay
capacidad para procesarlo. El disparador se representa con una tarjeta. Se pone a
disposicin una cantidad de tarjetas correspondiente a la capacidad del sistema. Una
tarjeta se adjunta a cada tem de trabajo. La tarjeta sirve como mecanismo visual. Un
nuevo tem de trabajo puede iniciarse nicamente cuando se dispone de una tarjeta libre.
Esta tarjeta libre se adjunta al tem de trabajo para que pueda avanzar a travs del
sistema. Cuando no hay ms tarjetas libres, no se pueden iniciar nuevos trabajos. Cuando
el trabajo se termina, la tarjeta es separada del tem y reutilizada. Este mecanismo es
conocido como sistema Pull, porque un nuevo trabajo es introducido en el sistema
(Pulled) nicamente cuando hay disponibilidad para procesarlo, en lugar de ser
introducido (Pushed) en el sistema en funcin de la demanda.
1. Mostrar el proceso
2. Limitar el trabajo en curso
3. Optimizar el flujo
1. Mostrar el Proceso
Con esta regla se busca visualizar los tems de trabajo y el proceso de trabajo en un
tablero fsico o herramienta digital equivalente.
Luego puede ser til agregar unos estados de En Curso y Terminado para estas
actividades para poder identificar con detalle el estado de avance de los tems de
trabajo. Por ejemplo: Prueba en Curso y Prueba Terminada.
Finalmente se suelen agregar estados de buffer o cola en esta secuencia, como por
ejemplo un estado de espera entre Desarrollo e Integracin.
Con esta regla se busca acordar entre los involucrados lmites sobre la cantidad de tems
de trabajo que pueden encararse a la vez. En el resto del documento utilizaremos el
trmino WIP (Work in Progress) en lugar de trabajo en curso.
Limitar el WIP permite reducir el multi-tasking (trabajar en varias tareas a la vez), lo cual
tiene efectos importantes: reduce el tiempo por cambio de contexto, suele mostrar los
cuellos de botella.
Un lmite de WIP provoca una restriccin sobre cuntos tems de trabajo pueden estar
en el mismo paso del proceso de creacin de valor (en cada columna del tablero).
nicamente cuando un tem de trabajo progresa en el proceso, se abre un espacio para
que un nuevo tem de trabajo pueda entrar en el paso correspondiente.
Definir los lmites de WIP es una tarea compleja que depende de cada equipo, estos
lmites suelen calibrarse mejor a medida que el equipo encuentra su ritmo ptimo.
3. Optimizar el Flujo
Con esta regla se busca monitorear y seguir el avance de los tems de trabajo, para
determinar si el progreso sigue un ritmo regular, estable y ptimo.
El flujo es la progresin visible de los tems de trabajo a travs del sistema Kanban. El
flujo debera seguir un ritmo consistente.
Si un tem de trabajo parece estar frenado, el equipo debera debatir para resolver como
se puede rehabilitar el flujo de nuevo.
Pgina 33
Si todos los tems de trabajo de un paso en particular parecen estar frenados, puede
haber un cuello de botella en el sistema, y el equipo deber tambin debatir
(eventualmente incluyendo roles de management) para cambiar el proceso de creacin
de valor y solucionar el problema.
* Libro Sugerido: Kanban: Succesfull Evolutionary Change for Your Technology Business
David J. Anderson
Pgina 34
3.4.1 Introduccin
El primer proyecto XP fue iniciado en 1996, y luego XP demostr ser exitoso en mltiples
organizaciones de distintos tamaos y distintas industrias en el mundo entero. Los
fundadores de XP son Kent Beck, Ward Cunningham y Ron Jeffries.
3.4.2 Valores
Comunicacin: Todos los involucrados son parte del equipo y se comunican cara a
cara diariamente. Se trabaja en conjunto en todo, desde los requerimientos hasta el
cdigo. Se crea la mejor solucin posible a los problemas en conjunto.
Respeto: Cada uno da y siente el respeto merecido por su aporte de valor como
miembro del equipo. Los desarrolladores respetan la idoneidad del cliente y
recprocamente.
Pgina 35
Coraje: El equipo dice la verdad sobre el avance y las estimaciones del proyecto. No
se documentan excusas sobre las fallas porque se planifica el xito. No hay miedos
porque se trabaja en conjunto. El equipo se adapta a los cambios de requerimientos
y de tecnologas cuando ocurren.
Las prcticas propuestas por XP son pocas y son simples de entender. Sin embargo, estas
doce prcticas tienen un muy fuerte acoplamiento entre s y logran el mayor efecto
cuando son aplicadas en conjunto y no en forma aislada.
Evitar un equipo agotado y menos productivo, lo cual genera una fuerte baja en la
calidad del software producido, ya sea en el corto, mediano o largo plazo.
Horas extras y esfuerzos heroicos son seales de problemas mayores, como por ejemplo
compromisos por encima de las posibilidades, estimaciones pobres, falta de recursos, y
otros. Varias organizaciones aceptan convivir con este problema continuamente.
3. Metaphor (Metfora)
El objetivo de una metfora es de crear un puente de entendimiento: una persona que
trata de explicar un concepto a otra intenta encontrar una referencia comn a los dos
que permita representar el concepto en una forma entendible por ambos. Luego es
posible explicar el concepto usando esta referencia comn como marco.
Esta prctica tambin se conoce como KISS, Keep It Simple Silly, y es una de las ms
antiguas del desarrollo de software.
5. Refactoring
Martin Fowler define el refactoring como el proceso de cambiar un software de tal
forma que no afecte el comportamiento externo del cdigo pero que si permita mejorar
su estructura interna..
Eso significa que todo el cdigo es producido por parejas de personas que programan
una tarea en conjunto en una sola computadora. Uno de los desarrolladores tiene el
control sobre la computadora y piensa principalmente en los detalles de la codificacin.
El otro desarrollador se enfoca en un nivel ms abstracto y revisa continuamente el
cdigo que escribe el primer desarrollador. Los desarrolladores intercambian roles
peridicamente.
8. Testing (Pruebas)
XP define dos tipos de pruebas: las Pruebas de Unidad (o Pruebas Unitarias) y las
Pruebas de Aceptacin.
Pruebas de Aceptacin
XP indica que unas pruebas de aceptacin deben ser definidas por el cliente para
asegurar que la aplicacin funciona correctamente. En general las pruebas de
aceptacin son pruebas de alto nivel de la aplicacin, ms orientadas a la operacin real
del negocio. Una funcionalidad es considerada terminada cuando todos los tests de
aceptacin correspondientes fueron ejecutados con xito.
7
Por ejemplo, JUnit, NUnit, etc.
Pgina 38
La propiedad colectiva del cdigo implica que cada uno es responsable de todo el cdigo,
y tambin que cada uno tiene el permiso de modificar cualquier porcin del cdigo.
Con XP se integra toda la aplicacin cada vez que se sube cdigo al repositorio
compartido de cdigo fuente. De esta forma se descubren los potenciales problemas de
integracin tempranamente y se resuelven en forma gradual ni bien aparecen.
1. El cliente presenta una lista de las funcionalidades deseadas para el sistema. Cada
funcionalidad es escrita en formato de Historia de Usuario, que da un nombre a la
funcionalidad y describe brevemente el comportamiento requerido.
El primer punto de inters a mencionar es que todos los desarrolladores estn ubicados
fsicamente en una misma habitacin, usualmente sentados alrededor de una larga
mesa en el medio de la misma.
Los equipos XP trabajan en una serie de ciclos con iteraciones fijas. Una iteracin
tpicamente dura entre una y cuatro semanas segn el equipo, pero la duracin es
siempre la misma.
Al inicio de cada iteracin, el equipo se rene con el cliente para una reunin de
planificacin. En esta reunin, repasan las funcionalidades que el cliente quiere
terminadas en esta iteracin, dividiendo cada funcionalidad en tareas tcnicas de una
persona. Luego cada desarrollador se asigna tareas especficas y las estima. Ningn
desarrollador puede asignarse ms trabajo en esta iteracin que lo que termin en la
iteracin anterior.
4 RADIADORES DE INFORMACIN
Pgina 41
Esta unidad centraliza los principales indicadores visuales de las metodologas giles,
llamado Radiadores Visuales por la metfora de irradiar informacin para todos los
involucrados.
El Tablero de Sprint suele ser el lugar elegido para los equipos para hacer la Reunin
Diaria, y permite que todo el mundo pueda hacerle cambios visibles por todo el equipo,
lo que puede ser ms complicado con una aplicacin digital.
Existe una lnea de progreso terico que une el esfuerzo restante al principio del sprint
con el valor de esfuerzo restante cero al final del sprint. Es el progreso terico que un
equipo debera seguir para tener un ritmo constante y contino para llegar a cumplir
con el sprint si las estimaciones fueran perfectas y todas las tareas identificadas.
Pgina 43
Si la pendiente sube, se puede ver que el esfuerzo restante est creciendo. Puede
pasar cuando se estn agregando tareas no previstas, o que surgen problemas que
hacen que las tareas duran ms de lo estimado.
Tener esta suma actualizada diariamente permite tener una visin muy clara del avance
del equipo, as como una forma grfica de monitorear el ritmo del equipo y detectar
tempranamente eventuales problemas de ritmo.
Pgina 44
Luego se estila ubicar en estas columnas las tarjetas de los tems de trabajo en curso, en
forma de post-its o papel, con la informacin que mencionamos para cada tem, como
en el ejemplo a continuacin:
Pgina 45
En este ejemplo los pasos del proceso de creacin de valor representados son:
Inventory = En cola, para los prximos tems de trabajo priorizados.
Started = Iniciado, para los tems sobre los cuales el equipo empez a trabajar.
Designed = Diseado, para los tems cuyo diseo ha sido terminado.
Coded = Codificado, para los tems cuya codificacin ha sido terminada.
Complete = Completado, para los tems que fueron terminados
El eje Y representa la cantidad de tems en cada paso del sistema Kanban. El eje X
representa el tiempo y en particular en este ejemplo muestra fechas concretas
secuenciales. Tambin se puede ver como leer el Lead Time y el WIP en el grfico.
El CFD es una herramienta que permite evidenciar cuellos de botella. Por ejemplo, en el
diagrama siguiente se puede observar como el rea verde correspondiente al paso
Analysis se va ensanchando, mientras el rea beige correspondiente al paso DB
Pgina 46
control: el Lmite Inferior de Control (LIC), y el Lmite Superior de Control (LSC). Con la
definicin de estos lmites, podemos detectar claramente cuando la variable analizada
pasa los umbrales normales de valor, y nos provee una informacin clara para su
posterior anlisis y eventual resolucin.
El Control de Lmites es una herramienta grafica que puede ser utiliza en los enfoques
giles para mltiples propsitos, y es bastante comn aplicarla a variables como:
En esta seccin repasamos algunos aspectos que suelen ser claves en la adopcin de
metodologas giles, y que el PMI incluye en su certificacin PMI-ACP.
Votacin
Luego de una conversacin del equipo sobre las distintas alternativas, pedir a cada
integrante que vote su preferencia entre estas. Se puede acordar la decisin por mayora
o por pasar cierto umbral de votos. La votacin puede ser annima o no.
Alistar Cockburn, en su libro Agile Software Development: The Cooperative Game, 2nd
Edition, identifica los principales comportamientos que atentan a este principio:
Ser inconsecuentes
Cuando usamos buenas prcticas, es bastante comn que perdamos la regularidad y que
las empecemos a dejar de seguir.
Ser adaptable
Mantenerse capaz de cambiar y probar nuevas ideas.
4. Observar y escuchar para aprender de los otros, ya que todos tienen algo del que
podemos aprender
Alistair Cockburn, en el libro Agile Software Development: The Cooperative Game (2nd
Edition), proporciona reflexiones muy acertadas sobre anti-patrones a evitar en el
diseo o eleccin de una nueva metodologa:
1. Bala de Plata. Tener una sola metodologa para todos los tipos de proyectos no
es factible.
5. Sin Probar. Una metodologa completa creada de cero, tiene un alto riesgo de
no estar adaptada a las necesidades y de ser difcil de cumplir.
6. Usada una vez. Una metodologa probada poco tiempo o en un solo caso y que
no haya funcionada muy bien, se suele abandonar sin buscar adaptarla o
entender bien sus beneficios.
Sin implementar todas las prcticas de Scrum en un entorno con un enfoque predictivo,
se puede empezar sumando algunas prcticas, como por ejemplo en aspectos de
sincronizacin y de mejora continua:
Retrospectivas
Si bien no hay un proceso iterativo punta a punta que pase por todas las etapas de
elaboracin, puede ser de valor aprender en forma continua y tratar de mejorar. Es
tpico implementar reuniones peridicas de retrospectivas, con todo el equipo para
analizar lo ocurrido por ejemplo en el ltimo mes, y pesar juntos experimentos de
mejora a probar a corto plazo.
Si ya existe una prctica (gil) para tratar un problema, mejora usarla, ya que esta ha
sido testeada y se sabe para qu usarla, y para qu no.
Utilizar una prctica nueva tiene similitud con la habilitacin de un nuevo medicamento.
Se debe hacer pruebas en un grupo reducido durante un tiempo, analizando si
realmente es solucin para lo necesitado y evaluar los eventuales efectos secundarios.
Luego de estas pruebas se podr decidir el uso a mayor escala.
La base para seguir aplicando prcticas nuevas es realizar un ciclo de inspeccin,
reflexin y adaptacin. Si la prctica funciona se seguir utilizando, sino no.
Lean start-up
La idea innovadora, adems de las ideas ya conocidas de Lean, es utilizar una correccin
estructurada del curso de diseo para probar una nueva hiptesis fundamental sobre el
producto, la estrategia y el motor de crecimiento del negocio. Libro sugerido: The Lean
Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically
Successful Businesses.
Real Options
Es una tcnica de clculo para la valoracin de decisiones. Libro sugerido: Real Options
Analysis: Tools and Techniques for Valuing Strategic Investment and Decisions, 2nd
Edition (Wiley Finance).
Pgina 56
6 REFERENCIAS
Agile Software Development: The Cooperative Game 2nd Edition Alistair Cockburn
ISBN #0321482751
The Art of Agile Development James Shore ISBN #0596537675
Agile Project Mangement with Scrum Ken Schwaber ISBN #073561993X
Lean-Agile Software Development: Achieving Enterprise Agility Alan Shallaway,
Guy Beaver, James r. Trott ISBN #0321532899
Kanban and Scrum - making the most of both Henrik Kniberg y Mattias Skarin
Lulu.com 2010
Kanban: Succesfull Evolutionary Change for Your Technology Business David J.
Anderson Blue Hole Press 2010
Extreme Programming Explained: Embrace Change (2nd Edition) Kent Beck -
Addison-Wesley Professional 2004
Pgina 57