Introducción
¿Alguna vez te has preguntado por qué los equipos de TI, que sobresalen en construir soluciones para otros, a menudo descuidan crear herramientas para simplificar su propio trabajo? La automatización es el corazón de nuestras responsabilidades; ya sea asistiendo a clientes o a usuarios internos, siempre nos esforzamos por hacer los procesos más eficientes. Sin embargo, los equipos de TI frecuentemente pasan por alto oportunidades para optimizar sus propias tareas. Las prioridades agresivas de negocio y los cambios constantes dificultan el detenerse a pensar cómo simplificar y automatizar tareas rutinarias.
La inspiración: AWS CLI como modelo a seguir
Hace unos años, mientras trabajaba en una fintech de inversión en Perú, enfrenté el desafío de construir un departamento de TI con un presupuesto ajustado. Al reconocer las ineficiencias en el manejo de tareas repetitivas, comprendí que necesitábamos una solución centralizada para simplificar los procesos de todo el equipo. Un día, al trabajar con la Interfaz de Línea de Comandos (CLI) de AWS, me di cuenta de lo poderosa y bien documentada que era para construir infraestructura. Esto me inspiró a replicar una herramienta similar para nuestras necesidades internas de TI.
Creando una CLI interna para equipos de desarrollo y QA
El problema inicial
Durante el desarrollo, los equipos a menudo necesitaban verificar si un cliente existía en la aplicación o eliminar información de clientes. Los desarrolladores y miembros del equipo de QA consultaban directamente la base de datos para recuperar o eliminar datos de clientes. Si bien esto funcionó inicialmente, estas tareas aparentemente simples se volvieron engorrosas a medida que la aplicación creció en funcionalidad y complejidad. Además, algunos desarrolladores crearon scripts para uso personal, pero estas soluciones no se compartieron con todo el equipo.
La solución
Para abordar estos desafíos, creamos una CLI interna y la tratamos como una aplicación completamente soportada por TI. Todos los equipos podían agregar, modificar o eliminar herramientas según sus necesidades, e incluimos estas tareas en nuestro backlog de producto para asegurar la transparencia con las partes interesadas del negocio. Esto permitió a los stakeholders ver el valor de la CLI, como el aumento de la velocidad del equipo y la reducción de errores.
Ampliando el concepto: Múltiples CLIs para diferentes equipos
Este enfoque resultó ser increíblemente efectivo. En mi última experiencia fintech, ampliamos el concepto aún más:
CLI para desarrolladores y QA: enfocada en herramientas que ayudan con tareas de desarrollo y pruebas.
CLI para operaciones de tecnología: incluía tareas y controles específicos para su uso en entornos de producción.
CLI planificada para seguridad técnica: una herramienta separada para gestionar de manera efectiva las operaciones de seguridad.
Separar las herramientas de seguridad de otras operaciones fue una precaución para asegurar una mejor gestión de la seguridad, y esperamos refinar este enfoque aún más después de su implementación.
Beneficios de construir una CLI interna
Conocimiento compartido
Cualquier herramienta agregada a la CLI refleja la manera más actualizada y efectiva de realizar una tarea. Por ejemplo, eliminar un cliente podría comenzar como una acción simple, pero evolucionar hacia un proceso de múltiples pasos a medida que el sistema madura. Tener una herramienta centralizada asegura que todos sigan las mejores prácticas.
Eficiencia de tiempo
Cuando un desarrollador agrega una herramienta a la CLI, permite a otros realizar tareas más eficientemente, reduciendo el esfuerzo redundante en todo el equipo. Este enfoque colectivo ahorra tiempo y acelera los plazos del proyecto.
Reducción de la dependencia en conocimientos individuales
Agregar herramientas a la CLI ayuda a mitigar el riesgo de que el conocimiento crítico esté bloqueado con una sola persona. Al centralizar las herramientas, todos pueden acceder a las mismas capacidades, reduciendo cuellos de botella y puntos únicos de falla.
Comenzando: ¿Cómo construir tu CLI interna?
Identifica tareas repetitivas: comienza enumerando las tareas repetitivas diarias que maneja tu equipo.
Colabora con tu equipo: involucra a tu equipo en la construcción y mejora de herramientas internas.
Trátala como un producto: gestiona la CLI con el mismo cuidado que cualquier producto orientado al cliente, incluyendo documentación y actualizaciones regulares.
Comienza pequeño: empieza con comandos simples y expande gradualmente las capacidades de la herramienta.
Conclusión
Construir una CLI para uso interno es más que una conveniencia; es una manera poderosa de escalar la productividad de TI y fomentar la colaboración. Al automatizar tareas rutinarias y centralizar herramientas, aumentas la productividad y creas una cultura de mejora continua y conocimiento compartido. Es una estrategia que consistentemente ha agregado valor a cada equipo con el que he trabajado.
Opmerkingen