Tema1_Enfoque Ágil
Enfoque ágil de proyecto
Al finalizar esta unidad, conocerás los principios y valores del agilismo, y por qué este
enfoque es más apropiado y utilizado hoy en día para la gestión de proyectos. Conocerás las metodologías ágiles más utilizadas, y las diferencias básicas respecto de la gestión "tradicional" de proyectos.
Introducción al agilismo
Cuando un proyecto no tiene los requisitos claros, cuando el alcance no se puede definir con suficiente detalle para todo el proyecto, o cuando parece probable que se van a dar muchos cambios durante la ejecución del proyecto, se impone un enfoque ágil del mismo, en contraposición al enfoque tradicional...
¿Por qué existe el enfoque "ágil"?
Debemos plantearnos los mitos que existen respecto de la planificación, ejecución y finalmente el éxito o fracaso de múltiples proyectos.
Mito 1
El cliente, solicitante o patrocinador del proyecto sabe exactamente lo que quiere.
Mito 2
Los equipos de trabajo, construcción o desarrollo saben exactamente cómo diseñar, construir y entregar el resultado.
Mito 3
A lo largo del proyecto, y una vez aprobada la planificación, no habrá cambios durante la ejecución del proyecto, o estos tienden a ser mínimos.
A día de hoy, la gran mayoría de responsables de proyectos no estarán muy de acuerdo con estas premisas; entonces, ¿por qué seguir pensando en gestionar proyectos de forma que los cambios se eviten, o en todo caso se "gestionen"?
¿Por qué tanto esfuerzo en determinar un alcance antes de empezar a ejecutar el proyecto, perfectamente detallado y definido?
Entonces, ¿cuál es la realidad de los proyectos?
Realidad 1
El cliente, usuario o patrocinador no sabe realmente lo que quiere hasta que lo ve (IKIWISI: I Know It When I See It).
Realidad 2
Los equipos de trabajo, construcción o desarrollo van descubriendo la mejor forma de ejecutar el trabajo, cuando realmente lo están ejecutando, y pueden aplicar nuevas ideas y mejoras.
Realidad 3
A lo largo del proyecto, cambiarán muchas cosas para beneficio de todos: un avance tecnológico; una nueva competencia en el mercado; un cambio en el comportamiento de usuarios o clientes, etc. Hay que adaptarse a ella para garantizar el éxito del proyecto.
Debemos asumir que, generalmente, existirá incertidumbre; pero si vamos a ejecutar una obra pública, por ejemplo, con un año de duración del proyecto de construcción, ¿acaso sabemos al comienzo si dentro de 8 meses se dará un tifón o una tormenta que hará que los trabajos se detengan?
Por lo tanto, el enfoque ágil se abre camino como nuevo paradigma de éxito para la
gestión de proyectos: si podemos empezar a construir, empecemos cuanto antes.
Ese tipo de incertidumbres existirán, pero no podemos dejar que paralicen la toma de
decisiones. Si tenemos el conocimiento suficiente para planificar, ejecutar y finalizar con
éxito una etapa del proyecto, ¿por qué no llevarlo a cabo, si el producto de dicha etapa
aporta valor?
Éste es el sentido del enfoque ágil de gestión: buscar una entrega temprana del valor de
negocio.
Entrega dirigida por el valor de negocio
Se trata, en esencia, de
proporcionar valor de negocio lo antes posible; esto es lo contrario al
concepto
"big
bang", donde el producto o resultado del proyecto sólo puede ser
aprovechado al final del mismo.
Ejemplo: Valor de Negocio
Pensemos en una empresa que quiere montar un portal web de venta de sus productos
online, y se pone en marcha un proyecto con ese objetivo. Si bien el objetivo completo es claro, para conseguirlo es necesario montar un portal web, que incluya el catálogo de productos, que tenga alguna funcionalidad del tipo "carrito de la compra", que permita conexión con una pasarela de pago para poder cerrar la compra, y además un acuerdo con algún partner de transportes que envíe los productos al cliente final.
¿Pero es necesario esperar a tener todo eso para poder generar valor de negocio?
Supongamos que se ha estimado que es necesario 1 año para disponer de esa plataforma completa. Y supongamos que, a los dos meses, se podría tener una plataforma que
solamente incluya el catálogo de productos, pero aún no se pueden comprar.
¿Por qué no empezar a explotar ya ese resultado parcial del proyecto? ¿No sería positivo
que nuestros potenciales clientes sepan que van a poder comprar online? ¿No sería
positivo que puedan conocer ya nuestros productos? ¿No sería positivo aprovechar este
corto plazo para, al menos, existir en un medio online? ¿no podríamos obtener
información valiosa (feedback) sobre si la página web suscita cierto interés o no?
Valores añadidos de la propuesta ágil
No sólo el valor de negocio llega antes gracias al enfoque ágil.
Visibilidad del producto final
¿Qué ocurre con la visibilidad del producto final? O lo que es lo mismo, la confianza que los interesados del proyecto pueden tener en el éxito del mismo.
Si, como en el ejemplo que hemos visto, se entregan partes o versiones del resultado final que son
aprovechables desde etapas tempranas, esta confianza
irá en aumento; existen resultados "tangibles" que
se pueden utilizar, que pueden generar
ROI, que pueden mejorar nuestra imagen o posición de marca.
Resultado tangible
Un resultado tangible convencerá más y
mejor al patrocinador del proyecto (un catálogo online de sus productos) que una extensa documentación de
análisis y diseño (hojas y hojas de papel que hablan de un portal
online, que muestran un diseño gráfico, una propuesta de funcionalidad...).
Un producto tangible, aunque sea
parcial, se puede probar, se puede validar y se puede utilizar mejor que extensas
definiciones y diseños en papel.
Riesgo
Al mismo tiempo, el riesgo global
disminuye desde etapas tempranas del proyecto: una entrega temprana
permite validar las versiones del
producto final muy pronto; se evitan las "sorpresas" al final del
proyecto.
Adaptabilidad
Por el mismo motivo, la adaptabilidad es posible en un proyecto ágil; si optamos por el "enfoque
tradicional", y entregamos una única versión del producto al final del proyecto, ¿qué posibilidades
tenemos de ajustarlo o adaptarlo a alguna nueva necesidad o restricción, cuando el presupuesto ya está agotado y el plazo vencido?
Enfoque ágil vs Enfoque "tradicional"
Desde el punto de vista de gestión del proyecto y del trabajo, ¿qué novedades se introducen con el enfoque ágil respecto del tradicional?
Estilo de gestión no centralizado
El jefe de proyecto
no "ordena" al resto del equipo de trabajo lo que debe hacer en cada
momento; esa
figura de "jefe de proyecto"
no es tal desde el punto de vista del "ordena y manda"; ahora, el
estilo
dirección del proyecto se basa en el
coaching y en servir de facilitador al resto del equipo de trabajo.
Se promueve el cambio
Los cambios se aceptan, y el
proyecto se adapta a ellos: si los cambios sirven para responder a cambios
en el mercado y
hacer del proyecto un éxito, no deben evitarse sino promoverse y adaptar la
evolución
del proyecto para
poder aceptar estos cambios de forma controlada y dirigida al valor final de
negocio
del resultado.
Las personas en el centro
El proyecto gira en
torno a las personas que lo ejecutan, no sólo en torno a los procesos de
gestión; lo
más importante es el aporte intelectual
de los expertos, los científicos, los arquitectos, los
desarrolladores, el
equipo de pruebas... el conocimiento y experiencia de estas personas aportarán
más
valor al proyecto,
que la mera ejecución paso a paso de cierta metodología o proceso estricto.
Iterativo e incremental
Trabajo en base a iteraciones breves: no se trata de ejecutar un proyecto de un año con una sola entrega final. Es preferible pensar en ejecutar 12 "pequeños" proyectos de 1 mes cada uno; en cada mes se tendrá un resultado parcial que mejora el resultado anterior, que aporta valor añadido.
Retorno de inversión temprano
ROI en fases tempranas: se espera que los resultados parciales generados en cada iteración generen valor económico, es decir, el ROI no llega sólo al final del proyecto.
Pocas personas en el equipo
Equipos de trabajo pequeños: como mejor se aprovecha el pensamiento ágil es en equipos de personas pequeños, quizá no más de 15 personas, aunque esto es muy variable.
¿Quiere esto decir que no se pueden ejecutar proyectos grandes con un enfoque ágil?
Al contrario: si son necesarias 500 personas, se integrará el trabajo de 50 equipos de 10 personas (por ejemplo), cada uno con un enfoque ágil en su ejecución del trabajo.
Menor Riesgo
Puesto que se hacen entregas desde etapas iniciales del proyecto, y estas son continuas durante todo el proyecto, el destinatario del resultado es consciente del avance y los resultados parciales, con lo que se disminuye el riesgo del "big bang", donde se entrega mucho resultado de una sola vez, y éste puede no ser aceptado.
Cambio en la Triple Restricción
Enfoque Tradicional
Típicamente pensamos en la "triple restricción" de los proyectos tradicionales como una serie de requisitos fijos, que son los que determinan el presupuesto y el plazo del proyecto. Por eso se lleva a cabo una planificación detallada al comienzo: para calcular, en base al alcance definido, cuándo se entregará y con qué costes.

