Automatización de la eficiencia
Reemplace las tareas manuales repetitivas por la automatización de software, que las completa más rápido, con mayor coherencia y precisión, y reduce los riesgos. |
---|
Es posible que la carga de trabajo tenga flujos de trabajo con procesos que impliquen a los miembros del equipo que realizan tareas rutinarias, repetitivas y lentas que realmente no necesitan intelecto humano. En función de la frecuencia, puede dedicar mucho tiempo a estos esfuerzos, invertir más tiempo a medida que crece la carga de trabajo. Además, estos procesos suelen ser propensos a errores debido a la involucración humana.
A través de la automatización, se ahorra tiempo, esfuerzo y dinero, y se evitan errores.
Escenario de ejemplo
Contoso University ha desarrollado una aplicación web, actualmente en producción y hospedada en Azure, que proporciona servicios educativos en línea para estudiantes y profesores de Contoso.
La solución de tecnología se basa en Azure App Service, Azure SQL Database, Azure Active Directory, Azure Key Vault y Azure DevOps.
Automatizar flujos
Evalúe todos los flujos de trabajo con respecto a los criterios que están en el nivel correcto de complejidad, esfuerzo, frecuencia, precisión, escalas de tiempo y duración. Automatice los flujos de trabajo en función de esa evaluación y priorice los flujos de trabajo con los resultados más altos esperados. Quite flujos de trabajo redundantes o agregue valor para justificar el esfuerzo humano.
Al adoptar este enfoque, puede reinvertir la capacidad del equipo en un trabajo de mayor valor y aumentar la productividad y la coherencia.
La creación de un inventario de flujos de trabajo garantiza la automatización de las tareas adecuadas. La eliminación de tareas redundantes reduce la complejidad y los errores.
Desafío de Contoso
- El equipo de Contoso University busca formas de mejorar el proceso de operaciones mediante la automatización de tareas manuales repetitivas, lentas, propensas a errores o de bajo valor. Esto podría liberar parte del tiempo y los recursos del equipo para un trabajo más estratégico, mejorar la calidad y confiabilidad del servicio, y reducir potencialmente el costo.
Aplicación del enfoque y los resultados
- Para comenzar este esfuerzo, el equipo realizó un inventario de tareas manuales de operaciones que podrían automatizarse. A continuación, el equipo analizó la lista de tareas con los criterios sugeridos en la recomendación, como el nivel correcto de complejidad, esfuerzo, frecuencia, precisión, escalas de tiempo y duración, para determinar los principales candidatos para la automatización. Al mismo tiempo, el equipo también evaluó si la adquisición de una herramienta de automatización o la creación personalizada de la automatización interna podría ser mejor a largo plazo.
- Como resultado del análisis, decidieron centrarse en automatizar actividades relacionadas con la administración de cuentas de usuario. La administración de cuentas de usuario (estudiantes, profesores, personal) es una tarea común, que incluye la creación de nuevas cuentas tras el registro de alumnos, el restablecimiento de contraseñas y la eliminación de cuentas cuando las personas abandonan la universidad.
- Al automatizar muchas de las tareas relacionadas con la administración de cuentas de usuario, el equipo ha liberado el tiempo suficiente para empezar a trabajar en otras mejoras de excelencia operativa que se habían retrasado anteriormente.
Diseño para la automatización
Diseñe los componentes de carga de trabajo para admitir las funcionalidades de automatización.
Evite la situación en la que la falta de automatización en el diseño del sistema promueve el antipatrón de tareas repetitivas, ralentiza el crecimiento y comienza a acumular deuda técnica.
Desafío de Contoso
- La aplicación tiene una interfaz de usuario enriquecida y dinámica que usa muchos elementos interactivos y animaciones. El equipo de desarrollo nunca ha usado herramientas automatizadas de pruebas de IU desde que la aplicación se desarrolló originalmente; solo se ha basado en pruebas manuales.
- Recientemente, el equipo ha estado trabajando en la automatización de sus pruebas de IU, pero se ha enfrentado a muchos desafíos. Algunas de las páginas de la IU son demasiado dinámicas e impredecibles, y no hay ninguna manera coherente de identificar algunos de los campos con los que los casos de prueba necesitan interactuar.
Aplicación del enfoque y los resultados
- El equipo ha decidido mejorar su implementación de la IU para que sea más fácil de probar y accesible. Este realizará las mejoras incrementalmente mediante la corrección de las páginas a medida que crean los casos de prueba.
- A medida que aborda cada página, se aseguran de que cada campo tenga un identificador único que las herramientas de automatización de pruebas puedan usar. También siguen las directrices y estándares de accesibilidad, como el uso de HTML semántico, etiquetas adecuadas y navegación por teclado. Esto hace que su IU sea más fácil de usar y probar.
- A medida que se completan las pruebas automatizadas, se incorporan al conjunto de pruebas que se ejecuta durante la compilación diaria, lo que da lugar a reducciones significativas en el tiempo necesario para lanzar nuevas compilaciones a producción, mejoras en la calidad del producto y ahorro de costos durante el desarrollo.
La automatización debe estar bien diseñada
Trate toda la automatización como una dependencia crítica de la carga de trabajo. Adáptese al crecimiento esperado de la carga de trabajo. Las herramientas de automatización son una parte integral de la carga de trabajo, y deben cumplir los cinco pilares del marco de buena arquitectura.
Diseñe el componente de automatización para resistir riesgos, como las amenazas de seguridad. Con los procedimientos recomendados aplicados, puede evitar la expansión de la implementación.
La carga de trabajo seguirá funcionando con una garantía de alto nivel si esta dependencia se mantiene funcional y segura.
Desafío de Contoso
- La carga de trabajo tiene un entorno dedicado a las pruebas de carga y rendimiento, con una configuración que imita la producción de manera muy similar. Para simular aún mejor las condiciones similares a la producción en el entorno, cada lunes, se carga una nueva copia de la base de datos de producción, con todos los datos confidenciales del usuario anónimos y ocultos en el entorno de prueba. Todos los lunes se restablece ese entorno.
- El script de carga de la base de datos lo escribió un antiguo desarrollador que no lo documentó bien ni siguió otros procedimientos recomendados. El script se ejecuta lentamente y no controla los errores correctamente.
- Últimamente, a medida que ha crecido la base de datos de producción, el tiempo de ejecución del script se ha vuelto cada vez más largo, y, con frecuencia, se produce un error. Estos retrasos y errores afectan a la capacidad del equipo para ejecutar las ejecuciones de pruebas y están causando retrasos en la programación de desarrollo.
Aplicación del enfoque y los resultados
- El equipo decide que ha llegado el momento para volver a escribir esta herramienta para que pueda estar al mismo nivel de los procedimientos de desarrollo estándar que se usan para desarrollar el código base de la aplicación principal. El equipo seguirá los procedimientos de desarrollo recomendados aceptados por el sector, incluida la seguridad adecuada y el control de errores adecuado.
- El rendimiento se ha mejorado y la funcionalidad se ha rediseñado de tal forma que genera un tiempo de ejecución predecible, independientemente del tamaño del conjunto de datos de producción.
- Al tratar la automatización con el mismo rigor que el código base de la aplicación principal y aplicar los principios y recomendaciones del marco de buena arquitectura, el equipo la ha optimizado para lograr confiabilidad, seguridad, rendimiento, costos y operaciones.