traductor software industry game español engineer automation

automation - industry - Software "Robots"-Procesos o automatización del trabajo



automation testing (9)

Hay robots de software, pero a menudo realmente no los ves. Por ejemplo, considere un robot que se usa para empacar cosas. Hay una persona que monitorea el robot en caso de falla. Cuando el robot falla, la persona cierra el robot y arregla las cosas. Esa persona es como un programador que opera IDE para compilar, refactorizar, etc. Cuando ocurren errores, el programador corrige el código y ejecuta el compilador nuevamente.

La compilación no es muy similar a un robot, pero luego hay un software que compila tu proyecto automáticamente. Ahora eso es más como una especie de robot. Ese robot de software también verifica cosas en el código como si hubiera suficientes comentarios, etc.

Luego tenemos un software que genera código de acuerdo con nuestra información. Por ejemplo, podemos crear formularios en MS Access fácilmente con Wizards. Los asistentes no producen automáticamente formularios nuevos forma tras hoja tras forma, porque necesitamos que cada forma sea diferente. Pero el generador de formularios es un tipo de herramienta similar a un robot que se opera.

Por supuesto, puede ingresar los detalles de cada formulario primero y luego ejecutar generar, pero a las personas les gusta ver pronto cada formulario. Además, el mecanismo de entrada es prácticamente la forma, por lo que obtienes lo que creas sobre la marcha. Aunque con las herramientas de transformación de datos puede crear descripciones de formularios a partir de una lista de nombres de campo, generar los formularios y llamarlos como robots.

He estado jugando con la idea de crear software "Robots" para ayudar en diferentes áreas del proceso de desarrollo, tareas repetitivas, tareas automatizables, etc.
Tengo bastantes ideas por dónde comenzar.
Mi problema es que trabajo mayormente solo, como profesional independiente, y el trabajo tiende a acumularse, y no me gusta extender o "retrasar" las fechas límite.
He investigado y uso bastantes herramientas de productividad. Investigué CodeGeneration y proyecté una herramienta para generar porciones de código. Yo uso técnicas codeReuse. Etc.
¿Alguien tan duro con esto? como hay buenos artículos.


Incluso hay libros completos sobre la producción de software automatizado, pero el mayor problema es que la automatización del proceso dura más que el proceso en sí.

La mayoría de los programadores se dan por vencidos con esto, ya que intentan lograr todo en un solo paso, desde la programación manual hasta la automatización.

La automatización común en la producción de software se realiza a través de IDE, CodeGenerators y tal, hasta ahora casi ninguna lógica está automatizada.

Agradecería cualquier avance en este tema. Intente automatizar pequeñas tareas del proceso y luego conecte esas tareas. Yendo paso a paso.


No me gustaría utilizar la generación de código, pero he desarrollado muchas herramientas para ayudarme a hacer muchas de las tareas repetitivas.

Algunos de estos podrían hacer cosas buenas:

Correo electrónico Robots

Estos reciben correos electrónicos y hacen muchas cosas con ellos, necesitan tener algún rey de autenticación para protegerlo de las cosas malas:

  • Registra automáticamente todo lo que se ingresó en una base de datos u hoja de cálculo de Excel.
  • Actualiza algo en una base de datos.
  • Guarda todos los archivos adjuntos en una carpeta compartida específica.
  • Reinicia un servidor.

Productividad

Estos harán tareas repetitivas:

  • Imprima todas las facturas del mes.
  • Combina automáticamente datos de varias fuentes.
  • Enviar recordatorios de elementos de GTD.
  • Enviar recordatorios de artículos TODO tarde.
  • Construcciones automatizadas
  • Pruebas automatizadas

Administración

Estos automatizan algunas tareas repetitivas de administración del servidor:

  • Resumir los registros del servidor, eliminar elementos regulares y enviar el resto por correo electrónico
  • Reconstruir índices en una base de datos
  • Realice copias de seguridad automáticas

Scripting lejos de las tareas repetitivas - ¿eso es lo que usted refiere? Supongo que eres un desarrollador de Windows donde las secuencias de comandos no son tan comunes como en * nix world. De ahí tu pregunta.

Es posible que desee echar un vistazo al lado * nix del campo de desarrollo de software donde el flujo de trabajo es más o menos similar al que describe (al menos más que Windows). Ábrete camino a través de bash, perl, python, etc. Te conseguirá lo que quieras.

PD. Consulte también la publicación de nsr81 en comentarios para herramientas de scripting similares en Windows.


Supongo que, al igual que casi todos los desarrolladores de software en el planeta Tierra, desea escribir software que escriba software por sí mismo. Desafortunadamente, es una idea que solo funciona en papel. Quiero decir, tenemos cosas como generadores de código, DSL, canalizaciones de transformación, complementos de Visual Studio que analizan el código de forma estática y generan código derivado, y así sucesivamente. Pero no está cerca de nada que uno pueda llamar un ''robot''.

