¿Cómo nos ayuda el método Kanban?

Kanban es un método de gestión de trabajo ideado para mejorar el proceso de fabricación de Toyota, basado en señales visuales (Kanban significa en japonés “señal visual” o “tarjeta”.)

Y es que una imagen vale más que mil palabras, ya que se ha descubierto que el cerebro procesa información visual 60.000 veces más rápido que texto.

La información visual comprende el 90% de los datos que llegan a nuestro cerebro, estando el 40% de todas las fibras nerviosas conectadas al cerebro relacionadas con la retina.

Visualiza el trabajo

Kanban ayuda a aprovechar el poder de la información visual para crear un modelo visual del trabajo y su flujo por los estados que atraviesa.

Ver los diferentes estados por los que atraviesa el trabajo dentro del proceso de un equipo, como fluyen las diferentes tareas, permite, no solo comunicar el estado, sino también dar y recibir contexto para el trabajo.

Kanban

Imagen extraida de www.leankit.com

Kanban ayuda a trasladar la información que normalmente se comunicaría a través de palabras a un formato más visual, permitiendo focalizarte además sobre los datos importantes.

Mirando el tablero, una persona conoce rápidamente como funciona el sistema y en que estado se encuentra.

Al observar visualmente el flujo de trabajo moviéndose en el sistema Kanban, es fácil detectar tareas que bloquean, cuellos de botella, colas, permitiendo servir como punto de partida para generar una conversación lo que lleva a una mejor comunicación y colaboración.

Limita el trabajo en proceso

Limitando la cantidad de trabajo pendiente en proceso, se puede reducir el tiempo que le toma a un elemento fluir a través de los estados.

En las empresas se cree que trabajar sobre varias tareas en paralelo aumenta la productividad, asignándose varias tareas a una misma persona. Pero eso no es verdad, las multi-tareas retrasan en lugarde acelerar la terminación de trabajo. Sigue leyendo

Kanban

Kanban es un método que muestra como el trabajo se desarrolla.

Kanban es un método de gestión del trabajo, no de personas.

Permite que se tenga un entendimiento compartido del trabajo realizado, incluyendo las reglas por las cuales se efectúa el trabajo, cuántas tareas se pueden manejar en un determinado periodo de tiempo y como regularmente se entrega algo acabado a los clientes ya sean internos o externos.

El objetivo es que una vez que se llega a este entendimiento se pueda empezar a mejorar.

Sabremos predecir mejor como funciona el equipo (o nosotros mismos) y trabajar a un ritmo más sostenible. Se incrementa la colaboración y la comunicación, lo que consigue productos de mayor calidad. La empresa entera se alinea, consiguiendo realizar objetivos estratégicos.

Kanban

Imagen de Jira, programa de Atlassian usado para visualizar el estado del trabajo

Las personas llegan a ser más independientes porque desarrollan una comprensión innata del riesgo que conlleva la gestión. Kanban consigue que la gente adquiera compromiso y un conocimiento del flujo de trabajo, lo que lleva a aumentar la agilidad.

Sigue leyendo

Conferencia Agile Spain

Este año voy a asistir a la CAS 2017 en Sevilla como voluntaria.

Me apatece un montón porque aunque he ido a muchos eventos nunca he participado con ese rol, y ahora que dispongo de tiempo me parece una forma genial de aprender y conocer a gente.

CAS 2017

Para los que no lo sepan la Conferencia Agile Spain (@confagilespain) es un evento que se celebra cada año en una ciudad diferente, generado por personas que viven el desarrollo de software de una manera diferente.

Profesionales del sector comparten conocimientos y experiencias en torno a las metodologías ágiles y como personalmente creo en ellas para desarrollar productos y servicios, es una oportunidad única de compartir conocimientos con empresas y personas de España que piensan igual.

¡Nos vemos allí el 7!

Y el sábado a primera hora a coger el AVE directa a Zaragoza a la Women TechMakers! Moriré de cansancio???? Nooo, I can!!!

Funciones del Scrum Master

Seguimos con los post sobre Scrum (ver anterior post sobre los Roles de Scrum) en este caso explicando las funciones del Scrum Master, dentro de su dualidad sirviente-líder que ocupa para el Scrum Team y para la organización.