Enfoque Ágil
Ahora bien, en un proyecto ágil, lo que prima por encima de todo es el tiempo disponible y el presupuesto permitido. El alcance se definirá de forma completa conforme avanza el proyecto.
Es un cambio de mentalidad, un ejercicio intelectual de plantearse el proyecto como una generación de valor temprana y continua. A lo largo del tiempo, se van a consumir recursos para proporcionar el valor óptimo en cada etapa (iteración) del proyecto.

Otros principios básicos de la gestión ágil de proyectos
Veamos más ideas troncales del enfoque ágil de gestión y ejecución de proyectos.
Esfuerzo de planificación no concentrado al inicio
El esfuerzo de planificación no se concentra al inicio del proyecto, sino que se distribuye a lo largo del mismo.
Cada iteración es planificada justo antes de su comienzo, así pueden incluirse los cambios que haya surgido recientemente, sin impactar negativamente en el resultado del proyecto; al contrario, aportando valor al mismo (los cambios se adoptan).
Requerimientos definidos sólo a nivel suficiente
Los requerimientos deben estar claros, sí, pero sólo lo suficiente para empezar a trabajar; en el ejemplo del desarrollo de una página web, ¿merece la pena invertir demasiado tiempo en especificar cada detalle de la página web para venta online?
¿Y si empezamos haciendo, y mostrando, una página básica que sirva de prototipo sobre el que ir creciendo?
Colaboración con negocio
Es necesario colaborar directamente con negocio, es decir con aquellas personas que recibirán el producto, o que conocen el objetivo del producto final.
Estas personas deben dirigir las decisiones en cuanto a qué hacer y qué no (no a cómo hacerlo, esta decisión corresponde a los técnicos expertos).
El valor del producto final se mide siempre en términos de negocio, en consecuencia, es negocio quien decide (negocio es el "dueño" del resultado del proyecto).
Evitar el Síndrome del Estudiante
Se evita el "síndrome del estudiante", es decir, dejar demasiado trabajo para el último día antes de la
entrega final; en un enfoque ágil, esta "entrega final" no existe como tal, sino que el proyecto se resuelve en base a una serie de entregas incrementales, una en cada iteración.
Por lo tanto el ritmo de entregas es constante, no concentrado al final.
Evitar la Parálisis por Análisis
Se evita la "parálisis por análisis"; un riesgo típico en proyectos tradicionales es que no se arranca la ejecución del proyecto propiamente dicha, hasta que la especificación de los requerimientos tiene un gran nivel de detalle.
Ejemplo: Parálisis por Análisis
Si el proyecto tiene 4.000 requisitos y una duración de 2 años, ¿aporta realmente valor, en todos los casos, trabajar al inicio en los últimos 100 requisitos que se implementarán el último mes de proyecto, dentro de 23 meses?
¿no parece muy probable que haya cambios que obliguen a redefinir esos requisitos?
El sentido común dice que ahora, al inicio del proyecto, esta definición puede resultar
excesiva y es mejor dedicar más recursos a construir resultados (quick wins) que se
entreguen pronto.
Resumen de diferencias entre los enfoques Ágil y Tradicional
Énfasis
Paradigma ágil: En las personas.
Paradigma tradicional: En los procesos.
Documentación
Paradigma ágil: Sólo
la necesaria.
Paradigma tradicional: Exhaustiva.
Estilo del proceso
Paradigma ágil: Iterativo.
Paradigma tradicional: Lineal.
Planificación al inicio del proyecto
Paradigma ágil: Limitada.
Paradigma tradicional: Completa.
Aseguramiento de la Calidad
Paradigma ágil: Centrado en el destinatario del producto. Paradigma tradicional: Centrada en el proceso.
Priorización de requerimientos
Paradigma ágil: Basada en el valor de negocio y adaptado con regularidad. Paradigma tradicional: Fijado en el plan de proyecto.
Organización del equipo de proyecto
Paradigma ágil: Auto-organizado.
Paradigma tradicional: Gestionado por el jefe de proyecto.
Estilo de gestión
Paradigma ágil: Descentralizado (en el equipo).
Paradigma tradicional: Centralizado (en el jefe de proyecto).
Cambios
Paradigma ágil: Se aceptan, adoptan y se adapta el proyecto. Paradigma tradicional: Sistema de gestión de cambios.
Liderazgo
Paradigma ágil: Colaborativo, liderazgo facilitador.
Paradigma tradicional: Ordena y manda (command and control).
Medición del rendimiento
Paradigma ágil: Según el valor de negocio.
Paradigma tradicional: Según el cumplimiento del Plan.
Retorno de Inversión
Paradigma ágil: Desde etapas tempranas, y a lo largo del ciclo de vida del proyecto. Paradigma tradicional: Al final del proyecto.
Manifiesto Ágil. Valores y Principios
El enfoque ágil de dirección y ejecución de proyectos se basa en 4 valores y 12 principios básicos muy simples, pero que suponen el corazón del paradigma ágil. Resulta fundamental comprenderlos a la hora de aplicar cualquier metodología ágil, y ayudan a entender por qué este estilo de gestión se está imponiendo actualmente frente a otros enfoques de gestión de proyectos.
4 Valores
1. Personas y sus interacciones sobre procesos y herramientas.
2. Productos entregables sobre documentación exhaustiva.
3. Colaboración de cliente y patrocinador, sobre negociación de contratos.
4. Responder a los cambios sobre seguir un plan.
12 Principios
1. Nuestra mayor prioridad es satisfacer al cliente, receptor o patrocinador del proyecto.
2. Demos la bienvenida a cambios en los requisitos.
3. Debemos realizar entregas de producto regularmente.
4. Las personas que conocen el negocio y el producto final, deben trabajar de forma colaborativa.
5. Construye proyectos alrededor de individuos motivados.
6. El método más efectivo y eficiente de transmitir información hacia el equipo de trabajo, y también entre los miembros del equipo, es la conversación cara a cara.
7. El producto entregado es la mejor medida del avance del proyecto.
8. El proceso ágil promueve una ejecución de proyecto sostenible.
9. La agilidad funciona mejor prestando atención continuamente a la calidad y la excelencia técnica.
10. La simplicidad es esencial: el arte de maximizar la cantidad de trabajo que puede ahorrarse.
11. Las mejores propuestas técnicas, diseños e ideas surgen de equipos auto-organizados y auto-gestionados.
12. De forma regular a lo largo del tiempo, el equipo de trabajo reflexiona sobre cómo ser más efectivo, y ajusta su método de trabajo para conseguirlo.
Los 4 valores fundamentales del enfoque ágil
Personas y sus interacciones sobre procesos y herramientas
No se trata de que no deban utilizarse procesos y herramientas; por supuesto que deben utilizarse y son necesarios; la cuestión es que debemos prestar una importante atención a lo que dicen las personas.
Si una persona propone un cambio en un proceso, una idea de mejora, debe escucharse y valorarse, no descartar la idea porque no forma parte del proceso estándar.
Y también, tener en cuenta que el trabajo en equipo fomenta las sinergias, es decir, 2 personas trabajando juntas generarán más del doble de nuevas ideas que el total que generan esas 2 personas trabajando por separado.
Productos entregables sobre documentación exhaustiva
Aporta más valor un producto que sólo ofrece una parte de su funcionalidad, que ningún producto pero mucha documentación de diseño sobre el mismo, por ejemplo; el producto mínimo tangible que puede generar ROI es más valorable que los meros documentos descriptivos.
Ejemplo: Resultados entregablesQuizá sea mejor disponer a corto plazo de una carretera de un solo carril, que invertir la misma cantidad de recursos en entregar el diseño de una autopista de 4 carriles... la documentación no permite que circule ningún vehículo (no soluciona un problema de los usuarios), pero un solo carril sí lo hace.
Posteriormente se irán añadiendo carriles adicionales.
Colaboración de cliente y patrocinador, sobre negociación de contratos
Los contratos deben existir, sin duda, son necesarios para que los compromisos firmados estén claros tanto por parte de quien compra el resultado de un proyecto como por quien va a construirlo.
Ahora bien, la cuestión es: ¿cómo se aporta valor real de negocio al producto final? ¿en una mesa de negociación de detalles económicos de un contrato, donde cada una de las partes trata de obtener el máximo beneficio para sí misma? ¿o en una colaboración constructiva por ambas partes, resolviendo los conflictos pensando en todo momento en el valor añadido que se puede conseguir con buenos acuerdos?
Se busca un ambiente colaborativo y constructivo, por encima de uno negociador y
agresivo.
Responder a los cambios sobre seguir un plan
Debemos dar a los cambios el valor que tienen.
¿Por qué un cliente o patrocinador de proyecto solicita un cambio sobre su petición inicial?
Esto no es un "ataque" contra quien está ejecutando el proyecto; al contrario, un cambio es una oportunidad para hacer el proyecto mejor, para conseguir un producto mejor; se puede estar respondiendo a un cambio en el mercado, o a un cambio legislativo de obligado cumplimiento, por ejemplo.
Entonces, el producto final aumentará de valor con la incorporación de estos cambios;
se trata de gestionar el proyecto de forma que el impacto de estos cambios sea positivo
en su conjunto.
Los 12 principios del Manifiesto Ágil
Nuestra mayor prioridad es satisfacer al cliente, receptor o patrocinador del proyecto
Nuestra mayor prioridad es satisfacer al cliente, receptor o patrocinador del proyecto, en base a entregarle desde etapas tempranas y de forma frecuente, versiones del producto final que aporten valor.
El objetivo no es sólo cumplir una planificación porque esto vaya a aportar valor en sí mismo, ni cumplir un presupuesto.
Aunque estas metas se consigan, no habrán servido de nada si el receptor del resultado del proyecto no queda satisfecho.
Demos la bienvenida a cambios en los requisitos
Demos la bienvenida a cambios en los requisitos, aunque sea en etapas avanzadas del proyecto. El proceso ágil recibe los cambios con los brazos abiertos, para beneficio y ventaja competitiva del cliente.
Los cambios tienen como objetivo mejorar el resultado del proyecto, por lo tanto, deben ser comprendidos y adoptados en la medida de lo posible.
Gracias a la planificación progresiva, iremos adaptando el proyecto para incorporar estos cambios a la construcción del producto final.
Debemos realizar entregas de producto regularmente
Debemos realizar entregas de producto regularmente, entre dos semanas y dos meses, pero preferiblemente en el período más corto posible.
Cuanto más corto sea el período entre entregas, mayor visibilidad del avance del proyecto existirá, y mayor valor utilizable desde etapas tempranas.
Esto también permite un feedback continuo que ayude a la mejora continua, que alimente nuevos
requisitos y ajuste la definición del producto final para conseguir el mayor valor de negocio posible.
Las personas que conocen el negocio y el producto final, deben trabajar de forma colaborativa
Las personas que conocen el negocio y el producto final, deben trabajar de forma colaborativa, y si es posible a diario, con los equipos de construcción.
Todas las decisiones que estén relacionadas con la definición del producto final, deben tomarlas las personas que conocen su finalidad, quién lo utilizará, y por qué se está construyendo.
El equipo de trabajo decide cómo se llevan a cabo los trabajos, la planificación detallada, y las herramientas.
Las decisiones de producto las toman los dueños del producto (los solicitantes del mismo).
Construye proyectos alrededor de individuos motivados
Construye proyectos alrededor de individuos motivados. Dales el soporte que necesiten y el mejor ambiente de trabajo posible. Confía en que ellos serán capaces de llevar a cabo el trabajo propuesto.
En un ambiente de trabajo ágil, el "jefe de proyecto" deja de considerarse como tal; esta figura debe ejercer de líder facilitador, eliminando barreras y quitando problemas al equipo de trabajo, preocupándose por proporcionarles aquello que necesiten para desempeñar a cabo su labor.
Ese equipo de trabajo motivado y apoyado por el facilitador conseguirá alcanzar los objetivos del proyecto.
El método más efectivo y eficiente de transmitir información es la conversación cara a cara
El método más efectivo y eficiente de transmitir información hacia el equipo de trabajo, y también entre los miembros del equipo, es la conversación cara a cara.
Está demostrado que la cantidad de información que se transmite en una conversación en persona, es mucho mayor que en email, conversación telefónica o a través de un documento.
Si bien estos medios de comunicación deben utilizarse (a menudo son imprescindibles cuando las personas no están juntas físicamente), debemos promover que los miembros del equipo de trabajo puedan compartir un mismo espacio y el mejor ambiente posible donde intercambiar información.
La "sala de guerra" es el escenario de trabajo ideal para un equipo de proyecto ágil.
El producto entregado es la mejor medida del avance
del proyecto
El producto entregado es la mejor medida del avance del proyecto.
Aunque pueden utilizarse técnicas como el valor ganado o cualquier otra para presentar el avance de un proyecto, la evidencia más realista y objetiva del avance es el producto final entregado.
El producto final tangible o utilizable se puede
validar y poner en explotación, puede generar ROI; los
documentos, las planificaciones y los
informes de seguimiento no pueden generar valor de negocio por
sí mismos.
Una serie de documentos podrían resultar erróneos o inútiles, aunque no pueda comprobarse hasta etapas más avanzadas del proyecto; pero un producto tangible es susceptible de ser aceptado o rechazado y es un resultado real y medible de la situación actual del proyecto.
El proceso ágil promueve una ejecución de proyecto sostenible
El proceso ágil promueve una ejecución de proyecto sostenible. Los sponsors, el equipo de trabajo y los usuarios deben ser capaces de mantener un ritmo de trabajo constante a lo largo del tiempo.
Si el proyecto se prolongase indefinidamente, todos los participantes deberían ser capaces de continuar a la misma velocidad.
El concepto de "velocidad" es importante en el agilismo: significa la cantidad de resultados, producto o funcionalidad que se puede entregar de forma sostenible en cada período de tiempo (iteración).
La agilidad funciona mejor prestando atención continuamente a la calidad
y la excelencia
técnica
La agilidad funciona mejor prestando atención continuamente a la calidad y la excelencia técnica.
Uno de los grandes enemigos de la agilidad es el retrabajo. Es decir, tener que "deshacer" algo que ya se consideraba terminado, validado, entregado y funcionando.
Aplicar recursos para conseguir un producto que no aporte más valor de negocio se considera un desperdicio, un no-aprovechamiento del coste incurrido; y esto ocurre cuando se cometen errores técnicos, fallos de cálculo, malos diseños técnicos o implementaciones defectuosas.
Por lo tanto, debe observarse la excelencia técnica en cada decisión de ejecución donde pueda aplicarse.
La simplicidad es esencial: el arte de
maximizar la cantidad de trabajo que puede ahorrarse
En este sentido, podemos introducir el concepto de enfoque "Lean" del trabajo: no hacer aquello que no aporta un beneficio real.
No sólo hay que preguntarse ¿qué debemos hacer para conseguir el valor de negocio? Sino también, ¿puedo dejar de hacer cosas que no aportan valor real? ¿Puedo eliminar este "desperdicio"? ¿Puedo simplificar mis procesos, eliminar o simplificar actividades?
Aumentar la eficiencia significa que tendremos más recursos libres disponibles para construir valor real de negocio.
Las mejores propuestas técnicas,
diseños e ideas surgen de equipos auto-organizados y auto- gestionados
En la filosofía ágil, el equipo de trabajo (llamado indistintamente "equipo de proyecto") es el eje central del proyecto; debemos crear el ambiente idóneo, y proporcionar los recursos adecuados, para que un equipo experto de construcción y desarrollo pueda dar rienda suelta a sus ideas creativas, a emplear su experiencia de la mejor forma posible, ajustar sus prácticas, técnicas y procesos de trabajo para el mejor beneficio del proyecto.
De forma regular a lo largo del tiempo, el equipo de trabajo reflexiona
sobre cómo ser más
efectivo
De forma regular a lo largo del tiempo, el equipo de trabajo reflexiona sobre cómo ser más efectivo, y ajusta su método de trabajo para conseguirlo.
El equipo de trabajo auto-organizado debe enfocarse en la mejora continua de su propio trabajo: de
forma regular (por ejemplo, al final de cada iteración de trabajo, o después de cada entrega de producto intermedio) debe dedicar cierto tiempo a explorar posibilidades de mejora.
En algunas metodologías ágiles existen procesos formales para llevar a cabo estas reuniones de mejora continua, pero en definitiva se trata de reflexionar sobre:
- Qué se está haciendo bien,
- qué se puede hacer mejor,
- qué trabajos se están llevando a cabo que no aportan valor añadido,
- qué oportunidades de mejora existen en los procesos utilizados,
- etc...
Con este conjunto de reflexiones, se confecciona un plan de acción que aplique estas mejoras en las siguientes etapas del proyecto.
Metodologías Ágiles
Aunque existen otras, hay 4 metodologías ágiles que se utilizan muy habitualmente:
Scrum
Método simple.
Iterativo e incremental.
5 valores.
3 roles.
3 artefactos.
5 tipos de reunión.
XP
13 prácticas de ingeniería.
5 valores.
4 actividades.
4 roles.
Kanban
1. Comenzar ahora con lo que hay que hacer.
2. Poner como objetivo pequeños cambios incrementales.
3. Cada miembro del equipo es un líder.
4. Mejorar de forma continua y colaborativa.
5. Todos los implicados ven el proceso claramente.
6. Limitar el trabajo en curso.
7. Hacer visible el trabajo.
8. Visualizar el flujo de trabajo.
9. Gestionar el flujo de trabajo.
Lean
Un enfoque, más que una metodología.
Eliminar el desperdicio.
Llevar la simplicidad al máximo.
Scrum
Scrum es un método para solventar problemas complejos, entregando productos que aporten el mayor valor posible.
Es una metodología:
Ligera
Scrum tiene poca teoría, únicamente define algunas reuniones o ceremonias, los roles, y unos pocos principios básicos. El contenido teórico se lee en menos de 5 minutos.
Fácil de entender
Es una metodología abierta, que no propone reglas complicadas ni demasiado específicas en función del proyecto.
Difícil de dominar
La clave es adaptarla correctamente al entorno y al proyecto concreto. Por eso está definido el rol de Scrum Master, que es la figura que domina el método y ayuda a su aplicación y ajuste.
Está basada en procesos empíricos de control, es decir, el conocimiento viene de la experiencia, y se toman decisiones en función de la información que se tiene.
Su enfoque es
iterativo e incremental.
Iterativo
En cada sprint, se genera una nueva versión del producto, que mejora la versión del sprint anterior. Se trata de ir refinando y mejorando las propiedades del producto conforme avanza el proyecto.

