May 22, 2012
Pensamiento abstracto y mejora de procesos.

La semana pasada me pasaron un artículo (gracias Javi) realmente interesante. Por lo visto, era simplemente uno más en reacción a este otro. Por si alguno no quiere ir a las fuentes, cosa que recomiendo, se trata de un debate entre si aprender a programar por placer, o con un enfoque diletante y no con ambiciones profesionales es recomendable o no.

Personalmente, creo que no hay más remedio que posicionarse y me decanto por el lado de la formación, o como dice Scott Hanselman

I think everyone should learn how to think and when to dig deeper and should be able to do it in a welcoming and friendly environment.

Learn how to question how things work. Learn that everything new and simple hides something large and complex. [….]

You can choose to live in a world where things just work, or you can choose to dig a little. You don’t need to learn to code, you don’t need to be an expert in everything but know that you can learn.

Y para no dejar todo esto en algo abstracto, reducido a una discusión sobre lo adecuado o no de formarse quiero aportar un caso personal para demostrar cómo, con pequeños pasos en formación básica, se pueden conseguir sustanciales aumentos de productividad y ahorro de tiempo en algunos procesos, que seguro son extrapolables a multitud de empresas o departamentos.

Justo el día anterior a que me enviasen ese artículo que da pie a esta reflexión me ocurrió la siguiente situación: una compañera de trabajo me comentaba que creía haber detectado un error en una aplicación, pero tenía dudas.

incidencia

De un simple vistazo pude ver que no era un error de JavaScript o algo peor, simplemente un descuido en un Copy&Paste a la hora de editar la alerta que muestra la aplicación en su versión en inglés. 

¿Porqué lo pude identificar sin mayor problema?, simplemente porque decidí reducir el nivel de abstracción a la hora de enfrentarme a este tipo de situaciones y lo mejor de todo, con muy poco tiempo dedicado a tal fin.

Era (y sigue siendo) mi objetivo para 2012 aprender algo de código para ser capaz de entender mucho mejor cómo funciona la base del negocio con el que trabajo día a día. Había leído sobre Codecademy y lo pobré para ver que tal y aunque me he quedado un poco estancado por falta de tiempo (es lo que tienen los planes de año nuevo, que uno siempre llega tarde a la operación bikini) he conseguido una mayor comprensión de lo que suponen ciertas tareas y tener una mejor visión global del funcionamiento de las aplicaciones.

Con todo esto no estoy diciendo que yo podría programar, para nada, ni siquiera me atrevería a poner en mi CV conocimientos básicos de JavaScript. Siempre he tenido muy claro cual ha sido mi objetivo (que no tiene porqué ser compartido por otros que quieren avanzar más en la formación) y este no ha sido otro que reducir el nivel de abstracción.

Ahora volvamos a lo importante, ¿qué supone realmente lo que he contado?. Pues para mí consiste en reducir el tiempo destinado a ciertos procesos; por ejemplo:

Fases con un mayor nivel de abstracción:

  1. Algo pasa
  2. Reporto incidencia
  3. Programador identifica
  4. Programador resuelve
  5. Gestor valida resolución/cambio
  6. Gestor comunica a cliente/usuario

Fases tras reducción de abstracción:

  1. Reporto incidencia
  2. Programador identifica/resuelve
  3. Gestor valida resolución/cambio
  4. Gestor comunica a cliente/usuario

Probablemente no sólo se eliminen ciertos proceso (de “algo pasa” a “sé lo que pasa”) , sino que incluso la variable tiempo en alguno de ellos se contrae (de “programador identifica” a “programador reduce o elimina tiempo destinado a identificación y se centra en resolución”), lo que aún haría más importante la optimización de procesos.

Además, se generarían otro tipo de beneficios de carácter intangible que también son importantes como: reducir la inseguridad a la hora de usar las aplicaciones, romper barreras de comunicación entre departamentos “técnicos” y “no técnicos”, mejorar la interlocución con el cliente/usuario, etc.

Por tanto, las empresas o departamentos no tienen excusas para articular planes de formación para reducir la abstracción sobre el núcleo de su negocio y mejorar los procesos vinculados a su actividad diaria. Los costes en tiempo (en el uso de las herramientas podrían ser marginales con opciones como la de Codecademy o similares) se verían sustancialmente compensados por el incremento de la productividad y el ahorro de tiempo (=costes), hay un ROI positivo.

Blog comments powered by Disqus