Personalmente, creo que se necesita hacer más en esta área. Por ejemplo, el IDE debería ser capaz de inferir cosas y hacer sugerencias basadas en lo que estoy haciendo en realidad. Por ejemplo, si estoy agregando una propiedad, el IDE infiere los atributos que tienen otras propiedades en el archivo, y cómo está estructurada la propiedad en sí misma, y ​​ajusta la propiedad en consecuencia.

Cualquier tipo de IA es un trabajo duro y, lamentablemente, no tiene un ROI tan bueno. Pero seguro si es divertido.


La generación de código es ciertamente una herramienta viable para algunas tareas. Si se hace mal, puede crear problemas de mantenimiento, pero no tiene que hacerse mal. Consulte Red de generación de código para una comunidad bastante activa, con conferencias, documentos, etc.

Code Generation in Action es un libro que viene a la mente.


La metaprogramación es una gran cosa. Si obtiene acceso fácilmente a los datos sobre la estructura de clases, entonces puede automatizar algunas cosas. En el lenguaje de alto nivel que uso, defino una clase como ''Propiedad'', por ejemplo. Agregue un número entero para el número de la calle, una cadena para el nombre de la calle y una referencia al deudor propietario. Luego genero automáticamente un formulario que tiene un cuadro de texto para el número de la calle y el nombre de la calle, un cuadro de búsqueda para la referencia del deudor y el código para guardar y cargar es todo generado automáticamente. Sabe que el número de la calle es un número entero, por lo que su cuadro de texto solo puede aceptar números enteros. Si declaro una propiedad de solo lectura, también me aseguraré de que el cuadro de texto sea de solo lectura.


Automatización Robótica de Procesos

Primero, un pequeño trasfondo ... En 2011, yo era el Gerente de Operaciones para el Centro de Excelencia de Contratación en Bristol-Myers Squibb. Estábamos en las primeras etapas de la implementación de un nuevo sistema global de contratación. Este nuevo sistema reemplazó una gran cantidad de esfuerzo manual en todo el mundo con la intención de que un sistema cree, almacene y recupere información de contratación para toda la organización. No es una tarea pequeña, desde luego, y ciertamente subestimamos el alcance y el impacto final de. Al igual que la mayoría de las organizaciones que manejan este proceso de administración de contratos, encontramos que es de 4 a 10 veces más grande de lo que originalmente se esperaba.

Hicimos muchas cosas bien, incluida la creación de una organización de soporte desde cero, que se especializó en esta aplicación específica y se convirtió en verdaderos expertos en la materia para la organización en (7) idiomas y la mayoría de las zonas horarias.

La aplicación, por otro lado, trajo sus propios desafíos que incluían características faltantes, un rendimiento inferior al estelar y una gran cantidad de trabajo de back-end que necesita realizar el equipo de Operaciones. Aquí es donde la Robótica Automatización de Procesos entra en escena.

Muchas de las ''características'' de este software eran simplemente demasiado complicadas para que los usuarios finales las utilizaran, pero se les exigía que crearan contratos. El primer ejemplo fue agregar un "Contacto" con quien se realizaría el Contrato. El "Tercero", si quieres. Esto es algo aparentemente simple, que tomó (7) pantallas de entrada de datos, un punto de acceso críptico, veintidós minutos y una maestría para averiguar, por su cuenta para cada uno. Rápidamente tomamos la decisión comercial de que el equipo de operaciones creara estos ''contactos'' en nombre de nuestros usuarios finales. Anticipamos la necesidad de ser unos pocos miles al año. Pasamos rápidamente 800 solicitudes por semana. Con tres FTE trabajando en ello, tuvimos un retraso acumulado cada vez mayor y un tiempo de respuesta de más de dos semanas por solicitud. Obviamente, esto NO se debe en ningún entorno comercial.

El proceso manual fue tan complicado que incluso mi personal tuvo una gran cantidad de errores al crearlos, incluso como expertos en la materia. El re-trabajo resultante complicó aún más el problema y agregó costos. Tenía experiencia previa en Automatización y productos con los que trabajé, pero esta necesidad era aún más intensa y complicada de lo que me había encontrado antes. Necesitaba algo grandioso, rápido, fácil de implementar y que NO requeriría asistencia de TI (ya que tenía sus propios inconvenientes). Investigué una serie de productos, todos afirmando que hacían cosas similares. Uno por supuesto, se destacó para mí. Parecía ser la opción más adecuada, asequible y con buenas opciones de soporte. El producto que seleccioné fue Automation Anywhere a un precio de oferta de aproximadamente $ 4000.00 USD.

No estoy aquí para lanzar para Automatización en cualquier lugar, o cualquier producto específico, para el caso. Pero mis experiencias con esta herramienta cambiaron para siempre mis expectativas y mi comprensión de lo que realmente significa Robotic Process Automation. Ahora, no me malinterpreten, no estoy aquí para lanzar para Automatización en cualquier lugar, o cualquier producto específico, para el caso. Pero mis experiencias con esta herramienta cambiaron para siempre mis expectativas y mi comprensión de lo que realmente significa Robotic Process Automation. (ver más abajo, si no está seguro)