Scrum Master

Imagen obtenida www.scrumalliance.org

Cuando una organización cambia su modo de trabajo a Scrum todos deben aprender como integrarlo, que nuevas funciones tienen y cual va a ser la forma de desarrollar los productos.

El Scrum Master es la persona encargada de servir de apoyo a todos los integrantes en ese nuevo cambio.

Y es que por muchas ganas que tenga todos los integrantes de cambiar la forma de trabajar (no hablemos si alguien es reticente) la misión no es sencilla, por lo que el Scrum Master igual el que Product Owner deben ser personas empáticas, colaboradoras, pacientes, y con el coraje de defender los roles y funciones de Scrum.

Funciones del Scrum Master para el Product Owner

La persona que adquiere el rol de Scrum Master sirve al Product Owner de varias maneras, que incluyen:

  • Encontrar técnicas para una gestión eficaz del Product Backlog.
  • Ayudar al Scrum Team a entender la necesidad de elementos claros, concisos y bien definidos en el Product Backlog.
  • Comprender la planificación del desarrollo de productos en un entorno empírico.
  • Asegurar que el Product Owner sepa cómo organizar el Product Backlog para maximizar el valor.
  • Comprender y practicar la agilidad.
  • Facilitar eventos de Scrum según se solicite o necesite.

Funciones del Scrum Master para el Development Team

El Scrum Master sirve al Equipo de Desarrollo de varias maneras,  siendo para mi la más importante la de ayudarle a eliminar impedimentos. Y es que muchas veces el trabajo no sale porque las personas no saben como proseguir o si pueden hacer algo o no.

Sigue leyendo

Roles en Scrum

A continuación voy a hablar de los roles que existen dentro del Scrum Team y que funciones y deberes tiene cada uno.

Scrum no tiene un rol llamado «Project Manager».

Scrum Team

Scrum Team

El Scrum Team se compone de 3 perfiles:

  1. Product Owner (1 persona)
  2. Development Team (Varias personas)
  3. Scrum Master (1 persona)

El Scrum Team debe ser auto-organizado y multifuncional. Lo primero para saber elegir cual es la mejor manera de hacer el trabajo, mejor que siendo dirigidos por otros externos. Multifuncionales porque el equipo debe tener las comptencias necesarias para realizar el trabajo sin depender de otras personas que no formen parte del equipo.

El equipo perfecto en Scrum está diseñado para optimizar flexibilidad, creatividad y productividad.

Es decir, debe ser capaz de poder entregar y publicar (si ha sido pasada a Done) esa nueva release lanzada.

No puede depender de otros equipos para subir a producción algo definido como «Done».

El equipo entrega productos cíclica e incrementalmenre, maximizando las oportunidades para obtener feedback. Entregas incrementales de productos con la etiqueta «Done» (Hecho) aseguran potenciales versiones usables del producto están siempre en activo.

Product Owner

El Product Owner , PO es el responsable de maximizar el valor del producto y el trabajo del Development Team (Equipo de desarrollo). Como se realiza esto, puede variar dependiendo de la empresa, los Scrum Teams y los inddividuos.

El Product Owner es la única persona responsable para gestionar el Product Backlog.

Entre las tareas que se realizan en esa gestión se encuentran:

  • Nombrar claramente los ítems del Product Backlog.
  • Ordenar los items en el Product Backlog priorizándolos para lograr los mejores objetivos y resultados.
  • Optimizar el valor del trabajo que realiza el Development Team.
  • Asegurarse de que el  Product Backlog sea visible, transparente y claro para todos, y que muestra en que va a trabajar el Scrum Team.
  • Asegurarse de que el Development Team comprende perfectamente los elementos del Product Backlog.

El PO puede hacer el trabajo anterior o hacer que lo haga el equipo de desarrollo, pero en ambos casos será el Product Owner responsable.

Sigue leyendo

Aprendiendo Scrum

Scrum es un framework (marco de trabajo) dentro del cual las personas pueden abordar problemas complejos, a la vez que ofrecen productos de manera eficiente y creativa del más alto valor posible.

Scrum

Web de scrum.org