Incremental
En cada sprint, se añade alguna nueva característica al producto. Se trata de ir añadiendo nuevas capacidades o características al producto conforma avanza el proyecto.

Elementos de Scrum
Sprints
El producto se construye de forma incremental en base a períodos de tiempo cortos, denominados Sprints.
Los Sprints tienen una duración fija y determinada, entre 1 y 4 semanas; mejor cuanto más cortas, es decir mejor 1 semana que 4.
Todos los Sprints tienen la misma duración a lo largo del proyecto.
Definición de Hecho
El equipo de trabajo tiene que encontrar una definición para el concepto de "hecho" -Done-. Cada incremento del producto debe cumplir dicha definición de "hecho" para darlo por finalizado, y poder ser entregado.
La definición de "hecho" puede aplicar a requisitos, sprints, releases, entornos... es decir, en cualquier elemento sobre el que se pueda plantear la cuestión de "¿está finalizado y puede continuar al paso siguiente del proyecto?
Ejemplo: "Hecho" para un requisito
Ejemplo de "Hecho" para un requisito (habitualmente denominadas "historias de usuario"):
* Todo el código escrito sin errores.
* Todas las pruebas unitarias pasadas correctamente.
* Pruebas funcionales pasadas con éxito.
* Documentación del requisito generada.
* Pruebas de aceptación pasadas con éxito.
Ejemplo: "Hecho" para un sprint
Ejemplo de "Hecho" para un Sprint:
* Pruebas de rendimiento pasadas con éxito.
* Elementos resultantes del sprint integrados.
* Todos los bugs resueltos.
* Pruebas de integración pasadas con éxito.
Ejemplo: "Hecho" para un despliegue
Ejemplo de "Hecho" para Despliegue en Producción:
* Pruebas de stress pasadas con éxito.
* Pruebas de seguridad validadas.
* Plan de marcha atrás definido.
* Entorno y servicio estable.
Ciclo de Scrum
El proyecto se ejecuta en base a sprints, de duración fija, que se planifican al arrancar cada sprint, con las Daily cada 24 horas.
En cada sprint se resuelve o construye el Sprint backlog, que se integra al final del sprint con el resultado de sprints anteriores, conformando un producto entregable.

