Por qué automatizar tareas

por Ricardo Vega el 03 de junio, 2020
Etiquetas:
EstrategiaProgramación
7 minutos.

Como se puede ver en la sección "sobre mí", soy ingeniero en electrónica industrial y automática aunque mi vida profesional se aleja un poco de mi formación. Mi titulación es una mezcla entre electrónica pura (hardware) y automatización (sobre todo de procesos; software). Hoy quería hablarte de esta segunda que es la que posteriormente ha estado más cercana a mi día a día laboral.

Programar y automatizar no es exactamente lo mismo, aunque puedes usar la primera como herramienta / habilidad para conseguir la segunda. Personalmente, no aprendí a programar para automatizar pero sí fue uno de las primeras aplicaciones que le di.

Sin grandes conocimientos en programación, puedes automatizar pequeñas tareas a través de herramientas habilitadas para ello. Es el caso de Shortcuts o IFTTT por ejemplo y, aunque acercan la automatización al gran público, están un poco limitadas a la funcionalidad e integraciones "de caja" que te dan. Esto hace que, dependiendo de tus necesidades, pueda no ser suficiente. Si por contra, con lo que te dan estas plataformas consigues tu propósito, posiblemente sea la forma más sencilla de entrar en el mundo de la automatización. Si estás interesado, escribí un post ya hace tiempo sobre automatizaciones con IFTTT en el contexto del Internet de las Cosas

Si quieres tener libertad total para automatizar tareas, tendrás que ser capaz de programar completa o parcialmente tus scripts.

Ahora bien, ¿es rentable automatizar tareas? Está claro que hay ocasiones en las que el tiempo que se invierte en programar la automatización buscada es superior al tiempo requerido para ejecutarlo manualmente las veces que se considere. En estos casos, suele desaconsejarse el proceso de automatización al ser mayor coste que el beneficio.

Lo cierto es que esto no es siempre así, y en este post quiero compartir contigo cinco argumentos a favor de automatizar tareas donde esta regla de aparente coste / beneficio se rompa aunque éstas sean simples:

Cambio de contexto

Uno de los costes más comúnmente infravalorados es aquel asociado al tiempo que se tarda en pasar de contexto (i.e pasar de una tarea a a una tarea b) que es mayor cuanto más diferencia existe entre ambas tareas.

Minimizar estos cambios, puede aumentar tu productividad al evitar estar cambiando el foco y perdiendo la concentración sea cual sea la tarea que realizas en tu día a día.

Una forma sencilla de minimizar cambios de contexto es automatizar aquellas tareas periódicas que no son punto central de tu trabajo pero que debes hacer. Su automatización facilita que no debas ocuparte tú y puedas emplear tu tiempo y concentración de forma focalizada en aquello donde realmente puedes aportar más.

Es decir, automatizar genera una especie de doble tuyo.

Error humano

Automatizando bien una tarea y comprobando que el resultado de la misma es el que esperamos, tenemos la certeza casi absoluta que las n veces que se repita, va devolver exactamente el mismo resultado.

Sin embargo, si la tarea es manual, por sencilla que sea, siempre vamos a tener como posible punto débil el fallo humano.

Solemos caer en el error de pensar que las tareas sencillas no son vulnerables a fallos cuando no es así. Estas tareas, precisamente por su escasa complejidad, son propensas a ser realizadas sin prestar toda la atención que deberíamos y es así como podemos cometer errores.

Precisamente si son sencillas, seguramente sean fácilmente automatizables y nos protegemos ante este eventual fallo.

Hacer más

Muy relacionado con el primer argumento. Si tengo que hacer menos porque parte de mi trabajo lo hace un automatismo, tengo más tiempo para hacer otras tareas distintas.

En general, las tareas automatizables, suelen ser tareas repetitivas de poco valor. Liberar tiempo de esta clase de tareas, te permite centrarte en otro tipo de actividades más complejas donde puedes aportar más valor.

Compartir

Cuando automatizas una tarea, la puedes ejecutar tú o cualquier otra persona. Puedes compartirla y evolucionarla tanto dentro de la organización como fuera de la misma según la política que esta tenga al respecto. Esto hace que, potencialmente, personas tanto internas como externas puedan mejorar la automatización y completarla.

