Leyendo datos desde una API en planillas de Google

Cuando trabajamos con planillas en la nube tenemos la posibilidad de leer datos desde nuestro sistema de gestión para tener la planilla sincronizada a la realidad de la operación.

Por ejemplo podemos traer la facturación, compras o costos de RRHH de nuestra empresa analizando los números en tiempo real, día a día sin esperar reportes manuales que pueden y suelen tener errores (olvidos, cambios en el formato, etc.).

Para lograr esto podemos utilizar App Scripts en las planillas de Google para leer una API. En el menú superior: Herramientas > Editor de secuencia de comandos

Vamos a definir una función auxiliar para llamadas a APIs externas que responden con JSON:

// Llamada a API externa
function getApiData(url,query) {

try {
var response = UrlFetchApp.fetch(url);
var responseData = response.getContentText();
var json = JSON.parse(responseData);
return json;
}
catch (e) {
Logger.log(e);
return [“Error:”, e];
}
}

El código quedará mas o menos así:

Con esto tenemos una función auxiliar para llamadas a APIs externas que responden con formato JSON.

Para ver la demo completa ver la siguiente planilla:

Demo1 nrm.uy – Leer API
https://docs.google.com/spreadsheets/d/1ap2IQeQ73049NE6lj_oRDBFQ-Wjz0GDiZoXPkFf-a4I/

Código en Github del proyecto:
https://github.com/nrodriguezm/app-scripts-demo1/blob/master/Code.js

 

 

NYC, educación en información uinversal

El día de ayer se anunció en la ciudad de Nueva York que se planea tener acceso universal en la educación pública en ciencias de la computación a todo nivel.

http://www1.nyc.gov/office-of-the-mayor/education-vision-2015-computer-science.page

La capacidad de pensar en el modelado de ideas y como instruir a una máquina para que haga el trabajo parece ser el nuevo mínimo educativo en la sociedad de la información. Las sociedades que no den acceso universal al siguiente nivel de educación se van a encontrar probablemente con una población equivalente a que en la actualidad no sepan leer y escribir.

Internet accesible desde los dispositivos móviles ha comenzado su etapa de instalación en todos los ámbitos de la vida, por lo que su impacto actual es insignificante comparado a lo que veremos en un par de décadas.

Situaciones como un chofer programando su recorrido o un administrativo utilizando un sistema de gestión para generar informes automatizados empiezan a ser cosa de todos los dias lo cual requiere la capacidad de abstraer la situación particular a la que se enfrenta para modelar la idea de forma que un sistema puede ejecutarla.

Primero fue la escritura, nos permitió recordar en forma nítida.
Luego la lógica, nos permitió pensar en como pensamos.Ahora el software, nos permite pensar a cualquier escala.

 

Reconociendo cuando llegamos a destino

Está claro que las tecnologías de la información están teniendo un impacto brutal sobre los procesos tradicionales, a tal punto que estamos dispuestos a ir más allá de la reingeniería de procesos hasta llegar a la creación de procesos completamente nuevos.

Esto redefine los perfiles de puesto, las necesidades de personal y transforma a las empresas.

El ejercicio de destruir procesos obsoletos e imaginar nuevos suele ser una actividad caótica y creativa, donde todas las ideas son buenas y ninguna piedra queda sin levantar.

Esta honestidad y capacidad de crítica es vital en la construcción de nuevos modelos que requieren de una iteración de semanas o meses hasta descubrir los patrones del nuevo modelo.

Muchas veces estos nuevos modelos son tan diferentes a los anteriores que no los reconocemos como tales a pesar de tenerlos frente a nosotros.

Es aquí donde debemos aprender a reconocer un modelado nuevo que ya ha madurado y es hora de pasar a la implementación del mismo, evitando quedar atrapados en un ciclo eterno de reuniones de nuevas ideas que nunca terminan.

El ciclo de destrucción y creación suele alimentarse a si mismo y bloquea la visión hacia una salida. Lograr esta salida o velocidad de escape requiere de buen timing para no salir antes con un modelo incompleto o demasiado tarde con cientos de horas consumidas en reuniones inproductivas.

Las dos herramientas que nos ayudan en estos casos en que estamos frente a un objetivo del cual no conocemos la forma son:

  • Experimentación temprana limitada
    Tomar pequeños tramos del proceso que estamos destruyendo y aplicar en forma concreta y limitada herramientas del nuevo modelo. De esta forma vemos su impacto real sin el riesgo de perder demasiado, poniendo a prueba el nuevo modelo como validación de las ideas para seguir iterando.
  • Repetición de patrones para reconocer el momento de escapar del ciclo
    Puede llevar semanas o meses, reuniones interminables y experimentos fallidos que desacrediten los intentos de cambio. Pero un día empezaremos a llegar al mismo destino, por distintos caminos pero siempre al mismo destino. A la tercera o cuarta reunión en que nos encontremos diciendo ¨esto es lo mismo que vimos como resultado de este otro ejercicio¨, ¨este problema ni siquiera deberíamos tratarlo ya que lo solucionamos en el origen¨. En este momento es que tenemos que pasar a la implementación, hemos construido un nuevo modelo.