Scrum proviene del trabajo de Ikujiro Nonaka e Hirotaka Takeuchi cuando publicaron «The New New Product Development Game» en Harvard Business Review (HBR) en 1986.

Su forma final proviene de “Scrum Development Process” presentado por Ken Schwaber en OOPSLA 95. Tanto Ken Schwaber como Jeff Sutherland son considerados sus creadores oficiales.

Aunque para Takeuchi y Nonaka, Scrum está relacionado indirectamente con el software. Tiene que tiene más que ver con el liderazgo y el funcionamiento de las principales compañías del mundo, tal y como aparece su artículo en HBR llamado «The Big Idea: The Wise Leader».

En sí mismo, no es un proceso o una técnica, sino que como marco de trabajo, para desarrollar complejos productos de software, pudiendose emplear varias procesos y técnicas. Presenta varios componentes, roles, eventos, artefactos y reglas, que tienen un propósito muy claro y son esenciales para el éxito de Scrum.

Sirve especialmente para ver de forma clara la eficacia relativa de las prácticas de desarrollo y gestión de producto para que se pueda mejorar.

Si de verdad se quiere lograr un cambio en la forma de trabajar, éste debe contar con el apoyo de «los de arriba».

Los stakeholders deben respaldar al Product Owner con conocimientos e información de los productos o servicios a desarrollar y apoyar al Scrum Master para provocar un cambio organizacional que fomente el empirismo, la autoorganización, la inteligencia y el poder decidir de forma inteligente cuando el producto está listo para ser lanzado.

Los 3 pilares de Scrum

Dentro de los principios Agile, vivimos en un mundo de constante cambio e incertidumbre por lo que es imposible predecir a futuro cual va a ser la siguiente innovación.

Scrum se basa en la teoría empírica de control de procesos. El empirismo afirma que el conocimiento proviene de la experiencia y toma decisiones basadas en lo que se conoce.

Scrum emplea un enfoque iterativo e incremental para optimizar la predictibilidad del mundo en el que vivimos y controlar el riesgo.

Tres pilares sostienen la implementación del control del proceso empírico:

Sigue leyendo

Principios Lean UX para guiar el proceso

Una vez que hemos hablado qué cultura y organización debe existir en la empresa y los equipos, vamos a ver cómo deben trabajar.

Trabaja en bloques pequeños para reducir el riesgo

Otro principio fundamental heredado de Lean Manufacturing es la práctica de dividir el trabajo en pequeñas unidades, en su caso con el objetivo de reducir el inventario y obtener la máxima calidad.

Trasladado a Lean UX significa que sólo la cantidad de trabajo necesario se realizará para poder avanzar hacia delante, validando la hipótesis y continuando el desarrollo en base a lo aprendido. Con ello contribuimos a otro de los principios, el de reducir el desperdicio.

Descubrimiento continuo

Para realizar este proceso debemos involucrar al usuario o cliente en el proceso durante la fase de diseño y desarrollo de las ideas.

Muchas veces (en el caso de que se haga) este contacto, en vez de hacerse de forma regular se realiza al final, con el trabajo ya desarrollado. Por ello se deben definir encuentros seguidos mediante métodos cuantitativos o cualitativos que permitan obtener el feedback para la validación.

Descubrimiento continuo

El objetivo es claro: entender que hacen los usuarios con tus productos y por qué lo están haciendo.

Por ello la investigación debe hacerse de forma regular y con todo el equipo implicado.

Este segundo punto (con todo el equipo implicado) es muy importante ya que normalmente sólo los UX Research hacen esta parte teniendo posteriormente que explicar los resultados al resto del equipo.

Al introducir a todo el equipo en la investigación consigues 3 cosas:

  1. Que desarrollen una mayor empatía por el usuario y sus problemas
  2. Entendimiento compartido de lo que ocurre y por que luego se van a tomar ciertas decisiones.
  3. Reducción de la necesidad de generar documentación que explique los descubrimientos de la investigación

GOOB (Getting out of the building)

Con esta expresión que significa literalmente “salir fuera del edificio”, Steve Blank, profesor de Stanford, quiere conseguir que los equipos salgan fuera de las salas de reuniones con sus interminables divagaciones y suposiciones, y que den a los potenciales usuarios la oportunidad de proveer feedback real tan pronto como sea posible.