Además, te permite fijar un estándar común dentro de tu propia organización muy fácil de reproducir y muy barato de ejecutar. Es decir, una vez escrita una automatización, esta puede ser utilizada múltiples veces, pudiendo escalar su ejecución independientemente del autor de la misma.

Incluso, podríamos hablar de resiliencia ya que si yo conozco un proceso, lo automatizo y, por lo que sea, me pasara algo (dejo la empresa / comunidad o causo baja por cualquier circunstancia), la ejecución de la tarea tendría continuidad.

Aprender

Automatizar un proceso requiere una profunda comprensión del mismo. Muchas veces, antes de automatizar algo, debemos analizarlo a conciencia para entender, a bajo nivel, que sub-procesos o rutinas están implicados y como interaccionan entre ellos.

Además, una vez escrita la automatización, queda codificada de forma que se puede "leer" su flujo. Fijándonos en el anterior argumento, no sólo podemos aprender del análisis de los procesos que automaticemos nosotros sino que también tenemos un terreno amplio de amprendizaje en el resto de automatizaciones que lleven a cabo nuestros compañeros.

En cierto modo, explicitamos cierto conocimiento que hasta el momento tal vez sólo tiene el ejecutor de la tarea.

En definitiva, escribir una automatización no deja de ser una descomposición por pasos (programados) de un proceso y dicha deconstrucción genera conocimiento tanto personal como dentro de la organización.

Entonces, ¿automatizo todo?

A modo de conclusión y volviendo a la pregunta que dejábamos abierta sobre coste / beneficio. Creo que la mayoría de las veces (salvo excepciones muy concretas como la formación) debemos automatizar de forma pragmática en vez de dogmática; con esto quiero decir que no deberíamos automatizar por automatizar sino que el coste que nos supone (tiempo, recursos, etc) debe justificar el beneficio que obtenemos de dicha automatización. Es decir, automatizar es invertir.

Ahora bien, existen ventajas ocultas como las que hemos hablado en este post que deben tenerse en cuenta a la hora de calcular ese coste / beneficio más allá del simplista cálculo de retorno de la inversión medido en horas entre el tiempo que te cuesta automatizar una tarea y el ahorro de tiempo posterior.

Este enfoque, sin embargo, está considerando que automatizar un proceso es simplemente realizarlo de forma automatizada pero la realidad es que dependiendo del proceso que estes automatizando, muy fácilmente estés también mejorándolo. Un ejemplo muy claro de esto es la automatización industrial, donde no sólo algo se hace de forma automática sino que ganamos métricas, alertas y más indicadores muy útiles en la cadena de producción que antes no teníamos.

Algo parecido pasa por ejemplo con la domótica. Sinceramente, desde un punto de vista de eficiencia, es difícil justificar la inversión necesaria pero si miramos otros beneficios que obtenemos (confort, capacidad de control remoto...) y lo unimos a la eficiencia, puede adquirir sentido.

Seguramente a ti se te ocurran otros muchos ejemplos. Es importante que adaptes el contenido de este post a tu caso concreto. Evidentemente, nadie conoce mejor tu situación que tu mismo y eres tu quien más conocimiento tiene sobre qué es automatizable en tu día a día y cómo se puede abordar dicho proceso.

Tampoco lo veas restringido exclusivamente a tu vida profesional ya que tu vida personal también puede beneficiarse enormemente de la automatización y le aplican gran parte de los puntos que hemos visto en este post.

Espero que si no lo has hecho ya, este post te ayude a dar ese primer paso en este apasionante mundo.

Un saludo,

Ricardo

Discutir en Twitter

Compartir artículo
Ricardo Vega es un desarrollador "full-stack" al que le gusta "cacharrear con todo" pero está especializado sobre todo en tecnologías Javascript, principalmente en React. Intenta devolver a Internet lo que Internet le ha dado.

Sigue leyendo 😀


Apoya al blog


Si te ha gustado este artículo, valora apoyarme económicamente a través de Patreon, una plataforma de Micro-mecenazgo con la que puedes hacerme un donativo que ayude a la continuidad del blog. Una pequeña ayuda significa mucho.

Permanezcamos en contacto!


¿Quieres enterarte de todas las novedades del sector? ¿Te gustaría trabajar conmigo? ¡Puedes contactar conmigo de forma muy sencilla!

@ricveal

ricardo.vega@ricveal.com

Ricardo Vega