Entradas publicadadas a lo largo del Septiembre, 2009

timon barcoAbrazar los principios del manifiesto ágil es algo de sentido común, pero cada día se nota más la falta de este elemento en las relaciones comerciales y personales.
Es de sentido común que una persona pueda ir variando el rumbo de sus decisiones a dependencia de cómo se presente el viento, la situación del mar y otros fenómenos naturales fuera de su alcance.

Pues este sentido común se había perdido en gran parte de la industria, donde se planificaban muy bien los itinerarios de los proyectos, incluso de forma muy precisa, para luego seguirlos a rajatabla, incluso con el viento en contra y la marea con olas de cincuenta metros. Se justificaba diciendo que se hizo lo planificado.

Las empresas planificaban con sus clientes en un periodo: 6 meses, 2 años, 5 años o más, se crea una ruta a seguir, se planifica todo perfectamente, se abastecen todos los medios necesarios, juegan a adivinos, sobre todo porque nadie sabe qué pasará dentro de un año, qué tecnología nueva existirá o simplemente si el gusto de los consumidores cambia.
Normalmente el cliente como no tiene el timón del proyecto, no puede cambiar el rumbo.

Con las metodologías ágiles el planteamiento es totalmente distinto, el cliente contrata a un equipo, el cual se sube a su barco por el tiempo que le contrate. El cliente va dirigiendo el rumbo, cambiándolo cuando quiera, pero siendo consciente de que el equipo de “marineros” que lleva a bordo tiene una caducidad en tiempo, dado que ha pagado por ellos por un tiempo definido.
El primer día de navegación, de forma sencilla detalla los objetivos de su viaje al equipo, explica su proyecto, pero es consciente de que hay muchos factores que no controla que el proyecto cambiará con el tiempo.
Una vez terminado el tiempo de navegación el cliente ha obtenido lo que él ha planificado con sus cambios de rumbo, puede volver a contratar al equipo y volver a navegar para ampliar o mejorar el producto.

La diferencia entre los procesos es muy distinta, en una el cliente no es dueño del timón, sino de la planificación y la documentación previa, y en los procesos ágiles es totalmente responsable del rumbo del proyecto.

Una de las cualidades fundamentales que aporta emplear metodologías ágiles es que el resultado es eficaz y más eficiente.

Al integrar a todos lo implicados en el desarrollo de un producto de un forma continuada durante todo el periodo de creación (análisis, desarrollo y pruebas), permite que se transmita mejor la idea o necesidad que tiene el cliente o usuario.

No es sólo porque exista una comunicación continua entre todos los implicados en todas las fases, sino que al diseccionar el trabajo en pequeños bloques de producción, se puede ir valorando el crecimiento del producto y variando al mismo tiempo que se genera. Con esto se consigue que se puedan introducir cambios o mejoras al mismo tiempo que se produce.

Supongamos que tenemos que crear un robot:

Pila de producto scrum

Una vez finalizado el primer sprint se le entrega al cliente la parte del producto terminada, este puede ir analizando el resultado parcial final.

Scrum y los clientes
Puede ir aportando ya cambios y mejoras, no sólo sobre el producto terminado, sino también sobre los no empezados, incluso puede que se de cuenta de que es necesario eliminar algún complemento que tenía previsto fabricar.

El ciente no tiene que esperar a que esté terminado todo el trabajo para ir aportando sus impresiones, mejoras, modificaciones, etc. Con esto se mantiene la eficacia y mejora la eficiencia porque no se derrochan tantos recursos para conseguir el objetivo.

Scrum Alliance logo Scrum Alliance es el organismo que se encarga de formar y certificar a las personas que quieren aprender Scrum en sus distintos niveles.
Esta alianza pone a disposición de la comunidad cursos por todo el mundo, para que las personas puedan aprender y certificarse de los conocimientos adquiridos.

El primer nivel de certificación es el CSM o CSPO:
Niveles certificacion Scrum
El procedimiento es el siguiente:
Los candidatos deben realizar un curso CSM impartido por un Certified Scrum Trainer (CST) para poder optar a realizar el examen de CSM. Los candidatos que fallan el examen CSM pueden presentarse una segunda vez cuando quieran, si vuelven a fallar, deben esperar siete días para presentarse por tercera vez. En el caso de suspender cuatro veces deberán de volver a repetir el curso para tener nuevas opciones de examen.

Los siguientes niveles se denominan avanzados y son :
* Certified Scrum Practitioner – CSP
* Certified Scrum Coach – CSC
* Certified Scrum Trainer – CST

Cada uno de estos niveles solicita unos requisitos mas complejos y donde se tiene muy en cuenta la experiencia, para conocer con detalle cada uno puedes pinchar en cada enlace.

HerramientasHoy ponemos un ejemplo real de cómo Scrum ayuda a mejorar el servicio que se le ofrece a los clientes y de su efectividad en los plazos.