Como punto final para el escape del ciclo de modelado debemos documentar el nuevo modelo, especificar desde lo macro hasta las tareas individuales pasando por las cadenas de procedimiento. De esta forma marcamos un destino para los cambios a realizar y evitamos volver a modelar durante la implementación.

Estos procesos de cambio suelen estar amenazados por la resistencia natural de las personas a cambiar hábitos de trabajo que pueden tener años. También por nuestra intención de lograr un proceso perfecto e irreal para la realidad del ambiente donde vamos a aplicarlo.

Es vital hacer participes a las personas del proceso de cambio para que sientan que son parte de la solución y no se sientan alienados.

 

Obtener la información en el origen

El trabajo industrial está siendo impactado por la tecnología. Big Data e Internet of Things (IOT) son dos conceptos que sue escuchan todos los días.

Estos conceptos tienen un impacto enorme sobre los procesos industriales que definen la forma de vida moderna, pero solo si tienen una aplicación correcta. El mantenimiento preventivo de equipos industriales antes de una rotura y el analisis predictivo para toma de decisiones correctas son posibles con datos correctos en el momento correcto.

Aquí es donde Big Data entra en juego junto a IOT y transforman la avalancha de datos en información. Los dispositivos conectados a la red inundan de datos y es necesario filtrar para obtener los indicadores relevantes. Nada mejor que las computadoras con algoritmos en software que permitan este filtrado.

Mientras se cumple este proceso de transicion es necesario entender el impacto humano. Los operarios que hasta el día de hoy cumplian una labor industrial con su trabajo físico se ven rápidamente desplazados a trabajos intelectuales donde deben administrar el trabajo de las maquinas y leer la informacion de los mismos para tomar decisiones.

Es normal ver operarios con una actividad puramente fisica que deben aprender a utilizar computadoras y leer interfaces en plazos cortos de no más de un año o dos para evitar quedar fuera del mercado. Esta transición no es sencilla para personas que nunca habian utilizado un smartphone.

Estas mismas personas son las que tienen el conocimiento de los aspectos fundamentales para cumplir con la operativa, conocimiento que se traduce en indicadores cuantificables mediante software y sensores conectados. Integrar a estas personas al proceso de automatizacion permite evitar largas etapas de aprendizaje en descubrir los indicadores adecuados de cada operativa.

Obtener los datos en el origen permite que el resto de la cadena de la empresa tome decisiones en el momento sin esperar un analisis que queda fuera de tiempo para impactar la operativa.

El regreso del artesano

Quien no ha tenido el gusto de completar un trabajo desde una idea hasta su versión final? Y la felicidad de verlo evolucionar? Este proceso es la definición de felicidad por un trabajo bien hecho.

El trabajo del artesano, dueño y responsable directo del producto, nos da un sentimiento de logro y satisfacción que nos define como personas.

Este proceso antiguo como el trabajo mismo fue desplazado en el siglo XX por la introducción de la linea de producción en serie. La producción masiva industrial trajo cambios radicales en la forma de trabajar e imposibilitó que una persona controle todo el proceso. Dadas las necesidades de información y materiales requeridos el trabajo del artesano fue serializado y dividido en etapas discretas (estaciones en una linea de producción). El global de las etapas controlado por unidades externas no involucradas directamente con las etapas (administración de la empresa).

Esta línea de producción fue replicada de la fábrica a la administración y hasta los mínimos procesos internos donde alguien genera información y otro la consume. Estas cadenas internas en las empresas generan muchas veces la misma información y multiplican la cantidad de pasos necesarios lo que lleva a un aumento de errores y enlentecimiento de la capacidad de análisis y respuesta.

En un mundo pobre de información la realidad tenía que ser discreta.

Hasta la llegada de las tecnologías de la información y automatismos era imposible pensar en otra forma de construir los elementos complejos de a vida cotidiana como una computadora o un seguro médico.

El desafío para este siglo es retomar el camino del artesano, concentrando todo el proceso en una persona o en equipos reducidos, que controlen todo el proceso mediante sistemas de información que eliminen la fricción sin importar distancias geográficas y volúmenes físicos. Dando la capacidad y responsabilidad de cada operación en su conjunto a esa persona. Devolviendo el placer de completar una tarea, un objeto en su totalidad a la persona.