Gracias a esta dosis de realidad verás que ideas no funcionan antes de malgastar más recursos en ellas.

Exponer el trabajo

Con este principio, se quiere que las ideas salgan de la cabeza o de las pantallas de las personas y se pongan a la vista de todo el equipo. Esto permite ver el estado del trabajo, creando un flujo de información compartida, de nuevas ideas y sugerencias que surgen en base a lo visto…

Sigue leyendo

Principios Lean UX para guíar la organización de equipos

Los principios en los que se basa Lean UX se agrupan en 3 bloques. Cada uno sirve para guiar:

  1. La organización de equipos
  2. El proceso
  3. La cultura

Gracias ellos iremos viendo las ventajas que conlleva implementar Lean UX en tu organización y como esta se modificará conviertiendose en un lugar abierto, transparente, que aprovecha el conocimiento y la entrega de todos para conseguir los mejores resultados.

En ellos se basarán las herramientas y técnicas para lograr mejorar la colaboración, lograr entregar mejores productos y servicios de forma más rápida y con el menor gasto de recursos usando los conocimientos de todos los implicados y basando las decisiones en pruebas reales.

Y es que como dice Jeff Gothelf en su libro Lean Startup: «Get out of the deliverables business», en castellano: olvidémonos de centrar el negocio en las entregas y centrémonos en los que de verdad importa, hacer disfrutar a nuestros clientes con una experiencia memorable.

Principios Lean UX para guíar la organización de equipos

Equipos multifuncionales

Con esta palebreja lo que se refiere es que los equipos deben estar formados por aquellas personas con conocimientos necesarios en ese momento del proceso: desarrolladores, product management, testers, diseñadores visuales y de interacción, gestores de contenidos, marketing…

Para crear un gran producto es necesaria la suma de todos los conocimientos y la colaboración entre todas las disciplinas.

El todo es mayor que la suma de sus partes

Cuando un equipo está formado por personas de diferentes perfiles, se obtienen mejores soluciones ya que cada problema es visto desde un punto de vista diferente, aportando una gran diversidad.

Los miembros del equipo además están en contínuo contacto, por lo que poseen todo el conocimiento de lo que está sucediendo y lo que va a haserse al contrario que en organizaciones donde todo esta compartimentado. Gracias ello conseguimos una gran colaboración desde el inicio del proyecto logrando una mayor eficiencia de equipo, y trabajadores mucho más implicados en el proyecto.

Equipos pequeños, dedicados y juntos

Lo ideal: no más de 10 personas, focalizadas en el mismo problema y a ser posible en la misma ubicación. ¿Por qué?

Los equipos muy grandes tienen problemas para organizarse y compartir la misma información.

Los equipos pequeños generan un mayor sentimiento de camadería lo que genera mayor implicación en el proyecto y en las personas que lo están creando juntas.

Building a team

Imagen obtenida de aquí

Trabajando además en el mismo y único proyecto se consigue que estén centrados al máximo en las mismas prioridades y elimina las odiosas dependencias sobre otros equipos.

Autosuficientes y con poder para decidir

Si queremos obtener de forma rápida algo con lo que poder testear una suposición necesitamos que el equipo tenga todas las capacidades necesarias para trabajar sin dependencias externas.

Sigue leyendo

Poka-Yokes, heurísticos de usabilidad y affordances

Un poka-yoke (en japonés, ポカヨケ), es un término japonés que significa: Poka: “error no intencionado, equivocación…” y Yoke: “evitar”, es decir, “evitar equivocaciones”.

Es una técnica de calidad que se aplica con el fin de evitar errores en la operación de un sistema, introducida por el ingeniero japonés Shigeo Shingo en Toyota (1960), basada en que la causa de los errores estaba en los trabajadores, y que los defectos en las piezas fabricadas se producían porque no se corregían.

Anteriormente ya existían precedentes de poka-yokes, pero fue en ese momento cuando se consolidó este método como una técnica preventiva de control de calidad.

