lunes, 31 de agosto de 2015

Workflow, ¿Qué es y cómo mejorarlo?

Cuando estamos viendo artículos o vídeos, es normal de vez en cuando ver alguna referencia al workflow o cómo mejorarlo, pero no son pocos los que no lo llegan a comprender y muchos quien no lo mejoran considerablemente.

¿Qué es el workflow?


Como su nombre indica, workflow es el flujo de trabajo o dicho de otra forma los pasos que seguimos y herramientas que utilizamos desde que empezamos a realizar nuestro trabajo hasta que tenemos el resultado, aquí se incluyen tanto técnicas como herramientas.

En lo que se refiere a técnicas podríamos encontrar tanto enfoques de diseño como Mobile first o Progressive enhancement como de productividad como la técnica del pomodoro o kanban.

En herramientas, podemos encontrar programas que o bien nos permiten generar un plus de calidad, ahorrarnos tiempo o darnos algunos extras a la hora de compartir información.

¿Por qué no se suele mejorar?


Sobre el papel es muy bonito, en el mismo tiempo cambiando algunas cosas podemos hacer un trabajo de mejor calidad en menos tiempo, pero... ¿Por qué es tan común ver a personas con un workflow tan poco eficiente?  Esto no es tan solo algo temporal, sino que también se da en el caso de las empresas.  Los motivos pueden ser varios:

- Resistencia al cambio:  Una vez nos sentimos cómodos con una herramienta, una forma de trabajar, o incluso en la vida cotidiana; hay una cierta tendencia a que haya una resistencia al cambio.  La expresión más habitual puede ser "Para qué voy a aprender a algo nuevo si como lo hago ahora me va bien", pero por lo general el tiempo invertido en esos cambios puede llegar a ser ridículo en comparación a los beneficios.

En el caso de las empresas, tiene un poco más de sentido según la embergadura de los cambios, pero hay pequeños cambios en el workflow que no afectan a otros y sin embargo dan lugar a mejores resultados.

- Coste de la investigación/aprendizaje: Para utilizar algo primero hace falta conocerlo, si no conocemos la existencia de los preprocesadores CSS y de lo fácil que es implementar y potentes que son no vamos a usarlos.  Y claro, estar al tanto de estas herramientas, ver si funcionan y aprender a usarlo.

Eso conlleva tiempo y el tiempo es valioso, con lo que la primera opción de no pocos es dejarlo de lado.  Pero es justamente porque el tiempo es valioso, que hay que invertirlo en eso, si estar al tanto nos cuesta 2 horas semanales y sólo por el hecho de implementar algo como Gulp nos podemos ahorrar 3, ya estamos sacando 1 hora semanal de beneficio.

A mi modo de verlo, no cuesta tanto mejorar el workflow, porque ya hay artículos o tutoriales que explican varias herramientas y el ahorro de tiempo puede ser muy grande.

¿Y entonces?

Hay varias formas de mejorar el workflow dependiendo del entorno en el que estemos.  Hay herramientas como Bower o Yeoman que nos permiten comenzar un proyecto con una base, preprocesadores CSS que nos dan mucha potencia en nuestro código y estructurarlo, herramientas de linteo que nos permiten ver dónde hay posibles herrores incluso antes de ejecutar nuestra aplicación, otras tantas herramientas e incluso herramientas de gestión de tareas como Gulp o Grunt que nos permiten que todas las anteriores tareas se ejecuten de forma automática tras guardar los cambios en alguno de nuestros archivos de código.

Esa es la gran ventaja de un workflow eficiente, invertir un tiempo previo nos permite instar un esqueleto base de nuestra app ahorrándonos instalar una serie de herramientas o módulos y luego configurar las tareas necesarias en Grunt o Gulp nos permite que con la misma acción de guardar el archivo pasar por una serie de validadores o test unitaros y generar el resultado final. Considero que es estúpido e improductivo el no dedicar un cierto tiempo a mejorar nuestra forma de trabajar, siempre y lo que queremos es conseguir un resultado mejor con menos tiempo.

No hay comentarios:

Publicar un comentario