Una empresa demanda un desarrollo de un proyecto en una semana, 5 días laborables, no hay que caer en la falacia de contar los sábados y domingos porque entonces no se está aplicando una metodología, estamos haciendo lo que nos da la gana a demanda de un cliente exigente.

Para los clientes normalmente todo es urgente, por lo que transmiten esta urgencia a la hora de contratar un servicio o producto. Muchas empresas caen en error de convertir el pedido del cliente en urgente, sacrificar su tiempo y organización por ponerse la etiqueta de urgente a todos los pedidos, lo que los convierte en esclavos del tiempo, echando muchas horas y aumentando el estrés.

En nuestro ejemplo, la empresa tiene una velocidad, por ejemplo, de 40 puntos semanales. Al recibir un pedido urgente, que una vez estimado cuesta 30 puntos, puede asumir perfectamente la carga de trabajo y comprometerse a tenerlo en una semana.
No tiene que ampliar la horas de trabajo ni los días. El equipo cumple con el compromiso y el cliente tiene su proyecto realizado en el tiempo estimado.

En el caso real que ponemos aquí ocurrió que otra empresa solicitó otro trabajo para terminar en una semana unas horas después de aceptar el primero.
Una vez estimado el segundo encargo al cliente se le expuso la imposibilidad de poder cumplir con la fecha, que por falta de producción se tardaría más tiempo.

En este caso se está atendiendo perfectamente a los clientes, no se carga de trabajo al equipo, que además se sabe que no se va a terminar. El primer cliente esta muy contento por tener su proyecto terminado en su tiempo, el segundo aunque no tiene el encargo con la urgencia que quería, sabe que lo dispone para una fecha mas adelante, aunque no lo haya aceptado, y que no se le ha prometido una fecha que no se cumple.

El primero se ha fidealizado tanto por el procedimiento, como por cumplir con los plazos.

El segundo ha sido tratado con profesionalidad y curiosamente, en este caso, al final acepta retrasar su trabajo una semana, no era tan urgente como se decía.

Conocer la velocidad del equipo y el factor de foco permite a una empresa poder hacer promesas de entregas a muy corto plazo sin aumentar las horas y saturar al equipo.

velocidad scrumLa velocidad es uno de los valores que permite definir a las empresas que utilizan Scrum de las que no.
Se entiende por velocidad al número de puntos de esfuerzo que se realizan en cada Sprint, sólo se computan las historias terminadas.

El equipo ha estimado el coste de cada tarea, al final del sprint se recuentan las tareas finalizadas y el coste de las mismas, por ejemplo, un equipo termina 10 tareas de un punto, 5 tareas de 3 puntos y dos tareas de 6 puntos y una de 8 puntos, en total de 45 puntos finalizados en el Sprint, su velocidad ha sido de 45.

Esta velocidad no tiene ningún valor para personas ajenas al equipo y la empresa, dado que no conocen el valor de cada punto con el que se mide la velocidad, pero si es un gran indicador para el equipo y los gestores de la empresa, es un valor importante por:

1º- Se conoce la velocidad de producción, un indicador de cuántos puntos se pueden producir por sprint. Con ello no se carga al equipo con tareas extras en cada sprint, no sometiéndolo a un estrés innecesario, que al final lleva a no producir mucho más, y a obtener mala calidad en lo que se produce, porque la atención se disminuye a tener que dividirse entre más puntos y además soportar una carga excesiva.

2º- Se cuantifica un índice de producción en cada Sprint, lo que permite calcular exactamente el coste de cada punto, ajustar el presupuesto a los clientes y conocer el beneficio de cada trabajo.

3º.- Se elimina la incertidumbre del trabajo y al realizar un presupuesto no se le tiene que añadir ningún coste adicional pensando en las desviaciones internas del equipo.

No confundir la velocidad con el factor de foco, que son dos cosas distintas.

Para calcular el factor de foco, que es el indicador mas importante, se estima una velocidad, supongamos que tenemos en el equipo 6 personas y cada una produce en una situación ideal 1 punto cada día. Por lo que el equipo produce 6 puntos por día.
Si un Sprint dura 10 días, la situación ideal es que el equipo produzca 60 puntos al final del Sprint.

Como no existe un mundo ideal, dado que una persona no puede estar al 100% todo el día, aparte de llamadas, tareas que dan problemas por causas imprevistas, resfriados, etc., se estima que un equipo para estar en su máximo de producción deben tener un factor de foco del 80%.

En nuestro caso, si el equipo ha producido 45 puntos, un 75% de factor de foco. Es una buena cifra y se acerca al 80%.

Es importante calcular el factor de foco porque así sabemos cuánto vamos a producir en un Sprint, pongamos el ejemplo de que en un Sprint dos miembros del equipo tienen que trabajar dos días en una feria, en un stand, por lo que hay que descontar 4 puntos del total, tenemos 56, por lo que:

56 (velocidad ideal) x 0,75 (factor de foco) = 42 de velocidad prevista para el próximo Sprint.