Después de mi primera semana, comprando la herramienta y aprendiendo algunas de las características, pude implementar un reemplazo del proceso manual de creación de un "Contacto" en el sistema de contratación desde un turno de dos semanas hasta un turno de una (1) hora -alrededor. Tomó el esfuerzo de tiempo completo de 22 minutos para cada entrada, a cero. Pude ejecutar este proceso automatizado desde una PC de escritorio y manejar cada solicitud, totalmente automatizada, incluyendo los pasos de validación y confirmación en otros sistemas externos para garantizar una mejor calidad de datos de la que nunca antes se había tenido. En la primera semana, mis costos para el software se recuperaron en más del 200% en mano de obra ahorrada, lo que permitió que esos recursos se enfocaran en otras tareas de mayor valor. No me importa de dónde eres, ¡ese es un sorprendente ROI!

Eso fue solo el comienzo, ahora que teníamos esta herramienta, y de hecho podía hacer mucho más que esta tarea inicial que necesitaba, se convirtió en uno de los recursos más valiosos para desarrollar pruebas de concepto funcionales / prototipos de procesos más complejos que necesitábamos para cerrar las brechas en el sistema de contratación. Pude agregar la compra original con una licencia Enterprise y asegurar una infraestructura más sólida al asociarme con nuestro departamento de TI a un costo increíblemente bajo para la implementación total. Ahora tenía (5) servidores corporativos dedicados que operaban las 24 horas del día, los 7 días de la semana y (2) las licencias de desarrollo para construir y apoyar tareas de automatización y pudimos continuar apoyando la iniciativa de contratación, incluso con un volumen mucho mayor que el previsto con el mismo número de FTE como comenzamos. Se convirtió en la plataforma de generación de informes, notificación al usuario final, alertas del sistema, actualización de datos, flujo de trabajo, programación de tareas, monitoreo, ETL e incluso entrada de datos y migración desde otros sistemas. La prevención de costos debido a la implementación de esta herramienta de Automatización de Procesos Robóticos no puede exagerarse. El ahorro de dólares en la entrega de soluciones oportunas para la comunidad empresarial y la integridad profesional continua que pudimos demostrar y promover es evidente en la implementación exitosa a más de 48 países en menos de un año y la entrada de más de 120,000 contratos ingresados cada año desde entonces.

Se convirtió en la plataforma de generación de informes, notificación al usuario final, alertas del sistema, actualización de datos, flujo de trabajo, programación de tareas, monitoreo, ETL e incluso entrada de datos y migración desde otros sistemas.
Mientras que el término, Robotic Process Automation es actualmente todo el rumor, los conceptos han existido por un tiempo. Por favor, por favor, no asuman que esto significa que es una construcción y olvidan la situación. A medida que crezca, y crecerá, necesita un plan sólido para administrar tareas, recursos e infraestructura para mantener las cosas en funcionamiento. Estas herramientas básicamente imitan todo lo que un humano puede hacer, y mucho más que un humano también. Sin embargo, un ser humano puede cambiar rápidamente sus pasos en un proceso si uno de los sistemas ''fuente'' que está utilizando tiene un cambio en la interfaz de usuario. Sus tareas de automatización necesitarán ''ajustes'' para hacer ese cambio en la mayoría de los casos. Algunos procesos comerciales pueden ser más fáciles de automatizar que otros y pueden ser dos complejos para que un "creador de tareas de automatización" lo construya y / o mantenga. Asegúrese de contar con recursos sólidos para construir y mantener las tareas. Si planea hacer más de una cosa con su herramienta de RPA, asegúrese de tener una supervisión sólida, gobierno, recursos y un ''campeón'' corporativo o le aseguro que sus esfuerzos no serán exitosos.

Automatización de procesos robótica definida:

(IRPA) Institute for Robotic Process Automation: "Robotic Process Automation (RPA) es la aplicación de tecnología que permite a los empleados de una empresa configurar software informático o un" robot "para capturar e interpretar aplicaciones existentes para procesar una transacción, manipular datos, desencadenando respuestas y comunicándose con otros sistemas digitales ".

Wikipedia: "Los ejemplos de automatización robótica incluyen el uso de robots industriales en la fabricación y el uso de robots de software en la automatización de procesos administrativos en las industrias de servicios. En este último caso, el uso del término robot es metafórico, transmitiendo a sus robots industriales la similitud de esos productos de software, que se producen para proporcionar una capacidad de automatización genérica y luego se configuran en el entorno del usuario final para ejecutar tareas manuales y repetitivas. contrapartes. La metáfora es apta en el sentido de que el software "robot" ahora está imitando o reemplazando una función clásicamente asociada con una persona ".


Puedes probar Robot framework http://robotframework.org/

Robot Framework es un marco de automatización genérico, tiene una sintaxis de datos de prueba tabular fácil de usar y utiliza el enfoque basado en palabras clave. Incluso usted puede usar estas herramientas como bot de software (RPA).