Producir, aprender, iterar.

Este proceso que culmina en la satisfacción personal genera un circulo virtuoso donde la persona itera sobre sus ideas, aprende, mejora y vuelve a producir.

En la búsqueda de este proceso que nos llene necesitamos derribar muros, feudos controlados por el ego y atravesar las empresas con información. No es tarea facil para nada.

 

 

Reingenieria de seguridad informática: No automatices, oblitera.

Conectando con el post de ayer sobre seguridad IT y problemas de hacking es interesante ver como los servicios de seguridad IT que deben defender nuestra información de ser robada toman una actitud de industria del siglo XX, aunque dicen ser hijos de la informática y el siglo XXI.

Estas empresas contratan docenas de personas que se dedican a actualizar Windows, instalar antivirus y revisar contraseñas.

Esta claro que esta postura frente a hackers cada vez más avanzados y especializados, tanto solitarios como contratados por gobiernos, es la de ser carne de cañón.

Una actitud diametralmente opuesta es la que presenta Tanium con su sistema automatizado de seguridad proactiva y preventiva. Utilizando la capacidad de las propias PCs de procesar cientos de indicadores y notificar unicamente de las situaciones reales en lugar de inundar de ruido a los técnicos. Para esta empresa una red con miles de estaciones de trabajo escala perfectamente sin necesidad de ampliar la cantidad de personas trabajando en IT (o por lo menos no crece en forma proporcional la necesidad de RRHH).

La innovación que propone el sistema permite escalar la seguridad sin multiplicar las personas detrás de las computadoras cuidandolas. Cada técnico puede atender decenas o cientos de equipos en forma proactiva. Esto destruye el concepto tradicional de técnico de informática reactivo.

Estamos frente a una solución que aprovecha las herramientas del siglo XXI, haciendo que las máquinas filtren y analicen y que las personas tomen decisiones sobre los casos importantes.

Este tipo de propuesta frente a un problema ya solucionado pero ineficiente es parte del concepto detrás de un gran ensayo llamado:

Reengineering Work: Don’t Automate, Obliterate
Michael Hammer

Este ensayo construye sobre otro de los grandes artículos acerca de las tecnologías de la información:

The manager and the moron
Peter Drucker

Este artículo escrito en los años 60 define claramente el concepto de la información y su consumo apropiado. Durante las próximas semanas voy a ir traduciendo el mismo y comentandolo aquí.

Donde hay mucha fricción hay oportunidades

Creo que el software y la tecnología, en su manejo de la información, están causando una revolución en nuestra forma de vida. Sufro al ver los casos mas tradicionales de sistemas rotos que a pesar de todo tienen el poder de defenderse y evitar cualquier tipo de cambio. No creo que esto sea burocracia, la burocracia tiene un lado positivo y es que cree en los procedimientos, lo cual es fundamental para crecer en forma real. Más para países latinoamericanos como el nuestro (Uruguay) donde no llegamos ni al pobre nivel de burocracia ya que no cumplimos con ningún procedimiento.

Cada visita a una dependencia del estado, a un servicio comunal o de salud nos recuerda que el Siglo XXI no ha llegado a todas partes, que las lapiceras siguen funcionando y los sellos siguen bebiendo tinta.

Es en estos lugares donde si logramos superar la visión apocalíptica de que somos un fiasco es donde podemos ver las mayores oportunidades. Si con estas herramientas rudimentarias y falta de procesos nos las arreglamos para sobrevivir, imaginen lo que podríamos lograr si tuvieramos sistemas con procedimientos, automatizaciones, disponibilidad real de datos, transparencia. Donde las personas trabajan aportando lo que somos buenos haciendo, que es trato humano y no en tareas mecánicas repetitivas durante 8 horas.

Un argumento típico contra este concepto es que las fuentes de trabajo se van a perder, lo cual es una falacia. La tecnología en la agricultura ha liberado a la mayoría de la población mundial de estar trabajando cada día la tierra para poder comer. Los teléfonos en sus primeras generaciones necesitaban de personas conectando cables para conectar llamadas, lo cual evitaba que todos pudieramos tener equipos por lo poco escalable del sistema.

Es claro que estamos llegando a un punto crítico de la tecnología, donde debemos cambiar el paradigma de trabajar todas las horas posibles y pasar a pensar en que puede aportar la persona y que el trabajo pesado y repetitivo lo hagan las máquinas.

Tener a un ser humano colocando sellos por 8 horas durante 40 años es desperdiciar una máquina increíblemente compleja en una tarea trivial. Donde vemos a las personas realizando una tarea mecánica trivial tenemos la oportunidad de liberar a esa persona de la tarea y lograr una explosión de productividad y crecimiento personal.