Éramos algo así como beneficiarios de una iniciativa diferente donde teníamos un único propietario por archivo. Esto garantiza la responsabilidad y rendición de cuentas para cada archivo en nuestra base de código. Así que nuestra primera versión MVP de nuestra herramienta fue literalmente solo una página web muy, digamos, del año 2000 donde desglosamos todos los fallos de ESLint por equipo, por regla de lint, y también por equipo y regla de lint. De modo que puedes visualizar para tu equipo cuántos eres responsable y dónde están en tu base de código, estos fallos de lint. Se actualizaba cada noche. Se ejecutaba desde la máquina de alguien, en realidad, en su escritorio, lo cual fue desafortunadamente, en realidad, una vez se apagó durante la COVID y tuvimos que conseguir que alguien lo volviera a encender.
Teníamos advertencias, errores y desactivaciones contados en cada contrato. Así que esta es una especie de vista del desglose por regla de lint donde te mostramos el nombre del archivo, si haces clic en este nombre de archivo, te llevará a la página de GitHub. Así de fácil es averiguar cuáles son los fallos de lint de tu equipo y dónde están. De esta manera entiendes cuánto te estás comprometiendo cuando estás tratando de arreglar algo. Usamos una herramienta llamada Checkup, que es esencialmente como un ejecutor de notas, donde cada noche ejecutaría estas tareas. Viene con algunas tareas incorporadas para JavaScript, ESLint, donde podemos ejecutar un plugin y este ejecutará ESLint en toda tu base de código y luego te dará un formato estructurado. Este es un ejemplo de ejecución de Checkup. Te dará un archivo Sarah, que es un formato estructurado. Este es un ejemplo del archivo Sarah, que analizamos en nuestra herramienta para mostrarte ese bonito diagrama. Oh, sí, y luego actualizamos nuestras herramientas al estándar de la empresa de interfaces de usuario. Creo que esto es DocuSource, solo para que sea más fácil de visualizar. Y cada semana damos a cada equipo una tarjeta de puntuación roja, verde o amarilla. Verde si has disminuido tus fallos de lint o si estás en cero. Amarillo si no hay disminución ni aumento y rojo si hay un aumento en los fallos de lint. Esto es muy importante porque lo que hemos visto es que mucha gente retrocede, no por su culpa o por algún tipo de medio nefasto, sino que simplemente suceden cosas y es fácil para nosotros ver estas regresiones e intentar arreglar inmediatamente. Este es un ejemplo de una tarjeta de puntuación que enviaríamos, es un correo electrónico manual, destacamos a dos o tres ingenieros por correo electrónico, intentamos realmente darles reconocimiento. Cuando arreglan algunos fallos de lint, pero realmente el tipo de aprendizaje que hemos encontrado fue que llegar a cero fue muy, muy difícil. Este es el tipo de gráfico que teníamos, a lo largo del viaje, donde puedes ver que la última milla fue muy, muy difícil de alcanzar, tomó casi la mitad del tiempo solo para terminar los últimos cientos. Pero la sostenibilidad importa, ¿verdad?, esa última milla realmente importa. Este es un ejemplo de un archivo con muchos fallos de lint. No es realmente agradable trabajar en este archivo, ¿verdad?, en comparación con un archivo sin fallos de lint. Es mucho más fácil entender un archivo, no hay trabajo oculto para que lo hagas. Todo está claro y cortado. Y así es como aprendimos, centrarse en el individuo realmente ayudó, dar reconocimientos personales, y realmente intentar mantener las reducciones al mínimo. Limpiamos más de 6,000 fallos de lint, tomó un poco más de un año y contribuyó a la toda la comunidad. Tuvimos 55 contribuyentes únicos a este esfuerzo. Al final de esto en nuestras encuestas trimestrales, hemos visto un aumento del 30% en cómo las personas perciben su calidad de código después de esta iniciativa. Y todavía añadimos nuevas reglas de lint mientras estábamos ejecutando esta iniciativa con más de 80 reglas de lint añadidas a nuestra configuración, con más de 45 contribuyentes añadiendo estos cambios de lint. Y eso es todo. Muchas gracias por asistir a mi charla.
Comments