Para Shingo, los defectos de producción son la consecuencia de la cadena de errores generados por los trabajadores, por lo que no tenía sentido analizar el producto final cuando el defecto se producía durante el proceso de trabajo.

Es decir, el buscaba mejorar la calidad en su origen, actuando sobre la fuente del defecto, en lugar de tener que realizar correcciones, reparaciones y controles de calidad posteriores.

Para ello ideo 2 métodos sobre los que basarse para mejorar el proceso de trabajo y evitar errores.

  1. Control: Conseguir la imposibilidad o la dificultad de que el operario pueda equivocarse en proceso diseñando un sistema que lo impida (¿Te suena el término «affordance» introducido en el campo de HCI por Donald Norman en 1998 (propiedad en la cual las características físicas de un objeto o entorno, influencian en su función y uso)?).
  2. Advertencia: asumiendo que el error puede suceder, se diseña in dispositivo que dirija la atención hacia él para reaccionar y poder corregirlo.

¿No os suena esto a los principios heurísticos de usabilidad?

  • Conocimiento del estatus del sistema: el sistema debería siempre mantener a los usuarios informados de lo que está pasando, ofreciendo feedback en un tiempo razonable.
  • Control y libertad del usuario: cuando elegimos funciones del sistema por error necesitamos una “salida de emergencia” sin tener que ir a través de una serie de pasos complicados.
  • Prevenciones de errores: mejor que buenos mensajes de error, lo ideal sería un diseño que previniera que ocurrieran los problemas.

Hoy en día, es muy común ver dispositivos diseñados a prueba de error, no solo dentro de una empresa de producción o de servicio, sino en nuestro día a día, siendo una ventaja para todos los usuarios, ya que además de evitarse errores, pueden salvar vidas.

affordance

Imagen extraída de http://www.pdcahome.com/poka-yoke/

¿Algunos ejemplos?

Sigue leyendo

Cambiando la metodología de trabajo (o al menos intentarlo)

He trabajado en varias empresas que querían modificar su proceso de desarrollo de producto. Algunas (2013) querían implantar una nueva metodología (Agile en este caso) y otras ya la tenían, pero necesitaban un pequeño reajuste para adecuarla a su cultura de empresa.

Y es que desde mi punto de vista, cualquier metodología o proceso de trabajo tiene sus herramientas e indicaciones, pero no siempre sirven al 100%, sino que debe adaptarse a lo que la empresa necesita en ese momento.

Son una base sobre la que trabajar para encontrar el proceso que realmente funcione para cada grupo de trabajo.

En ambos casos las empresas contrataron los servicios de una persona que facilitase y guiase el cambio. En una el proceso duraba X meses, para luego la empresa continuar por su cuenta con lo aprendido, mientras que en la otra la fase de implantación duraba X meses, pero prosiguiendo después el trabajo con el facilitador.

Es decir, (o por lo menos lo que yo creo que es lo ideal) esa metodología por la que se estaba apostando no era algo cerrado, inmutable para siempre, sino que seguiría evolucionado en el tiempo.

En ambas empresas, como muchos imaginaréis, el proceso no fue sencillo.

Para mi existen 2 puntos claves en el proceso:

  1. ¿El cambio viene impuesto desde arriba o es algo en lo que todo el equipo cree y apuesta?
  2. Como en cualquier materia, la constancia y repetición son claves para hacer algo bien.

Si el cambio viene impuesto desde la dirección, va a ser muy difícil que suceda si los principales implicados no lo aprueban. El facilitador se va a encontrar con un muro muy difícil de romper, no digo que imposible, pero muy complicado.

Lo ideal es partir de una base en la que la mayor parte cree que es necesario el cambio porque lo existente no funciona. O funciona pero podría ir mejor.  Pero aun siendo algo querido por todos, cambiar unas costumbres suele ser muy complicado.

No olvidemos que estamos trabajando con personas.

Personas que pueden llevar 5, 10, 15, 20 años trabajando de una misma forma. Personas que han luchado por sacar adelante un proyecto. Personas que no se han sentido escuchadas. Personas que van agobiadas porque tienen unos plazos de entrega. Personas con un baggage emocional hacia la empresa y otros compañeros.

Sigue leyendo