Creo que la parte más difícil es convencer a la gente de que el sistema no debe automatizarse de la forma en que funciona y que debe cambiarse. Tengo 2 ejemplos de la vida real para eso:
Me asignaron a automatizar el procedimiento de mantenimiento de la empresa. Los pasos que tienen para solicitar una pieza de repuesto para una máquina fueron:
Rellene un formulario de solicitud con los datos de la máquina y los datos de la pieza solicitada; pedir aprobación al gerente; verifique el inventario para ver si esa parte estaba allí, si no fue así, una orden de compra tuvo que ser completada y aprobada (nuevamente) por el gerente, esos 2 formularios irán a personas de compra que obtendrán una aprobación de presupuesto para su gerente , todas esas aprobaciones fueron escritas a mano, los formularios en papel tuvieron que “caminar” de una oficina a otra.
- ¿Por qué algunos desarrolladores de código abierto presumen de no escribir software para Windows?
- ¿Cuáles son las mejores bibliotecas para la detección de dispositivos móviles?
- ¿Por qué LinkedIn no crea una mejor aplicación móvil?
- ¿Hay algún campamento de programación en Florida?
- ¿Cómo es pasar de colaborador individual en un entorno de ingeniería a la suite C en un corto período de tiempo?
Esto fue solo una parte simple de todo el proceso, pero aquí hay una discusión real (simplificada) que tuvimos:
- necesitamos poder imprimir ese informe para poder obtener las aprobaciones
- no, ya no necesitas hacer eso. El gerente tendrá una lista de aprobaciones que solo necesita para ingresar al software y hacer clic en “aprobado”
- Pero necesitamos la firma
- No, necesita la aprobación, no la firma real. Solo el gerente puede aprobar eso.
- ¿Y cómo sé que fue aprobado?
- Recibirá una alerta en el software y también, según lo solicitado, un correo electrónico informándole que ha sido aprobado.
- Y qué pasa si el sistema falla, ¿dónde obtengo el historial de aprobación?
- ¿Con qué frecuencia necesita ver el historial de aprobación? ¿Alguna vez ha abierto su archivo de formulario aprobado para buscar una aprobación?
- No, pero puedo … y si se borra la base de datos, perderé todo ese historial.
- Sí, lo hará, por eso tenemos una copia de seguridad diaria. Qué sucede si hay un incendio y se queman todas sus aprobaciones. ¿Tienes un respaldo?
En pocas palabras, el tipo descubrió que podía guardar una captura de pantalla de la aprobación y luego imprimirlas … Y ponerlas en el archivo.
Segundo ejemplo: automatización de pruebas. Tuvimos 8000 casos de prueba y querían automatizar una parte importante de ellos. Tuvimos casos de prueba para “verificar el nombre es obligatorio”, “verificar el nombre puede ser editado”, “verificar el nombre no se puede eliminar”, “verificar el nombre está presente en la vista de detalles”. Lo mismo para el apellido, segundo nombre, teléfono, etc. etc. ¿Cómo quería nuestro jefe implementar todo eso?
Inicie sesión, cree un usuario, verifique que se pueda editar el nombre, cierre la sesión.
Eso, repetido para cada caso de prueba. Sí, iniciar sesión, crear y cerrar sesión para CADA campo. Propuse revisar todos los campos a la vez. ¿La cuestión? El nombre, el apellido, el segundo nombre, el teléfono, etc. representan 34 casos de prueba separados para editar, otros 34 para eliminar, otros 34 para crear, otros 34 para ver. Un total de 34 * 4 = 136 casos de prueba. Después de automatizarlos, solo teníamos 4 (edición de prueba, eliminación de prueba, creación de prueba, vista de prueba).
Y eso se ve muy mal en números. “Ejecutamos 4 casos de prueba todos los días” frente a “ejecutamos 136 casos de prueba cada dos días” (debido al retraso que implica el inicio / cierre de sesión). Entonces, adivinen cómo esos fueron re-implementados. Si, separados. Irónicamente, los probadores manuales hicieron exactamente eso, probar todos los campos a la vez y no uno por uno. Por lo tanto, las pruebas manuales tomaron menos tiempo que las pruebas automáticas y menos propensas a errores.
Y es por eso que creo que la parte más difícil de la automatización es hacer que las cosas NO se realicen manualmente.