Más de un Año Explorando GitHub Copilot en Itequia

Hace más de un año, en Itequia, decidimos incorporar GitHub Copilot a nuestras herramientas de desarrollo. En un artículo anterior, expusimos los primeros resultados al poner GitHub Copilot a prueba, mostrando cómo comenzaba a impactar nuestra velocidad de desarrollo. Hoy, tras más de 12 meses de experiencia con la implementación de GitHub Copilot. Queremos compartir un análisis más profundo sobre cómo esta herramienta ha transformado nuestra productividad. Así como los aprendizajes obtenidos durante este tiempo.
Integración de GitHub Copilot: Un Año de Experiencia
Usuarios activos y adopción
Desde la implementación de GitHub Copilot, hemos tenido hasta 8 desarrolladores con licencia activa. Desarrolladores que han integrado la herramienta en su flujo de trabajo diario en diferentes momentos. La adopción fue gradual. Permitiendo que el equipo se familiarizara con Copilot y optimizara su uso para tareas repetitivas y creativas. Actualmente, contamos con 4 desarrolladores que utilizan Copilot de manera constante en sus proyectos. Este proceso ha permitido a nuestros profesionales maximizar el potencial de la herramienta. Adaptándose a sus diferentes capacidades y áreas de uso.
Evolución de las métricas de productividad
A lo largo del tiempo, hemos observado una mejora constante en nuestra productividad.
A continuación, se detalla la evolución de las métricas desde marzo de 2023 hasta octubre de 2024:
Mes | Mejoras de Tiempo | Desarrolladores Activos |
Marzo 2023 | 5% | 6 |
Abril 2023 | 10% | 4 |
Mayo 2023 | 2% | 5 |
Junio 2023 | 3.5% | 6 |
Julio 2023 | 8.7% | 6 |
Agosto 2023 | 9% | 6 |
Septiembre 2023 | 10.6% | 8 |
Octubre 2023 | 1.7% | 8 |
Noviembre 2023 | 4.3% | 6 |
Diciembre 2023 | 5.7% | 4 |
Enero 2024 | 10% | 2 |
Febrero 2024 | 12.5% | 2 |
Marzo 2024 | 11.24% | 4 |
Abril 2024 | 19.29% | 4 |
Mayo 2024 | 17.28% | 4 |
Junio 2024 | 17.5% | 4 |
Julio 2024 | 14.3% | 4 |
Agosto 2024 | 10.6% | 4 |
Septiembre 2024 | 15.72% | 4 |
Octubre 2024 | 15.54% | 4 |
Cómo procesamos los datos
Para evaluar el impacto de GitHub Copilot en nuestra productividad, implementamos un enfoque riguroso y sistemático para la recopilación y análisis de datos. A continuación, se detallan los pasos seguidos para obtener los resultados presentados en la sección “Evolución de las métricas de productividad”:
- Horas estimadas: Inicialmente, sumamos todas las horas proyectadas para la realización de las tareas asignadas a los desarrolladores, basándonos en la experiencia previa y la complejidad de las tareas.
- Horas reales trabajadas: Posteriormente, registramos meticulosamente las horas efectivamente trabajadas por los desarrolladores en dichas tareas, asegurando una precisión en el seguimiento del tiempo invertido.
- Porcentaje de horas trabajadas: Para calcular este porcentaje, dividimos las horas reales trabajadas entre las horas estimadas y multiplicamos el resultado por 100, proporcionando una medida clara de la eficiencia temporal.
- Porcentaje de mejora de tiempo: Finalmente, restamos el porcentaje de horas trabajadas a 100. Este valor refleja el porcentaje de mejora en el tiempo, indicando la eficiencia ganada en comparación con las estimaciones iniciales.
Casos de Uso: Ejemplos Prácticos
Aplicación web
Aplicación web utilizando TypeScript. En el proyecto, inicialmente se estimaron 40 horas para completar la tarea. Pero gracias a GitHub Copilot, solo se necesitaron 15 horas reales.
Copilot ha demostrado ser una herramienta valiosa en la generación de entradas nuevas en el HTML a partir de cambios en la lógica del componente.
A pesar de que Copilot a veces presenta comportamientos inesperados, como generar fragmentos de código incorrectos en ciertas condiciones, ha demostrado ser especialmente valioso en tareas repetitivas que normalmente consumirían mucho tiempo de desarrollo.
Aplicación mobile
Para la versión móvil del mismo proyecto, también utilizamos TypeScript. Al igual que en el caso web, se estimaron 40 horas para la tarea, pero solo se necesitaron 15 horas reales.
Copilot facilita la generación de entradas nuevas en el HTML, permitiendo a los desarrolladores centrarse en la estilización. Su comportamiento puede ser errático en ocasiones, pero en un entorno controlado, es una herramienta de gran ayuda.
Sistema web de gestión
Recientemente, implementamos evolutivos en sistema web de gestión desarrollada en tecnología ASP.Net, Typescript y con base de datos SQL Server.
Gracias a GitHub Copilot, reducimos los tiempos de programación en un 18%. Disminuyendo de las 60 horas previstas a 49 horas efectivas. Este ahorro de 11 horas permitió una entrega más rápida y eficiente de las nuevas características.
Además, nos permitió mejorar la calidad del código en algunos puntos críticos. Optimizar varios procesos importantes de SQL Server. Y generar pruebas unitarias más robustas, aspecto que nos permitió posteriormente detectar errores no detectados en las pruebas anteriores.
Utilizar GitHub Copilot nos proporcionó una ventaja significativa, permitiéndonos realizar mejoras en nuestra aplicación más eficientemente. Reducir el tiempo de desarrollo en un 18% muestra cómo esta herramienta puede aumentar la productividad y mejorar la calidad del software final.
Beneficios de GitHub Copilot: Más Allá de la Productividad
Aumento de la productividad
GitHub Copilot ha sido crucial para aumentar nuestra productividad. Es especialmente útil en tareas repetitivas como la generación de código base o fragmentos sencillos. Esta automatización permite a nuestros desarrolladores centrarse en tareas de mayor valor, como el diseño de arquitectura de software o la resolución de problemas complejos.
Automatización de tareas repetitivas
Copilot ha liberado una cantidad significativa de tiempo al automatizar tareas repetitivas. Esta función es especialmente útil en la creación de funciones simples, entradas de formularios, y tareas similares. Sin Copilot, estas tareas consumen una cantidad innecesaria de tiempo. Esto ha reducido la carga operativa de los desarrolladores, permitiéndoles avanzar en proyectos de mayor envergadura.
Generación de pruebas unitarias
Una de las áreas donde GitHub Copilot ha sido excepcional es en la generación automática de pruebas unitarias. Usando frameworks como Jest, Copilot nos ha ayudado a establecer pruebas iniciales. Esto permite a los desarrolladores concentrarse en pruebas más específicas y complejas que realmente agregan valor al proceso de desarrollo.
Sugiere clases y métodos
Una gran ventaja de GitHub Copilot es su capacidad para sugerir clases y métodos según las mejores prácticas. Esto ayuda a mantener la calidad del código y a estandarizar el trabajo de los desarrolladores. También facilita la integración del código entre diferentes miembros del equipo.
Formación técnica y reducción de la curva de aprendizaje
Los desarrolladores menos experimentados se han beneficiado enormemente de Copilot. No solo reduce la curva de aprendizaje, sino que también actúa como un compañero de aprendizaje. Proporciona sugerencias y ejemplos de código que enriquecen sus habilidades técnicas rápidamente.
Consistencia en el código
GitHub Copilot ha sido clave para mantener la coherencia y consistencia en el código. Esto es especialmente importante en proyectos grandes con equipos diversos. Sus sugerencias están alineadas con los estándares de la industria. Esto facilita la revisión de código y asegura la calidad global del producto.
Base de conocimiento dinámica
Una de las características más potentes de GitHub Copilot es su capacidad para aprender y adaptarse continuamente a nuestra base de código. A medida que interactúa con nuestro código, sus sugerencias se vuelven más personalizadas y precisas. Esto mejora la eficiencia general y reduce los errores.
Reflexiones Finales: Lo Que Hemos Aprendido y Hacia Dónde Vamos
La implementación de GitHub Copilot en Itequia ha sido un proceso de mejora continua. Si bien al principio se enfocaba en mejorar la productividad, pronto descubrimos que su impacto va más allá de la simple automatización de tareas repetitivas. Copilot ha resultado ser una herramienta valiosa también en la formación técnica de los desarrolladores menos experimentados. Al ofrecer sugerencias contextualizadas y ejemplos de código, ha facilitado la comprensión de mejores prácticas y patrones de diseño, lo que reduce la curva de aprendizaje en el equipo.
Conforme exploramos más funciones y casos de uso, hemos aprendido algo clave. Mantener la competitividad en el desarrollo de software requiere combinar la automatización con la mejora continua de nuestras habilidades. GitHub Copilot no solo optimiza tareas técnicas, sino que también forma parte de un proceso continuo de crecimiento profesional para nuestros desarrolladores. Este proceso de aprendizaje se extiende a todos los equipos. Los menos experimentados y los más avanzados descubren nuevas formas de optimizar su código y mejorar la eficiencia de sus procesos.
A medida que exploramos las capacidades de GitHub Copilot, estamos atentos a las posibilidades futuras y su impacto en nuestros proyectos. Nuestro compromiso con la calidad y la innovación nos impulsa a seguir mejorando. Queremos ofrecer soluciones cada vez más eficientes y efectivas a nuestros clientes.
¿Te gustaría saber cómo GitHub Copilot puede impulsar la productividad y calidad de tu equipo de desarrollo?
En Itequia, hemos experimentado de primera mano cómo esta herramienta puede transformar la eficiencia operativa y la formación continua de los desarrolladores. Si estás listo para explorar cómo GitHub Copilot puede mejorar tus proyectos de software, te invitamos a contactarnos.