lunes, 24 de septiembre de 2018

Algunas ideas fundamentales sobre Six Sigma


Me encuentro repasando las ideas fundamentales sobre Six Sigma y, para hacerlo más sencillo, he acudido al libro 'Six Sigma for dummies' de Craig Gygi y Bruce Williams.

De sus primeras páginas he entresacado algunas afirmaciones que me ha parecido interesante traer a colación aquí. 

Empiezo con una afirmación apasionada de los autores, que es la que abre el libro:

Six Sigma is the single most effective problem-solving methodology for improving business and organizational performance.

Pasión y un poco de marketing aparte, es curioso que en esta primera afirmación no mencionan ni la palabra proceso ni la palabra calidad, conceptos ambos muy importantes en Six Sigma. Pero unas líneas más abajo ya nos hacen intuir un poco más de qué estamos hablando: 

Six Sigma is about applying a structured,scientific method to improve any aspect of a business organization, process, or person.

Aquí sí que vemos ya aparecer el proceso aunque, cierto es, mezclado con organización y con personas. Este trío, procesos, organizaciones y personas va tan unido que puede resultar lógico el entrelazarlos en una descripción de Six Sigma y, en realidad, en cualquier método o práctica sobre procesos. Pero de la frase anterior, quizá es más importante destacar ese carácter estructurado y científico que caracteriza a Six Sigma y que, probablemente, sea uno de sus elementos mas diferenciales frente a otro tipo de prácticas relacionadas con procesos.  

En otro orden de cosas, y aunque Six Sigma surgió en el ámbito de la calidad pero los autores nos advierten:

Six Sigma was once a quality-improvement methodology, but now it's a general purpose approach to minimizing mistakes and maximazing value.

Es decir, que Six Sigma ha superado sus planteamientos iniciales circunscritos al ámbito de la calidad, para ir más allá. La verdad es que eliminar errores tiene todo que ver con la calidad pero es cierto que también afecta a otros aspectos del cuadrilátero del diablo como son el tiempo y el coste y, en ese sentido, va más allá de la mera calidad. Si a eso añadimos la maximización del valor, sí que estamos yendo más allá de la calidad y adentrándonos en una visión más orientada a cliente, lo cual confiere a Six Sigma un ámbito muy amplio y que encaja muy bien con la visión de procesos.

Otra afirmación que me parece vale la pena comentar es la siguiente:

Six Sigma helps organizations achieve breakthrough improvement, not incremental improvement.

Es decir, Six Sigma no se queda en pequeñas mejoras incrementales sino que aspira a mejoras radicales. Correcto, pero sin que eso suponga minimizar el impacto de Six Sigma, por limpieza conceptual conviene de todas formas poner esta afirmación en perspectiva. No vamos a negar, por supuesto, que Six Sigma pueda conseguir grandes mejores, mejoras radicales pero, cuando se compara con otros planteamientos, muy en concreto, con la reingeniería de procesos de Hammer y Champy, Six Sigma resulta algo más conservadora, o la reingeniería más audaz, si se prefiere. Al fin y al cabo, Six Sigma tiene mucho que ver con medición y para ello tienes que partir de unos procesos y unas operativas establecidas y trabajar sobre ellas, mientras que la reingeniería desafía todo lo existente apostando por la hoja en blanco.

Dos afirmaciones adicionales cierran este artículo y refuerzan esa filosofía de la medición y el control. Así, por ejemplo, nos dicen:

Managerially speaking, the goal of Six Sigma is to inject control, predictability, and consistency of results into the production of a successsful organization.

Esto es clave en el planteamiento de Six Sigma y, probablemente, uno de sus grandes valores. Esa consecución del control, consistencia y predecibilidad son claves desde luego para la calidad pero también apoyan el resto de objetivos de los procesos: eficiencia, agilidad, valor... 

Y, además de esa predecibilidad, Six Sigma apuesta decididamente por la medición, como muy bien se encargan de resaltar los autores:

Six Sigma is different from other performance improvement approaches in its focus on business financials and measurable operational improvements.

Al final, y resumiendo un poco lo comentado nos encontramos en Six Sigma con un método científico y estructurado que, basado en el control y la medición permite obtener consistencia, eliminar errores y, en general, conseguir mejoras no sólo de calidad sino también de incremento de valor.

No sé si alcanza la frase anterior la categoría de una definición pero sí, espero, que sea una descripción que recoja esas ideas fundamentales sobre Six Sigma.

viernes, 21 de septiembre de 2018

Aprendiendo realidad virtual con Tony Parisi

'Learning Virtual Reality', subtitulado 'Developing inmersive experiences and applications for desktop, web and mobile', es un libro de mediana, tirando a corta, extensión que explica la realidad virtual con una clara orientación hacia desarrolladores aunque se detiene, acertadamente, tanto a explicar algunos aspectos generales de la realidad virtual como a los aspectos hardware de la misma.

El libro, que presenta, evidentemente, el estado del arte del momento en que ha sido escrito (2015) intenta ser abarcador en el sentido de explicar cómo desarrollar para diferentes tipos de dispositivos, desde los HDM (Head Mounted Displays) de gama alta, como Oculus Rift, hasta los se apoyan en dispositivos móviles como Gear VR o Google Cardboard.

Aunque en la parte de desarrollo trata algo sobre los SDK nativos, favorece el explicar el desarrollo sobre Unity 3D, una plataforma que el autor conoce muy bien y que proporciona unos mayores niveles de productividad y transversalidad.

El libro se estructura en siete capítulos:

  • 'Chapter 1: Introduction': Comienza definiendo lo que es realidad virtual, proporcionando un rápido recorrido por los elementos hardware que utiliza y las plataformas software existentes para luego revisar algunas aplicaciones posibles de la realidad virtual.

  • 'Chapter 2: Virtual Reality Hardware': Se centra, como el nombre indica, en el hardware de la realidad virtual.En el apartado de HDM (Head Mounted Display) se centra fundamentalmente en Oculus Rift, Samsung Gear y Google Cardboard. Luego revisa, muy escuetamente, algunos dispositivos de entrada

  • 'Chapter 3: Going Native: Developing for Oculus Rift on the Desktop': Se centra ya en el desarrollo sobre diversas plataformas y, en concreto, nos habla del desarrollo para Oculus Rift para lo que emplea Unity 3D, explicando brevemente algunos aspectos de su uso y mostrando algunas secciones de código. Antes hace una revisión, en mi opinión brillante, de los principales conceptos en gráficos 3D: polígonos, vértices y mallas, materiales, texturas y luces, cámaras, perspectivas y proyecciones e introduce ligeramente el álgebra con que matemáticamente se gestiona el movimiento y la representación (renderizado).

  • 'Chapter 4: Going Mobile: Developing for Gear VR': Se centra ahora en el segundo de los dispositivos explicados en el capítulo 2: Gear VR con lo que pasamos a hablar de una realidad virtual que se apoya en smartphones. De nuevo, aparte del SDK propio, el desarrollo se muestra sobre la plataforma Unity 3D y se acompaña de algún ejemplo en código.

  • 'Chapter 5: WebVR: Browser Based Virtual Reality in HTML5': en ester tercer capítulo de los dedicados a desarrollo, el objetivo es hablar del desarrollo para navegadores mediante la aplicación de HTML5. Lo primero que hace es explicar el API WebVR, su historia y principales características y forma de uso para acabar desarrollando una pequeña aplicación ejemplo. Finaliza con un breve repaso de las herramientas para edición y desarrollo con WebVR.

  • 'Chapter 6: VR Everywhere: Goolge Cardboard for Low-Cost Mobile Virtual Reality': Lo primero que hace es explicar las características del visualizador Google Cardboard VR tanto a nivel hardware como software. Luego explica cómo desarrollar para Google Cardboard usando el SDK de Google para Android para, a continuación, hacer lo propio sobre la plataforma Unity 3D, Finaliza explicando el uso de HTML5.

  • 'Chapter 7: Your First VR Application': Como el título anticipa, simplemente explica extremo a extremo el desarrollo de una aplicación sencilla: un visualizador de fotos panorámicas para un dispositivo móvil. Y lo hace sobre la plataforma Unity 3D y para Google Cardboard.