Productos
También denominados "artefactos":
- Incremento de producto: un subconjunto del producto que puede ser entregado, con componentes integrados, que funciona.
- Backlog
de producto: la lista de
requisitos del producto, ordenadas por su prioridad.
- Backlog
del Sprint: el plan detallado para el desarrollo
durante el sprint siguiente.
Pilares básicos
Transparencia: los interesados comparten un entendimiento común del proyecto, de la visión, y de lo que significa "hecho"
Inspección: a través de los artefactos o entregables (incremento de producto, backlog de producto y backlog del sprint).
Adaptación: a través de las reuniones en Scrum.
Valores
Personas enfocadas en el resultado. Motivación.
Transparencia.
Compromiso.
Respeto.
Reunión Daily Scrum
Reunión con un timebox de 15 minutos, donde el equipo de desarrollo sincroniza sus actividades y crea el plan para las siguientes 24 horas.
En esta reunión, cada miembro del equipo de trabajo debe responder a 3 preguntas:
- ¿Qué hice ayer?
- ¿Qué haré hoy?
- ¿Hay algún impedimento que me evite conseguir mis objetivos hasta mañana?
Reunión Sprint Review (también llamada "demo")
Reunión que se mantiene al final de cada Sprint para inspeccionar el Incremento de Producto, y adaptar el Backlog del producto si es necesario.
Durante el Sprint Review, el equipo de trabajo muestra al resto de interesados qué se ha conseguido en el sprint.
Si los sprints son de un mes, el timebox de la reunión serán 4 horas. Para sprints más cortos, la duración se reduce proporcionalmente.
23/44
Enfoque ágil de proyecto
Reunión Retrospectiva del Sprint
Se inspecciona cómo ha ido el sprint, en lo referente a las personas, sus relaciones, el proceso, y las herramientas.
Se identifican y ordenan los asuntos más importantes, tanto los que fueron bien, como los que suponen una mejora potencial.
Se crea un plan para implementar las posibles mejores detectadas.
Si los sprints son de un mes, el timebox de la reunión serán 3 horas. Para sprints más cortos, la duración se reduce proporcionalmente.
Acciones que se realizan en cada reunión de Scrum
Definición de los principales conceptos de Scrum
Roles en Scrum
En un proyecto ágil, típicamente bajo metodología Scrum, distinguimos 3 roles:
Product Owner
Decide qué se incluye (y qué no) en el backlog del proyecto.
Ordena los ítems en el backlog en función de su prioridad de negocio.
Explica y hace entender al equipo de trabajo en qué consisten esos ítems (historias de usuario). Decide cuándo se deben realizar las entregas.
ScrumMaster
Representa la figura de líder sirviente.
Es el experto en la metodología, guiando y enseñando al equipo a llevarla a cabo adecuadamente.
Soluciona problemas y elimina barreras, facilita el trabajo.
24/44
Enfoque ágil de proyecto
Equipo de desarrollo
Realiza el trabajo necesario para construir y entregar el producto final.
El equipo es un grupo de
profesionales con todas las capacidades (en conjunto) para realizar el
trabajo.
Una idea fundamental es que se fomenta la comunicación directa entre el equipo de trabajo y el Product Owner. No se debe pensar que el Scrum Master es el "traductor" del lenguaje de negocio a lenguaje técnico; al contrario, es el equipo de desarrollo el que trabaja directamente con la persona de negocio. El Scrum Master actúa como facilitador de esta relación.
Veamos cómo funciona un equipo Scrum:
Roles en Scrum
Metodología Scrum
XP (Programación Extrema)
XP (del inglés "eXtreme Programming") es una metodología ágil exclusiva para el desarrollo de software.
Al igual que Scrum, considera que los cambios durante el proyecto serán frecuentes, tanto, que se puede llegar a trabajar en iteraciones de 1 sólo día, con entregas y despliegues de los resultados a diario, incluso en períodos más breves de tiempo.
25/44
Enfoque ágil de proyecto
13 prácticas de ingeniería
Equipo compacto.
Juegos de planificación.
Pruebas de usuario.
Entregas (releases) pequeñas. Diseño simple.
Programación por parejas. Refactorización.
Desarrollo dirigido por las pruebas. Integración continua.
Propiedad colectiva
del código.
Estándares de
codificación.
Metáfora del sistema.
Ritmo sostenible.
5 valores
Simplicidad.
Comunicación.
Feedback.
Motivación.
Respeto.
4 actividades
Codificar.
Probar.
Escuchar.
Diseñar.
26/44
Enfoque ágil de proyecto
4 roles
Líder ágil o coach.
Cliente.
Programador (desarrollador).
Tester.
Prácticas de ingeniería
Equipo compacto
Dentro de XP, el "cliente" no es el que paga la factura, sino el que realmente utiliza el sistema.
XP dice que el cliente debe estar accesible en todo momento y disponible para preguntas.
Por ejemplo, el equipo que desarrolla un sistema de administración financiera debe incluir o tener accesible un administrador financiero.
Juegos de planificación
El proceso principal de planificación dentro de la programación extrema se llama el Juego de Planificación.
El proceso de planificación se divide en dos partes:
Planificación de la release.
Planificación de la iteración.
Pruebas de usuario
Las pruebas de aceptación son propiedad y definidos por el Cliente.
Debemos incluir un punto como "pasar las pruebas
del cliente" en la definición de
"hecho".
27/44
Enfoque ágil de proyecto
Entregas (releases) pequeñas
La entrega se realiza a través de frecuentes lanzamientos de funcionalidad en producción creando valor real de negocio.
Los pequeños lanzamientos ayudan al cliente a ganar confianza en el progreso del proyecto.
El cliente ahora puede llegar a sus propuestas futuras sobre el proyecto basado en la experiencia real, sobre un producto tangible, usable (no sobre documentación, como ocurre en los proyectos no ágiles).
Diseño simple
Los programadores deben tomar un
enfoque al diseño del software del tipo "lo simple siempre es
lo mejor".
Cada vez que se escribe un nuevo código, el autor debería preguntarse si existe una manera más sencilla de introducir la misma funcionalidad. Si la respuesta es sí, la solución más simple debe ser elegida.
Programación por parejas
También llamada "programación por pares". Todo el código es producido por dos personas que programan en una estación de trabajo (un PC).
Un programador tiene control sobre la estación de trabajo y está pensando sobre todo en la codificación en detalle. El otro programador está más centrado en el panorama general y está continuamente revisando el código que está siendo producido por el primer programador.
Los programadores intercambian estos papeles varias veces al día.
Refactorización
Refactorización es el proceso de cambiar un sistema de software de tal manera que no altera el comportamiento externo del código pero mejora su estructura interna.
28/44
Enfoque ágil de proyecto
Desarrollo dirigido por las pruebas
Dentro de XP, las pruebas unitarias se escriben antes de codificar el código final.
Este enfoque pretende estimular al programador a
pensar en las condiciones en las que su código podría
fallar.
Una sección de código fuente está terminada ("done", o hecha) cuando el programador no puede llegar a cualquier otra condición en la que el código pueda fallar.
Integración continua
El equipo de desarrollo siempre debe estar trabajando en la última versión del software.
Los miembros del equipo deben
intentar cargar su versión actual en el repositorio de código cada pocas
horas.
La integración continua evitará
retrasos más adelante en el ciclo del proyecto, causado por problemas de
integración.
Propiedad colectiva del código
Todo el mundo es responsable de todo el código; esto, a su vez, significa que todo el mundo está autorizado a cambiar cualquier parte del código.
Acelera el proceso de desarrollo, porque si se produce un error en el código cualquier programador puede arreglarlo, pero existe el riesgo de errores introducidos por los programadores que no prevén ciertas dependencias.
Las pruebas unitarias bien definidas solucionan este problema: si las dependencias imprevistas crean errores, cuando se ejecuten pruebas unitarias, se mostrarán fallos.
Estándares de codificación
El estándar de codificación es un conjunto acordado de reglas que todo el equipo de desarrollo acuerda seguir durante todo el proyecto.
El estándar especifica un estilo y un formato consistentes para el código fuente, dentro del lenguaje de programación escogido, así como varias construcciones y patrones de programación que se deben evitar para reducir la probabilidad de defectos.
29/44
Enfoque ágil de proyecto
Metáfora del sistema
La metáfora del sistema es una
historia que todo el mundo - clientes, programadores y administradores -
puede decir acerca
de cómo funciona el sistema.
Es un concepto de nomenclatura para las clases y los métodos que deberían facilitar a un miembro del equipo adivinar la funcionalidad de una clase / método particular, sólo a partir de su nombre.
Para cada clase o operación, la funcionalidad es obvia para todo el equipo.
Ritmo sostenible
El concepto es que los
programadores o desarrolladores de software no deben trabajar más de 40 horas
por semana, y si hay horas extras una
semana, que la próxima semana no debe incluir más horas extras.
Este concepto incluye la idea de que las personas realizan mejor y más creativamente su trabajo si están descansados.
Valores en XP
Simplicidad
Recordemos que el diseño simple
es una de las premisas que se deben seguir.
También simplicidad en el código, puesto
que se aplica la refactorización.
Y simplicidad en la documentación: si el código está bien comentado, el diseño se mantiene simple, y está refactorizado, no será necesario escribir documentación adicional para su comprensión.
Comunicación
El código simple y bien documento comunica a los
programadores muy bien qué funcionalidad
persigue.
Las pruebas unitarias comunican por qué se ha elegido ese diseño para el código, y desde luego si funciona correctamente.
Y la comunicación con el cliente es fluida, porque éste forma parte del equipo de trabajo.
30/44
Enfoque ágil de proyecto
Feedback
La retroalimentación por parte del cliente es
inmediata, puesto que forma parte del equipo de trabajo.
Esto se refuerza porque las entregas se
realizan continuamente en periodos muy cortos de tiempo.
Las pruebas dan feedback en tiempo real sobre el estado de salud del código.
Motivación
Motivación y valentía para centrarse sólo en lo
necesario para la entrega de hoy, y no para la de
mañana.
Hay que cumplir entregas todo el tiempo, aunque sean pequeñas. Hay que estar motivado para dar la mejor solución simple para la siguiente entrega.
Y ser persistente para mantener el ritmo sostenible pero necesario para cumplir con las entregas.
Respeto
Los programadores se respetan mutuamente porque nadie puede escribir código que haga fallar código o pruebas de otra persona.
El cliente respeta a los programadores, y los programadores al cliente, puesto que su comunicación es fluida, constante y debe haber entendimiento entre todos.
Actividades en XP
Codificar
El código se construye siguiendo las prácticas de ingeniería recomendadas (programación por parejas, refactorización, estándar de codificación, etc...)
Probar
Es fundamental que el desarrollo sea dirigido por las pruebas, por lo tanto codificar y probar son actividades que van de la mano.
Escuchar
Puesto que se trabaja por parejas, y también conjuntamente con el cliente, las personas del equipo tienen que aprender a escuchar a los demás y a compartir su información y opinión profesional.
Diseñar
Se contempla en todo momento el diseño simple, la refactorización, el respeto al estándar de
codificación, la documentación en el código... estas actividades forman parte del diseño del software.
Roles en XP
31/44
Enfoque ágil de proyecto
Líder ágil o coach
Responsable del proceso global, conocedor de la metodología, y facilitador del trabajo. Guía a los miembros del equipo para seguir el proceso correctamente.
Cliente
Escribe los requisitos (las
historias de usuario) y comprueba los criterios de aceptación de los mismos.
Decide la
prioridad, según criterios de negocio, de los requisitos para su implementación
y entrega.
Programador (desarrollador)
Construye el código y las pruebas unitarias que resuelven los requisitos. En este rol se incluirían todos los perfiles necesarios para ello (programador, analistas programadores, diseñador, maquetador... excepto pruebas funcionales).
Tester
Ayuda al cliente a escribir las pruebas funcionales. Gestiona y utiliza las herramientas para las pruebas funcionales.
Prácticas de Programación Extrema
Programación Extrema
Kanban
Los principios de esta metodología son:
Sigue trabajando a tu manera
El Método Kanban no te pide que cambies tu proceso.
No propone cambios en las
prácticas de ingeniería ni una nueva definición de proceso o estilo de
trabajo.
No existe algo como el "Kanban Software Development Process" o el "Kanban Project Management Method".
32/44
Enfoque ágil de proyecto
Pon como objetivo pequeños cambios incrementales
La organización (o el equipo) debe estar de acuerdo en que sus circunstancias actuales justifican un enfoque evolutivo para el desarrollo.
Sin el acuerdo de que un enfoque evolutivo e incremental es el camino correcto hacia adelante, entonces no habrá el ambiente adecuado para una iniciativa Kanban.
Cada miembro del equipo es un líder
Es probable que, lo que la organización actualmente hace, tenga algunos elementos que funcionen bien, y que valga la pena preservar.
Debemos tratar de eliminar el miedo para facilitar el cambio a futuro.
Mejora de forma continua y colaborativa
Hay que buscar el
límite de WIP (Work In Progress, o "trabajo en curso") que en última
instancia
estimula las ideas sobre problemas de
proceso que se pueden solventar o dónde se puede mejorar.
Las cosas que impiden el flujo o
introducen perturbaciones en el flujo de trabajo, son las que limitan el
WIP).
El proceso debe estar claro para todos
Sin una comprensión explícita de cómo funcionan las cosas y cómo se hace el trabajo, cualquier discusión de los problemas tiende a ser emocional, anecdótica y subjetiva.
Con un entendimiento explícito es posible pasar a una
discusión más racional, empírica y objetiva de las
cuestiones.
Esto es más probable que facilite el consenso sobre las sugerencias de mejora.
Limita el trabajo en curso
Limitar el WIP implica que implementamos un sistema de
extracción en parte o en todo el flujo de
trabajo.
El trabajo en progreso en cada estado en el flujo es limitado; es decir, no debemos tener más de un número determinado de tareas en cada estado.
El trabajo debe ser visible
Cuando una tarea es definitivamente "hecha",
se debe entregar o mostrar al cliente tan pronto como sea
posible.
33/44
Enfoque ágil de proyecto
Visualiza el flujo de trabajo
Se utiliza un "Kanban" o "Task Board" para buscar cambios de estado en el trabajo, que reflejen el progreso y WIP.
Podremos ver la información y el paso generado de una actividad a la siguiente.
Gestiona el flujo de trabajo
Se monitoriza el trabajo observando el flujo de
elementos de trabajo a través de cada estado en el flujo
de trabajo.
Nos interesa la velocidad y la fluidez de ese movimiento (no hay avances bruscos y grandes, sino pequeños y continuos).
Idealmente queremos flujo rápido y fluido.
Flujo rápido y fluido significa que nuestro sistema está creando valor rápidamente, lo cual minimiza el riesgo y evita el coste (de oportunidad) del retraso, y también lo hace de manera predecible.
Veamos algunos ejemplos de kanban en proyectos reales:
Ejemplo 1
34/44
Enfoque ágil de proyecto
Ejemplo 2
Ejemplo 3
Ejemplo 4
35/44
Enfoque ágil de proyecto
Ejemplo 5
Metodología Kanban
Lean
Lean
Más que una metodología, es una filosofía o enfoque de trabajo.
Su origen es el Modelo de Manufactura Lean, es decir aplicado a procesos de fabricación y producción "pull": sólo producen el producto que el cliente necesita, justo cuando lo necesita.
La idea es muy simple: Se centra en hacer obvio lo que
añade valor al reducir todo lo
demás.
La idea central es maximizar el valor del cliente y minimizar el desperdicio. Simplemente, lean significa crear más valor para los clientes con menos recursos.
Una organización lean entiende el valor del cliente y enfoca sus procesos claves para aumentarlo continuamente.
Los principios que definen esta filosofía de trabajo son:
- Eliminar residuos.
- Ampliar el aprendizaje.
- Decida lo más tarde posible.
- Entregar lo más rápido posible.
- Capacitar al equipo.
- Ver el conjunto.
36/44
Enfoque ágil de proyecto
El objetivo final es proporcionar valor perfecto al cliente a través de un proceso de creación de valor perfecto que tiene cero residuos.
Lean Start Up
Se trata de extender la metodología o filosofía Lean, al lanzamiento de nuevas empresas al mercado.
Ejemplo: Eliminar stocks
En lugar de hablar de eliminar el desperdicio en el código fuente, por ejemplo, hablamos de eliminar los stocks intermedios en un proceso de distribución y comercialización.
Sus principios son los mismos que el método Lean clásico, resaltando todas aquellas actividades que aportan valor al negocio, y tratando de minimizar, o incluso eliminar, todas aquellas que ralenticen o no aporten valor real.
La idea es ir validando cada aprendizaje de forma continua, experimentando con nuevas ideas en el negocio real y no de forma teórica; e iterando sobre este estilo de funcionamiento.
El gran objetivo es minimizar el riesgo en el lanzamiento de nuevos productos al
mercado, o incluso en la creación de nuevas empresas, aprendiendo del cliente cuando más rápido y barato mejor.
Lean
37/44
Enfoque ágil de proyecto
Relación entre metodologías ágiles
Como vemos en el siguiente gráfico, a menudo no tienen por qué elegirse unas u otras de forma separada.
Es decir, no hay que pensar en
términos de "Lean, o Scrum", por ejemplo. Scrum es una metodología
concreta, que nos
dice qué reuniones debemos mantener, cuánto duran, qué roles hay en el
proyecto, qué
artefactos... Pero
todo esto es una forma de hacer específicos y aplicables los principios del
agilismo
(entregas continuas, comunicación
fluida, simplicidad...). Como por ejemplo, también propone XP.
A la vez, tanto en XP como Scrum,
el equipo de trabajo puede (y debe, porque es muy buena práctica)
organizar su trabajo
utilizando Kanban, para ver con facilidad las tareas en curso, si hay alguna
columna
donde se acumulan
muchas tareas (eso es signo de algún problema), si el ritmo de avance es el
correcto...
Más aún: en cualquiera de estas combinaciones, aplica la filosofía Lean: no hacer tareas que no aporten valor; maximizar el valor del producto final; no generar desperdicio; mejorar de forma continua...
Si la "unión hace la fuerza", en el caso de las metodologías ágiles se aplica perfectamente.
A su vez, todo este enfoque mental está dentro de lo que podemos denominar "pensamiento sistémico", es decir, pensar en global, en dar la mejor solución al problema completo, eligiendo y afinando las mejores prácticas para ello.
Ejemplo: Sinergia de metodologías
Por ejemplo, un proyecto se organiza en Sprints de 2 semanas, se llevan a cabo las
ceremonias de Scrum, se utiliza un
Kanban para la gestión de tareas, se aplican algunas prácticas de ingeniería de XP (programación por pares, desarrollo
dirigido por las
pruebas, e integración continua),
generando en todo ello el menor desperdicio posible y aumentando el valor del
resultado del proyecto.
Uniendo metodologías ágiles
38/44
Enfoque ágil de proyecto
Hemos aprendido
En el enfoque ágil, lo menos claro al arrancar el proyecto es el alcance, puesto que se adoptan los cambios que sea necesario.
El liderazgo ágil se basa en la autogestión de las personas y de su trabajo, no en la figura de un jefe de proyecto.
Las metodologías ágiles tienden a minimizar la documentación y a maximizar los resultados tangibles, mediante quick wins.
El manifiesto ágil es un documento con 4 valores y 12 principios, que sirven de base para una filosofía de trabajo que ha dado lugar a metodologías como Scrum, XP o Kanban.
Los valores ágiles incluyen que las personas son más importantes que los
procesos, los
productos más importantes que los documentos, la colaboración
mejor que la negociación, y la respuesta
a cambios mejor que seguir un plan
predefinido.
Algunos principios ágiles son las entregas repetidas en breves períodos de
tiempo, potenciar la simplicidad y la excelencia técnica, permitir la autogestión de los equipos de trabajo, o potenciar la comunicación cara a cara.
Scrum es la metodología ágil más
utilizada. Se basa en una serie de ceremonias o
reuniones, sprints de duración fija
entre 1 y 4 semanas, desarrollo iterativo e
incremental, y contempla las figuras de
Scrum Master, Product Owner y Equipo
de Desarrollo.
XP es una
metodología que propone una serie de prácticas de trabajo e ingeniería
para el desarrollo de software ágil, con
entregas en periodos de tiempo muy
cortos.
Kanban es una metodología que consiste en visualizar el trabajo en curso
mediante un tablero o panel de tareas, limitando el trabajo en curso y haciendo que el seguimiento del avance sea fluido.
Lean significa hacer sólo lo útil, no generar desperdicio, y no perder el tiempo en hacer trabajos que no aporta valor real.
Lean Start Up es la aplicación de la filosofía Lean a la creación de nuevas empresas o al lanzamiento de nuevos productos.
Las metodologías ágiles no son de uso excluyente entre sí; al contrario, es muy buena práctica seleccionar qué parte de cada metodología es más conveniente para nuestro proyecto, y adoptarla.
39/44
Enfoque ágil de proyecto
Actividades prácticas
Prácticas tradicionales y ágiles
Análisis de la ge stión diaria tradicional o ágil
1.Piensa en el proyecto en el que
estés trabajando actualmente, o en el último en el que hayas
participado. Haz una lista de las prácticas de
gestión más habituales que se llevan a cabo en
el mismo.
Con todo lo que hemos visto en
esta unidad, puedes identificar si las prácticas que se están
aplicando en ese
proyecto se parecen más a las propias de la gestión tradicional, o a la
gestión ágil:
¿Cómo se planifica?
¿Cómo se hace el seguimiento?
¿Cuántas entregas se hacen durante el proyecto?
¿Se trabaja en base a iteraciones, o con un diagrama de gantt desde el principio? ¿Está el alcance del proyecto determinado de inicio completamente, o se va descubriendo a lo largo del proyecto?
Etc.
40/44
Enfoque ágil de proyecto
Recursos
Videos complementarios
https://youtu.be/PlLHc60egiQ: Vídeo explicativo que narra toda la teoría de Scrum
completa en 7
minutos.
https://youtu.be/WtsLl1axTxs: Representación animada de los valores y principios
del manifiesto
ágil.
Documentos
Metodología Kanban
https://articulosit.files.wordpress.com/2011/11/kanban.pdf
Descripción detallada de la metodología Kanban.
Enlaces de Interés
Principios del manifiesto ágil
https://agilemanifesto.org/iso/es/principles.html
Relación de los Principios del Manifiesto Ágil.
Enfoque ágil vs tradicional
https://reeelab.com/2014/02/24/agilismo/
Artículo que señala las diferencias entre ambos enfoques de gestión de proyectos.
Método Lean Start Up
https://innokabi.com/metodo-lean-startup/
Artículo descriptivo de la metodología Lean Start Up
Preguntas Frecuentes
41/44
Enfoque ágil de proyecto
1. ¿Se pueden adaptar las metodologías ágiles a cada proyecto y cada empresa?
Sí, pero sólo cuando se tiene experiencia.
Por ejemplo, las 13 prácticas de Programación Extrema están pensadas para aplicarse conjuntamente. Si se elimina alguna de ellas, un equipo inexperto puede perder la noción y el equilibrio del método, y que éste suponga un problema y no una herramienta.
Las metodologías ágiles tienen un contenido teórico muy ligero y son fáciles de comprender, pero se deben aplicar sin modificaciones al inicio. Más adelante el equipo de trabajo irá adaptando y combinando las prácticas de forma más avanzada.
2. ¿El Scrum Master en Scrum es el equivalente al Jefe de Proyecto tradicional?
No. El jefe de proyecto tradicional dirige el trabajo de las personas, presenta la planificación detallada, asigna las tareas, reporta el estado del proyecto... ninguna de estas tareas son realizadas por un Scrum Master; es el propio equipo de trabajo quien se auto organiza.
El Scrum Master facilita el trabajo, enseña el método, propone ajustes al mismo en función del proyecto o de la empresa, o dirige las reuniones si éstas se desvían en tiempo u objetivo.
3. Si se llega al final de Sprint, y quedan unas pocas tareas para finalizar, ¿se alarga el sprint
1 día para finalizarlas?
No. Cada Sprint no puede alargarse de tu timebox definido.
Los requisitos que tienen tareas sin finalizar se consideran "no conseguidos", es decir no "hechos", y por lo tanto no deberían presentarse en el Review Meeting.
El product owner considerará si estos requisitos se retoman en el sprint siguiente (desplazando a otros) o se descartan.
42/44
Enfoque ágil de proyecto
4. Si una reunión, por
ejemplo la Daily, se alarga y supera el tiempo establecido, ¿no hay que
respetar
su timebox?
El timeboxing es una práctica de obligado cumplimiento. Día a día, hay que enseñar y acostumbrar al equipo de trabajo a respetar los tiempos tope de cada reunión. A largo plazo es la medida más eficiente, y que obliga a centrar el asunto de cada reunión.
El Scrum Master es quien debe decidir sobre este punto y dirigir la reunión hacia su cierre en el tiempo previsto.
Bibliografía
Kanban from the Inside : De Mike Burrows, libro exhaustivo sobre las posibilidades de kanban, sus métricas, variaciones, aplicaciones, valores...
Por un Scrum Popular : De Tobias Mayer y Alan Cyment, comenta distintos enfoques e ideas para conseguir que se utilice Scrum con éxito.
Alosario.
Historias de usuario: Una historia de usuario es una representación de un requisito escrito en una o dos frases utilizando el lenguaje común del usuario. Se suelen redactar en la forma de: "Como usuario, necesito la funcionalidad YYY para conseguir SSS".
Parálisis
por análisis: La parálisis por
análisis es el error típico de ciertos proyectos en donde
nunca se empieza a
implementar o a desarrollar prototipos porque el proyecto se ve inmerso en
una permanente fase de análisis previo.
Al aspirar a algo perfecto, al final no se acaba consiguiendo
nada concreto.
Pruebas unitarias: Una prueba unitaria es una forma de comprobar el correcto funcionamiento de una unidad de código. Por ejemplo en diseño estructurado o en diseño funcional una función o un procedimiento, en diseño orientado a objetos una clase. Esto sirve para asegurar que cada unidad funcione correctamente y eficientemente por separado.
Iuick
wins: Un quick win es un
resultado que se obtiene de forma rápida en el tiempo, sin tener
que esperar a que el
proyecto consuma gran parte de su calendario. No tiene por qué suponer un
valor de negocio
importante, pero sí funciona como demostración del avance y la utilidad del
proyecto, genera
confianza en los interesados (sobre todo en los inversores) y se utiliza para
confirmar las expectativas.
43/44
Enfoque ágil de proyecto
ROI: El ROI es de gran utilidad para evaluar esta rentabilidad. Se convierte en la relación entre la inversión de marketing y los beneficios generados, bien sean ventas directas u obtención de clientes potenciales.
Síndrome
del estudiante: El síndrome del
estudiante es un concepto introducido por Eliyahu M.
Goldratt, en su libro Cadena crítica.1 Se
refiere al fenómeno por el cual las personas comienzan a
dedicarse seriamente a una tarea que les fue
asignada solamente cuando la fecha de entrega se
acerca. Más específicamente, en los primeros dos tercios del período
asignado para la tarea
avanzan un tercio
del trabajo, y en el último tercio aceleran y finalizan los dos tercios
restantes.
Esto sucede
típicamente cuando un estudiante está preparando un examen, de ahí el nombre.
44/44
