Uso de Kanban para el desarrollo de WordPress

¿Eres una persona de «borrón y cuenta nueva»? ¿Cuántas veces has dicho que empezarás de nuevo el lunes, o el primero del mes, o en el Año Nuevo? He aquí un secreto: nunca funciona.

Realmente nunca puedes hacer borrón y cuenta nueva, ni deberías querer hacerlo. Has llegado hasta aquí gracias al trabajo que has hecho en el pasado. Sí, probablemente haya una manera más eficiente, pero no la descubrirá deshaciendo todo el progreso que ha hecho.

Por eso me encanta el sistema kanban. Empecé a usarlo a principios de 2019 para revisar mi flujo de trabajo y estoy enganchado. Es perfecto para el tipo de equipo que necesita mantenerse organizado y al día con el trabajo, pero que también sabe que las cosas cambiarán mucho.

En este artículo, me centraré en kanban para los equipos de desarrollo de WordPress, pero un par de ejemplos que uso son de mis propios tableros kanban, que se crean en torno a mis flujos de trabajo de escritura.

¿Qué es Kanban?

Para comprender el desarrollo de kanban, primero debe comprender el pensamiento lean.

El pensamiento Lean no es una metodología. En cambio, es una mentalidad que se basa en valores que enmarcan el contexto de un proyecto. Los siete valores magros son:

  1. Elimine el desperdicio deshaciéndose de todo lo que no agregue valor al proyecto.
  2. Amplifique el aprendizaje mediante la recopilación periódica de comentarios para mejorar los procesos
  3. Decida lo más tarde posible, es decir, después de recopilar toda la información para fundamentar las decisiones.
  4. Entregue lo más rápido posible sin sacrificar la moral del equipo o la calidad del producto; se trata de eficiencia y sostenibilidad, no solo de velocidad.
  5. Capacite a los equipos, asegure la salud y la energía de los desarrolladores y promueva en función de la experiencia y el liderazgo.
  6. Cree experiencias intuitivas y valiosas.
  7. Vea la imagen completa evaluando todo el proyecto, no solo sus características individuales.

Los equipos que emplean el pensamiento lean a menudo usan el método kanban para la gestión del flujo de trabajo. Puede configurar un tablero kanban con fichas impresas o puede crear un tablero kanban digital con una herramienta como Asana o Trello. Cree un flujo de trabajo configurando diferentes columnas, luego mueva la tarjeta a través del flujo de trabajo de izquierda a derecha a medida que se completan las tareas.

Fuente: Asana

El tablero kanban más básico tiene tres columnas:

  • Hacer
  • Haciendo
  • Hecho

Con los tableros kanban avanzados, puede tener columnas adicionales y cada tarjeta puede tener su propio conjunto de subtareas para completar. Este es un ejemplo de algunas de las subtareas en una tarjeta en mi Asana:

Dado que Kanban tiende a rastrear elementos de trabajo más grandes en lugar de tareas pequeñas, es común necesitar varias subtareas e instrucciones en una tarjeta, junto con las fechas de inicio y finalización, las personas asignadas y los documentos de apoyo.

Principios Kanban

El desarrollo de Kanban es una forma de configurar procesos en evolución; no exige cambios inmediatos al realizar tareas específicas en el momento. Tampoco comienza con una pizarra en blanco. En su lugar, se basa y adapta sus procesos actuales y la estructura del equipo.

Hay cuatro principios básicos de kanban:

  1. Comience con sus procesos actuales. Incluya los pasos, políticas y reglas que sigue actualmente. Esto puede cambiar en el futuro, pero ese es el objetivo del desarrollo kanban: evolucionar.
  2. El equipo debe comprometerse con cambios incrementales y evolutivos.
  3. Respete y mantenga los títulos, funciones y responsabilidades de los puestos, al menos por ahora. La estructura del equipo puede cambiar a medida que modifica sus procesos.
  4. Anime a los miembros del equipo en todos los niveles a liderar cuando sea apropiado.

Prácticas Kanban

Hay seis prácticas básicas de kanban:

  1. Visualice sus proyectos creando columnas que coincidan con cada paso de su proceso actual.
  2. Establezca un límite para limitar la cantidad de elementos de trabajo activos que hay en cada columna. Esto ayuda a crear un ritmo realista y permite a los miembros del equipo concentrarse en los elementos de trabajo más importantes sin sentirse distraídos o abrumados.
  3. Mida qué tan rápido se mueven las tarjetas en todos los ámbitos y evalúe si hay cuellos de botella o desperdicio.
  4. Defina los pasos, políticas y reglas del proceso para que todos los miembros del equipo estén informados.
  5. Implemente bucles de retroalimentación y realice los ajustes de proceso necesarios.
  6. Mejore en colaboración y evolucione rápidamente. Esta práctica combina los cuatro principios para que el equipo pueda tomar decisiones como un todo.

Kanban para el desarrollo de WordPress

Crear un tablero

Para usar kanban para el desarrollo de WordPress, deberá dividir su proceso en pasos de desarrollo específicos. La forma más fácil de hacer esto es mirar una función que ya haya entregado y enumerar cada paso amplio del desarrollo. Aquí hay un ejemplo del ingeniero de software Harrison Ferrone:

Luego, cada paso se usa para crear una columna en su tablero kanban. Aquí hay un tablero kanban de ejemplo de Asana que se usa para el seguimiento de errores:

Aquí hay más ideas de columnas para su tablero kanban de desarrollo de WordPress:

  • Backlog: Ideas que pueden o no implementarse
  • Requerido: Ideas a desarrollar
  • Ready for Design: Ideas que se aclaran y que tienen el visto bueno para el siguiente paso
  • En progreso: puede tener columnas separadas «En progreso» para las etapas de diseño, codificación y producción
  • Listo para revisión: puede tener columnas separadas «Listo para revisión» para cada etapa
  • En revisión: puede tener columnas separadas «En revisión» para cada etapa
  • Cambios necesarios: artículos devueltos que necesitan más trabajo
  • Hecho

También puede clasificar las tarjetas según su prioridad. Herramientas como Asana y Trello tienen códigos de colores para este propósito. Puede priorizar categorías como errores, características del cliente y problemas del cliente, sin embargo, funciona mejor para su equipo.

Establecimiento de límites de trabajo en curso

Configurar el tablero kanban es solo el comienzo de la organización del flujo de trabajo. Todo el equipo de desarrollo debe entender cómo usar el tablero kanban y qué se espera de ellos en cada etapa. Esto es especialmente importante si observa cuellos de botella o columnas que se acumulan con el trabajo a un ritmo más rápido que otras columnas. Es probable que deba establecer un límite de trabajo en progreso (WIP) para evitar que esto suceda, suponiendo que confíe en que los miembros de su equipo están trabajando de manera suficientemente eficiente.

Por ejemplo, el paso «Probar y validar» puede ser un cuello de botella si esta parte del proceso lleva más tiempo que las demás. La solución es establecer un límite WIP para esa columna, la columna anterior o todo el tablero kanban. Puede limitar las columnas «Crear función» y «Probar y validar» a cinco cada una. De esa manera, nunca se crean más de cinco funciones a la vez y no más de cinco funciones que requieren pruebas y validación a la vez. Una vez que finaliza la prueba y la validación de una característica, se puede mover otro elemento de trabajo de la columna «Crear». Esto mantiene el flujo de trabajo en movimiento sin quedar atrapado en ningún lugar.

De acuerdo con Kanbanize , una buena regla general para establecer límites WIP es multiplicar a sus desarrolladores por dos. Si tiene diez desarrolladores, establecerá un máximo de 20 proyectos en un momento dado. Los límites más bajos son mejores para la eficiencia, pero no los establezca tan bajos que su equipo termine sin tener nada que hacer mientras esperan que otros desarrolladores completen los elementos de trabajo.

Mejores prácticas de desarrollo Kanban

Incluya los detalles y la razón detrás de los límites WIP. Puede escribir esto directamente en la pizarra para que los miembros del equipo puedan consultarlo cuando sea necesario. Por ejemplo, uno de mis clientes tiene instrucciones en una tarjeta en la parte superior de una columna para explicar cuántos artículos se pueden reclamar por día y los días y horas en que se agregan artículos al tablero durante la semana.

Aclare cuándo debe pasar una carta de un tablero al siguiente. Tengo esto integrado en las subtareas de algunas de mis tarjetas, y sé que solo debo mover la tarjeta una vez que las subtareas anteriores estén completas:

También puede establecer parámetros más específicos. Por ejemplo, solo puedo mover una tarjeta a la columna «Completado» si he agregado el enlace publicado del artículo a mi cartera y si el artículo está pagado.

Amplíe el flujo de trabajo para tener en cuenta los elementos de trabajo que van y vienen entre las columnas. Supongamos que tiene un elemento en la columna «Revisión de código». Si no pasa la revisión del código, tendrá que volver a la columna anterior, que probablemente sea algo así como «Característica de compilación». Si esto sucede con frecuencia, tiene un nuevo tipo de cuello de botella, pero si establece un límite WIP bajo, entonces no hará suficiente trabajo.

La solución es crear nuevas columnas, como «Revisión de código fallida» y «Segunda revisión de código». Luego le diría a su equipo que si una característica pasa la revisión del código inicial, puede pasar directamente al siguiente paso natural y omitir las dos columnas adicionales que acaba de agregar. O bien, puede colocar una nueva columna al comienzo del flujo de trabajo para recopilar las revisiones fallidas y pasarlas por el proceso nuevamente, o puede agregar una columna «Reparar» dentro del proceso para abordar esos problemas. La mejor solución es la que funciona con su proceso personalizado.

Terminando

No existe un tipo de tablero kanban, ni siquiera para dos equipos de desarrollo que hacen exactamente lo mismo. Eso es lo bueno de esto: puede adaptarlo completamente a sus necesidades y luego adaptarlo a medida que sus necesidades crezcan y cambien. En general, el desarrollo de Kanban es excelente para los equipos que necesitan crear lo que quieren los usuarios; entregar esas características a tiempo; y cree un ritmo de flujo de trabajo que sea sostenible.

Ahora que su flujo de trabajo de desarrollo es fluido, aprenda a configurar su espacio de trabajo digital para una mayor productividad .