'Learning Virtual Reality' creo que es un buen libro, claramente explicado e ilustrativo. Me ha gustado especialmente la breve sección dedicada a explicar los conceptos de gráficos 3D, muy importante para hacerse con el vocabulario y entender realmente lo que se hace luego mediante software.

Para una persona no interesada en el desarrollo, le proporciona una idea general razonable de lo que es la realidad virtual, su uso y cómo se crean experiencias y el nivel de profundidad técnica tampoco se hace insoportable. Si se mira con los ojos de un desarrollador, creo que sirve de introducción, para tener una visión panorámica y saber qué SDKs y herramientas están disponibles así como hacerse una primera idea de la forma de desarrollar. Pero creo que para convertirse en un auténtico desarrollador de realidad virtual hará falta algo más que este libro.

Entendido esto, creo que es una buena introducción para cualquiera de los dos perfiles de lector.


Tony Parisi

(Fuente: Traducción y ligera elaboración propia de la ficha de autor en O'Reilly)

Tony Parisi
Tony Parisi es un emprendedor y arquitecto software / CTO. Ha desarrollado estándares y protocolos internacionales, creado productos software muy notables y lanzado y vendido compañías de tecnología. La pasión de Tony por la innovación se ve superada únicamente por su deseo de construir grandes productos.

Tony es pionero en realidad virtual, co-creador de VRML y los estándares ISO X3D para gráficos tridimensionales en red, y continua innovando en tecnología 3D. Es co-oorganizador de la San Francisco WebGL Meetup, y de San Francisco WebVR Meetup, y miembro del grupo de trabajo Khronos COLLADA que crea glTF, el nuevo formato de fichero estándar para aplicaciones 3D web y móviles.

Tony es también autor de libros en O'Reilly Media como  'WebGL: WebGL Up and Running' (2012), y 'Programming 3D Applications in HTML5 and WebGL' (2014).

Tony es actualmente Vicepresidente de Productos de Plataforma en WEVR.

Puedes saber más del autor visitando su perfil en LinkedIn o siguiéndole en Twitter donde se identifica como @auradeluxe

Ficha técnica:

miércoles, 19 de septiembre de 2018

Robotic Process Automation y automatización cognitiva. Relación de RPA con la Inteligencia Artificial.


La emergente pero abundante literatura sobre Robotic Process Automation (RPA), está muchas veces más centrada en lo comercial que en lo técnico u operativo. Y tiende a contar RPA como una tecnología plagada de inteligencia artificial. Incluso recientemente he visto presentar a RPA como una forma de Inteligencia Artificial. Creo que eso es confundir las cosas. Así que en este artículo, de alguna forma continuación del que comentaba la definición de RPA, voy a hablar de lo que a veces se denomina automatización cognitiva y que, dicho de una forma simple, vendría a ser el uso de la inteligencia artificial en automatización de procesos de negocio.

En el libro 'Robotic Process Automation for dummies. NICE special edition', el equipo de NICE nos da una parecida cuasi-definición de automatización cognitiva:

This is a term for automation that leverages such technologies as optical character recognition, text analytics and machine learning.

Aunque la frase es sencilla y pretende casi más ilustrar que definir, el término 'leverage' ('apalancarse en', 'apoyarse en' o 'hacer uso de') es importante. Porque, en efecto, lo que hace RPA es apoyarse en técnicas de inteligencia artificial. No es inteligencia artificial sino que se apoya en inteligencia artificial. Y tampoco lo hace siempre. Es más, diría que hoy en día el empleo de inteligencia artificial en las implementaciones prácticas de RPA es limitado. La mayor parte de las aplicaciones reales de RPA actuales automatizan tareas sencillas pero repetitivas y basadas en reglas. Hablaríamos de procesar facturas, cumplimentar formularios o traspasar datos de un sistema a otro, por ejemplo.

La inteligencia artificial en RPA tiene a centrarse en OCR (reconocimiento óptico de caracteres), procesamiento de lenguaje natural (normalmente en documentos), etc.

Sin ánimo de exhaustividad, veamos qué usos de inteligencia artificial nos sugiere la fuente citada.


Usos ya disponibles de automatización cognitiva

Se centran, fundamentalmente, en la ingesta de documentos con datos no estructurados y que se procesan en la automatización. El tipo de labores que utilizan técnicas cognitivas son:

  • Reconocimiento Óptico de Caracteres (OCR)
  • Reconocimiento de imágenes
  • Analítica de textos
  • Análisis de sentimiento
  • Categorización
  • Clasificación
  • Detección de cambios de formato
  • Identificación de escritura a mano
  • Reconocimiento de voz

Como se puede ver, son tareas todas ellas muy útiles y aunque para los humanos resulten naturales, desde un punto de vista técnico son realmente sofisticadas. Sin embargo, se ve tambiñen que son tareas puntuales y que precisan un ámbito de automatización mayor, más extremo a extremo, que es el que proporciona RPA.


Relación con cliente automatizada


En el apartado específico de la relación con cliente se nos identifican técnicas de automatización como:

  • Chat Bots
  • Voice Bots
  • Agentes virtuales
  • Correo electrónico automatizado
  • IVR (Interactive Voice Response)
  • IVR Visual

Conviene dejar claro que en muchos casos, estas formas de automatización de la relación con el cliente se pueden hacer también sin el uso de Inteligencia Artificial. De hecho, por ejemplo, el uso de IVR para atención de llamadas telefónicas en Contact Center es práctica común desde hace años y, en algunos casos, se realizan automatizaciones sofisticadas sin precisar el empleo de inteligencia artificial. Lo que aporta la Inteligencia Artificial es la capacidad de, por ejemplo, usar la voz y el lenguaje natural en lugar de selección de menús numéricos.

De forma similar, se pueden realizar chatbots o automatización de correo electrónico sin necesidad de recurrir a Inteligencia Artificial y lo que viene a traer consigo la inteligencia artificial es una mayor potencia y sobre todo una mayor naturalidad en las interacciones.

Por otra parte, y ya en el ámbito de RPA, este tipo de elementos (bots, agentes virtuales, etc) serían acciones adicionales que se añaden a las capacidades ya existentes en RPA para automatizar procesos.


Automatización de procesos enriquecida con inteligencia artificial


En este ámbito, lo que hace la inteligencia artificial es mejorar ciertas tareas. Así, por ejemplo, puede ayudar a mejorar los datos transformando datos no estructurados en estructurados usando analítica de textos.

Igualmente, y usando analítica predictiva, se pueden hacer mejores decisiones y hacer una automatización más adaptativa.

Y se espera del Machine Learning muchas más aportaciones en el futuro...


Usos a futuro de la automatización cognitiva 


Un poco en la línea de lo esbozado en la sección anterior, el área de futuro más atractiva es aquella que incorporaría Inteligencia Artificial avanzada para automatizar decisiones. Hoy en día, cuando se aplica RPA se definen los flujos a seguir de una forma prácticamente cerrada (con las pequeños controles de flujo como condiciones o selecciones múltiples presentes en cualquier lenguaje de programación o proceso). La Inteligencia Artificial en general, y el Machine Learning en particular, abren las puertas a que las decisiones sean sofisticadas y adaptativas, que se produzcan en tiempo real con base en lo aprendido por el robot que implementa la automatización.

Pero esa visión, que es la que normalmente se vende en el material comercial ligado a RPA, es más un futurible (eso si, puede que muy cercano), que una realidad plenamente implantada.


***

Con todo lo visto, he querido, por un lado dar una panorámica de cómo se usa la inteligencia artificial en automatización y por otra, intentar desterrar la idea de que RPA, Robotic Process Automation, es Inteligencia Artificial. No lo es. Una cosa es RPA y otra Inteligencia Artificial.

Eso sí, trabajan muy bien juntas. Y más que lo harán, sin duda, en un futuro cercano.


martes, 18 de septiembre de 2018

Mi Actividad: Sesión en EOI sobre la Transformación Digital de la TI para la Universidad Tecnológica del Perú


El pasado Jueves 20 de Septiembre tuve el placer de participar en la semana sobre Transformación Digital para alumnos de posgrado de la Universidad Tecnológica del Perú organizada por la Escuela de Organización Industrial.

A mi me tocó impartir la última sesión, de poco menos de dos horas de duración, dedicada a la Transformación de las Tecnologías de la Información, es decir, a analizar la manera particular en que la Transformación Digital afecta a la función TI, a los departamentos de Sistemas y Tecnología de empresas y administraciones.

Fue un verdadero placer compartir ideas y reflexiones con un grupo inquieto, atento y participativo.

El subtítulo de la sesión fue 'Surfeando la revolución digital' y es que el surf fue, en efecto, la metáfora e hilo conductor de toda la sesión.

Finalicé, a modo de resumen con este vídeo plagado de olas:


Se entiende mejor tras haber estado en la sesión... pero os podéis hacer una idea...

lunes, 17 de septiembre de 2018

Acerca del Centro de Excelencia RPA


Uno de los consejos que con respecto a la implantación de soluciones RPA (Robotic Process Automation) señalan casi todos los consultores, analistas y fabricantes, es la conveniencia de implantar un Centro de Excelencia RPA.

¿Qué es eso?

Concepto de Centro de Excelencia RPA

Dicho de forma sencilla, un Centro de Excelencia RPA es un equipo humano experto en las diferentes facetas de RPA y que se encarga de la definición, desarrollo y operación de los robots software creados con las soluciones RPA.

Recordemos antes de proseguir que RPA es una tecnología que permite crear unos módulos software (denominados robots) que automatizan tareas en general repetitivas y basadas en reglas interactuando con los sistemas existentes de forma similar a como lo haría un humano (fundamentalmente mediante pantalla y simulación de teclado).

En el Centro de Excelencia se concentran gran parte de las funcionas relacionadas con el desarrollo y operación de los robots.

Aparte del casi unánime consejo consistente en crear esa unidad (que por cierto, puede ser una unidad distribuida geográfica y organizativamente), se pueden encontrar algunas descripciones algo más detalladas del equipo que constituye ese Centro de excelencia..

En concreto, el pequeño librito 'Robotic Process Automation for dummies. NICE special edition', el equipo de NICE, uno de los fabricantes destacados de productos RPA, nos especifica algo más cómo es ese centro de excelencia y sus roles.

Primero nos da una descripción de alto nivel diciendo:

Creating your center means bringing together the right business analysts, connectivity experts, automation developers, trainers and change management gurus. An excellent project manager will coordinate all these resources across multiple automation projects.

Es decir, es una unidad donde se concentran todos los recursos y roles relacionados con la automatización RPA.

¿Para hacer qué?

Funciones del Centro de Excelencia RPA

La misma fuente, además, nos explica rápidamente algunas de sus funciones:

The CoE team provides the brains behind your organization's automation projects, and it works directly with representatives of various departments across the enterprise who become the owners of the individual projects. The CoE team helps identify potential automation projects and measures how valuable each automation will be, and then it collaborates with the businss owners to design, deliver and maintain these projects.

Vemos que, según esta concepción, en el Centro de Excelencia se concentran prácticamente todas las funciones: desde hablar con los responsables de negocio, valorar proyectos de automatización, diseñar esa automatización, desarrollarla, implantarla y mantenerla. En ese sentido, funciona de una forma muy parecida a un equipo de desarrollo de software a medida pero especializado en RPA y automatización.

Roles del Centro de Excelencia RPA

El mismo documento luego aborda la especificación de los roles y, en concreto, propone estos:

  • Responsable del Centro de Excelencia: Dirige y coordina todos los recursos y actividades del Centro.

  • Analista de negocio en automatización: Experto de negocio que identifica necesidades y define soluciones de automatización. Trabaja en grupos priorizando casos de uso y creando la documentación detallada necesaria para los equipos de desarrollo.

  • Líder técnico de automatización: Supervisa la calidad de los trabajos de los desarrolladores y difunde buenas prácticas dentro del equipo.

  • Desarrollador de automatización: Es el creador de las soluciones y quien, usando las herramientas RPA, desarrolla las automatizaciones.

  • Ingeniero de conectividad de automatización: Se ocupa de la capa de integración.

  • Administrador de automatización: Realiza la gestión técnica, operación y mantenimiento de las soluciones de automatización.

  • Líder de despliegue y gestión del cambio de automatización: Se ocupa de aspectos como la formación y la gestión del cambio.

  • Analista de datos de automatización: Define y mide el valor de la automatización

  • Tester de automatización: Realiza las pruebas extremo a extremo de las automatizaciones, normalmente apoyado en las herramientas RPA.

A todo aquel lector familiarizado con centros y métodos de trabajo de desarrollo software no le sorprenderán estos roles. De hecho, si eliminamos el apellido 'de automatización' que llevan casi todos los roles, este esquema nos podría valer para casi cualquier otra tecnología o ámbito de desarrollo.

La única verdadera diferencia son los conocimientos de detalle que tienen que estar muy orientados a la automatización de procesos usando los productos y capacidades de la Automatización Robótica.

Conclusiones

Nos quedamos pues con la idea de que, si vamos a acometer a gran escala una iniciativa de automatización usando la tecnología de automatización robótica de procesos, es conveniente crear un centro de excelencia, con funciones y roles similares a la de otros centros de definición y desarrollo de soluciones, pero especializado en las técnicas propias de la automatización de procesos de negocio mediante RPA.


viernes, 14 de septiembre de 2018

Una guía sencilla a Bitcoin a cargo de Mark Gates



'Bitcoin: Complete guide to bitcoin' es un libro relativamente sencillo aunque bastante amplio en su cobertura temática sobre Bitcoin, la criptomoneda más popular.



El libro, tras una breve introducción, desarrolla su contenido en trece capítulos:


  • 'What is bitcoin:' Pone unos fundamentos conceptuales contestando en muy pocas palabras una serie de preguntas como qué es bitcoin, qué es una criptomoneda, quién creó bitcoin, quién lo controla, qué es blockchain, qué es el minado, que es un 'wallet', etc

  • 'What is money:' Hace una curiosa e interesante digresión acerca de qué es realmente el dinero. Tras repasar brevemente su evolución histórica, concluye que el valor de una moneda tiene que ver mucho con la confianza que los ciudadanos depositan en ella como mecanismo de intercambio.

  • 'The history of bitcoin:' Hace un repaso histórico de bitcoin

  • 'How bitcoin works:' De una forma bastante breve, repasa el funcionamiento general de bitcoin incluyendo algún detalle sobre blockchain y tocando aspectos como el consenso o el minado de bitcoin.

  • 'Benefits of bitcoin:' Identifica y explica varios aspectos que entiende como beneficios que trae consigo bitcoin.

  • 'Disadvantajes / dangers of bitcoin:' Se pasa al otro lado y ahora pone sobre la mesa desventajas y riesgos aparejados a esta criptomoneda.

  • 'Setting up a bitcoin wallet:' A partir de aquí el libro se vuelve más práctico. Empieza por explicar como instalar y poner a funcionar wallets de bitcoin. Primero explica qué es un wallet y luego hace un largo recorrido por los tipos de wallets existentes con sus ventajas y desventajas y con ejemplos concretos de wallets existentes de esas tipologías.

  • 'Buying: trading and using bitcoins:' Explica cómo hacer diferentes tipos de transacciones con bitcoin; recibir bitcoins, comprar bitcoins, enviar bitcoins, especular con bitcoins, etc. Para cada caso de pinceladas de cómo se hace en algunos de los sistemas más populares como Coinbase, Circle, coPay, Jaxx, Blockchain.info, Strongcoin, Exodus, Poloniex, etc

  • 'Exploring the bitcoin blockchain:' Se mete un poco en el interior de bitcoin para hablar de blockchain. Explica, por ejemplo, cómo es un bloque del blockchain de bitcoin, cómo es un hash o una transacción. Es muy interesante que muestra ejemplos concretísimos lo que ayuda a tangibilizar una tecnología que es de por sí bastante abstracta.

  • 'Mining bitcoin:' Se centra ahora en explicar brevemente el minado de bitcoins, explicando el concepto de 'prueba de trabajo', e intentando contestar a cuestiones acerca de la seguridad en el minado y si éste es rentable.

  • 'Ethereum, bitcoin cash and other cryptocurrencies:' Abandona por un momento el Bitcoin propiamente dicho para comentar otras criptomonedas, algunas de las cuales han surgido como escisiones de Bitcoin. Así, nos habla de Ethereum, Litecoin, Rippe y Bitcoin cash

  • 'Trading bitcoin for other cryptocurrencies:' Explica como hacer el cambio entre criptomonedas,

  • 'The impact and future of bitcoin:' Realiza un conciso análisis final del impacto actual de bitcoin y una visión de futuro sin ocultar algunas problemáticas como la escalabilidad.

Aunque 'Bitcoin: Complete guide to bitcoin' no se pueda considerar una 'biblia del bitcoin', al fin y al cabo no es muy amplio ni profundo ni tampoco excesivamente técnico, creo que sí consigue dar una visión razonablemente completa y sencilla de lo que es bitcoin, cómo se usa e informando de una forma que me parece neutral de sus ventajas y desventajas. Es sólo un detalle, pero me ha gustado mucho el que enseñe ejemplos concretos y explicados de bloques y hash. Hace muy palpable la tecnología y sus conceptos.

En fin, creo que este libro no está destinado a especialistas pero sí puede ser una muy buena introducción para personas que quieran entender bitcoin a un nivel entre bajo y medio y con un fundamento técnico básico.

Mark Gates:

(Fuente: Traducción y ligera elaboración propia de la Ficha de autor en el libro)

Mark Gates creció en California y ha sido parte del escenario tecnológico durante más de una década.

Empezó diseñando sitios web cuando aún estaba en la high school, para lo cual usaba texto plano en el bloc de notas antes de descubrir que existían herramientas más avanzadas. Mark lanzó un negocio de diseño web durante el inicio del boom de Internet hace aproximadamente 15 años.

Luego extendió su negocio de diseño al mundo del marketing digital, SEO y social media. Tras vender su negocio, actualmente dedica su tiempo a vajar y obtener sus ingresos mediante su portátil.

Aunque inicialmente escéptico sobre las criptomonedas, Mark se ha convertido en un convencido defensor de las tecnologías basadas en blockchain y la criptomonedas.

Mark cree que la mejor forma de aprender es con la experiencia del mundo real. Le encanta bucear en cualquier cosa relacionada con la tecnología, aprender y enseñar a otros a hacer lo mismo.

Ficha técnica:

AUTOR: Mark Gates.
AÑO: 2017
ISBN: N/A
PAGINAS: 110

Artículos de este blog relacionados

miércoles, 12 de septiembre de 2018

Una definición comentada de Robotic Process Automation (RPA)


Robotic Process Automation  (RPA) es una de las tendencias tecnológicas que ocupan cada vez más espacio en los medios especializados. Sin embargo, y como pasa con casi todas las tecnologías 'de moda', tienden a darse, intencionadamente o no, visiones borrosas y poco claras, a veces incluso bastante equívocas.

Aprovechando que este verano he leído el librito divulgativo 'Robotic Process Automation for dummies. NICE special edition', escrito por el equipo de NICE, uno de los principales fabricantes de soluciones RPA,  rescato la definición que allí se proponía y, sobre ella, intento explicar algunos puntos que puede que, según para quién, no estén suficientemente claros. Ésta es la definición que se propone en el libro:

RPA is the use of computer software robots to handle repetitive, rule-based digital tasks, interacting with applications and information sources the same way humans do.

De esta definición, quiero entresacar y destacar los siguientes puntos:

  • Robots software: A veces, las imágenes que acompañan a artículos sobre RPA, y el propio hecho de que a los módulos software les llamemos robots, puede confundir a algunas personas y hacerles pensar que estamos hablando de algo parecido a los robots industriales o incluso androides. Nada de eso, los robots de que hablamos en Robotic Process Automation son módulos software, programas si se quiere, que residen en nuestros puestos de trabajo o en servidores, como cualquier otro software.

  • Tareas repetitivas y basadas en reglas: De nuevo, la propaganda sobre RPA incide tanto en la inteligencia artificial que nos hace pensar que RPA automatiza tareas complejísimas hasta ahora sólo al alcance de la inteligencia humana y que no es más que otra de las tecnologías que componen la inteligencia artificial. No es así.  Aunque RPA sí que hace uso en ocasiones de tecnología de inteligencia artificial (por ejemplo, para entender lenguaje natural en documentos y encontrar información en ellos) , y aunque el futuro más ambicioso de RPA se centra en una cada vez mayor presencia de la inteligencia artificial y el machine learning, lo cierto es que, las aplicaciones más reales, las más características y de las que más beneficio pueden obtener las empresas a corto plazo, son todo menos inteligentes. Precisamente, la mayor utilidad y hasta viabilidad de aplicación hoy día de la automatización con robots software, es la automatización de tareas sencillas, muy repetitivas y basadas en reglas claras, No nos decepcionemos en absoluto por ello: los beneficios reales para las compañías pueden ser inmensos 'sólo' con hacer eso, 'sólo' con automatizar esas tareas simples, repetitivas y basadas en reglas. 
  •  
  • Interacción con aplicaciones y fuentes de información: Normalmente, los robots de RPA interactuan con dos tipos de elementos. Por un lado, con aplicaciones, a través de sus pantallas y simulando el uso del teclado o el ratón. Por otro lado con almacenes de información, ya sean documentos ofimáticos o bases de datos. Es especialmente relevante la interacción con las aplicaciones a través de sus pantallas y mecanismos de entrada/salida ya existentes.

  • De la misma forma que lo hacen las personas: Una de las fortalezas prácticas de la automatización robótica es que los robots 'simulan' el comportamiento de un humano. Es decir, 'miran' virtualmente la pantalla y obtienen información de ella, 'leen' virtualmente documentos como facturas o albaranes y extraen información de ellos y envían nueva información a las aplicaciones simulando el uso del teclado o el ratón. La importancia de emular a los seres humanos no tiene nada que ver con la inteligencia artificial, sino con el hecho de que eso elimina la necesidad de modificar las aplicaciones sobre las que se actúa y los documentos que se leen.Y ese es uno de los grandes secretos de la utilidad de RPA.

A lo mejor tengo que sacar tiempo para explicar más clara, y quizá gráficamente lo que es realmente RPA. De todas formas, ahora, a la definición de arriba y las observaciones realizadas, voy a añadir algo parecido, sin prender serlo, a una nueva definición: 

"RPA es un tipo de soluciones que aportan módulos software (denominados robots) capaces de interactuar con aplicaciones y documentos existentes, con lo que automatizan tareas, en general muy procedimentadas y basadas en reglas, consiguiendo así automatizar procesos sin modificar las aplicaciones subyacentes"

¿Se entiende?

Espero que sí pero, si no es así, tiempo habrá de explicarlo de otras formas porque Robotic Process Automation, RPA, constituye una de mis áreas de mayor dedicación y estudio actualmente.