Cómo utilizar la gamificación para mejorar la calidad en tu proyecto

Rate this content
Bookmark

Construir software se trata de encontrar el equilibrio adecuado entre características y calidad. Pero rara vez hablamos de cómo medir la calidad. ¡Veamos cómo un sistema de gamificación (puntos y clasificación) dentro de una acción de GitHub ayudó a los desarrolladores de mi equipo a preocuparse por la calidad!


FAQ

Jonathan Wagner es un gerente de ingeniería en Theda UK y ha trabajado como líder técnico durante los últimos cuatro años, participando en más de 10 proyectos en producción.

Jonathan Wagner ha enfrentado desafíos en encontrar el equilibrio adecuado entre la entrega rápida y mantener una buena calidad del código en sus proyectos.

Jonathan Wagner aborda el problema de la calidad del código analizando el código nuevo que se agrega y enfocándose en el código heredado, estableciendo nuevos estándares y utilizando herramientas como ESLint para prevenir errores.

Jonathan utilizó una estrategia para limitar el máximo de advertencias permitidas y evitar que el número de advertencias aumentara, cambiando todas las advertencias por errores mediante la configuración de YesLimConfig y Klinter.

Jonathan Wagner desarrolló una acción de GitHub que publica comentarios en las solicitudes de extracción indicando los puntos ganados por cada desarrollador, en función de las mejoras realizadas al código, y muestra una tabla de clasificación semanal.

La implementación de la gamificación ayudó a reducir el número de errores en el código de 1600 a aproximadamente 235 en tres meses, mostrando una notable mejora en la calidad del código del proyecto.

Inicialmente, la implementación de la gamificación tuvo problemas con solicitudes de extracción que mostraban puntajes incorrectos. Jonathan trabajó en ajustar el sistema y después de resolver estos problemas, el proceso fue más tranquilo durante los siguientes tres meses.

Jonathan propone mejorar las herramientas utilizadas, como bloquear solicitudes de extracción que añadan errores y mostrar el potencial de puntos por corregir todos los errores en un archivo, con el fin de motivar a los desarrolladores a mantener una mejora continua en la calidad del código.

Jonathan Wagner
Jonathan Wagner
13 min
20 Jun, 2022

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Bienvenidos a mi charla sobre cómo utilizar la gamificación para mejorar la calidad. La calidad del código es crucial e implica mantener deuda técnica, garantizar la mantenibilidad y priorizar la entrega y la calidad. Para mejorar la calidad del código, crea un nuevo estándar, automatiza el cumplimiento y motiva a los equipos. Resolver conflictos de fusión eliminando advertencias y automatizando la disminución de advertencias y la reducción de errores puede prevenir problemas futuros. Busca cero errores encontrando un equilibrio, mejorando las herramientas, bloqueando las solicitudes de extracción con errores e incentivando a los desarrolladores.

1. Introducción a la Charla

Short description:

Bienvenidos a mi charla sobre el uso de la gamificación para mejorar la calidad. Soy Jonathan Wagner, un gerente de ingeniería en Theda UK. Siempre he tenido dificultades para encontrar el equilibrio adecuado entre la entrega rápida y la calidad del código.

¡Hola a todos! Bienvenidos a mi charla sobre el uso de la gamificación para mejorar la calidad. Para presentarme, soy Jonathan Wagner. Soy un gerente de ingeniería en Theda UK y he estado trabajando como líder técnico durante los últimos cuatro años en más de 10 proyectos en producción. Les puedo decir que siempre he tenido dificultades para encontrar el equilibrio adecuado entre la entrega rápida y tener una buena code quality en mis proyectos. He visto ambos extremos, como proyectos con una cobertura de código del 100% y proyectos que simplemente iban a lanzarse a producción sin testing nada. Así que siempre ha sido una lucha y quiero hablarles sobre todo esto.

2. Comprendiendo la Calidad del Código

Short description:

La calidad del código es un aspecto crucial de la ingeniería de software. Implica mantener la deuda técnica, garantizar la mantenibilidad y priorizar la entrega y la calidad. Es importante abordar tanto las soluciones rápidas como las causas raíz, priorizando primero la solución rápida y luego invirtiendo tiempo en prevenir problemas futuros.

Algo clásico que se dice en la ingeniería de software es que hay tres cosas difíciles. Tienes el almacenamiento en caché validation, dar nombres a las cosas y priorizar la calidad del código. ¿Qué quiero decir con calidad del código? Vamos a profundizar un poco más en esto. Es todo lo que implica la deuda técnica, la mantenibilidad, el factoraje, y así sucesivamente. Por lo tanto, se trata de encontrar el equilibrio adecuado entre la entrega y la calidad. Pero también se trata de decidir cuándo hacer la solución para la causa raíz en lugar de la solución rápida. Idealmente, quieres hacer ambas cosas, pero tal vez en el orden correcto. Así que prioriza la solución rápida y luego invierte tiempo en buscar la causa raíz y prevenir que el problema vuelva a ocurrir. Pero esa es la primera pregunta de priorización.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Un Marco para Gestionar la Deuda Técnica
TechLead Conference 2023TechLead Conference 2023
35 min
Un Marco para Gestionar la Deuda Técnica
Top Content
Seamos realistas: la deuda técnica es inevitable y reescribir tu código cada 6 meses no es una opción. La refactorización es un tema complejo que no tiene una solución única para todos. Las aplicaciones de frontend son particularmente sensibles debido a los frecuentes cambios de requisitos y flujos de usuario. Nuevas abstracciones, patrones actualizados y limpieza de esas viejas funciones - todo suena genial en papel, pero a menudo falla en la práctica: los todos se acumulan, los tickets terminan pudriéndose en el backlog y el código legado aparece en cada rincón de tu base de código. Por lo tanto, un proceso de refactorización continua es la única arma que tienes contra la deuda técnica.En los últimos tres años, he estado explorando diferentes estrategias y procesos para refactorizar el código. En esta charla describiré los componentes clave de un marco para abordar la refactorización y compartiré algunos de los aprendizajes acumulados en el camino. Espero que esto te ayude en tu búsqueda de mejorar la calidad del código de tus bases de código.

Principios para Escalar el Desarrollo de Aplicaciones Frontend
React Summit 2023React Summit 2023
26 min
Principios para Escalar el Desarrollo de Aplicaciones Frontend
Top Content
Después de pasar más de una década en Google, y ahora como el CTO de Vercel, Malte Ubl no es ajeno a ser responsable de la infraestructura de software de un equipo. Sin embargo, estar a cargo de definir cómo las personas escriben software, y a su vez, construir la infraestructura que están utilizando para escribir dicho software, presenta desafíos significativos. Esta presentación de Malte Ubl revelará los principios guía para liderar una gran infraestructura de software.
Luchando contra la Deuda Técnica con la Refactorización Continua
React Day Berlin 2022React Day Berlin 2022
29 min
Luchando contra la Deuda Técnica con la Refactorización Continua
Top Content
Afrontémoslo: la deuda técnica es inevitable y reescribir tu código cada 6 meses no es una opción. La refactorización es un tema complejo que no tiene una solución única para todos. Las aplicaciones de Frontend son particularmente sensibles debido a los frecuentes cambios de requisitos y flujos de usuario. Nuevas abstracciones, patrones actualizados y limpieza de esas viejas funciones - todo suena genial en papel, pero a menudo falla en la práctica: los todos se acumulan, los tickets terminan pudriéndose en el backlog y el código legado aparece en cada rincón de tu base de código. Por lo tanto, un proceso de refactorización continua es la única arma que tienes contra la deuda técnica. En los últimos tres años, he estado explorando diferentes estrategias y procesos para refactorizar el código. En esta charla describiré los componentes clave de un marco para abordar la refactorización y compartiré algunos de los aprendizajes acumulados en el camino. Espero que esto te ayude en tu búsqueda de mejorar la calidad del código de tus bases de código.
Construyendo equipos interculturales de alto rendimiento
React Day Berlin 2022React Day Berlin 2022
25 min
Construyendo equipos interculturales de alto rendimiento
Todo lo que hacemos, desde la forma en que escribimos nuestros correos electrónicos hasta la manera en que proporcionamos retroalimentación negativa y evaluamos el rendimiento, influye en el desempeño de nuestros equipos. Y comprender cómo la cultura impacta nuestra eficacia como equipo puede mejorar drásticamente nuestra colaboración diaria. En esta sesión aprenderás: Cómo se comunican diferentes culturas, Cómo diferentes culturas evalúan el rendimiento y dan críticas constructivas, Cómo diferentes culturas toman decisiones, Cómo diferentes culturas confían, Cómo diferentes culturas perciben el tiempo.
Escala tu aplicación de React sin micro-frontends
React Summit 2022React Summit 2022
21 min
Escala tu aplicación de React sin micro-frontends
A medida que tu equipo crece y se convierte en múltiples equipos, el tamaño de tu base de código también crece. Llegas a las 100k líneas de código y el tiempo de compilación se acerca peligrosamente a los 10 minutos 😱 Pero eso no es todo, tus verificaciones estáticas de CI (linting, cobertura de tipos, código muerto) y pruebas también están tardando cada vez más...¿Cómo puedes mantener a tus equipos avanzando rápidamente y enviando funciones a los usuarios de manera regular si tus PRs tardan una eternidad en ser probados y desplegados?Después de explorar algunas opciones, decidimos seguir el camino de Nx. ¡Veamos cómo migrar una gran base de código a Nx y aprovechar sus compilaciones incrementales!
Una Guía Rápida y Completa para Medir tu Deuda Técnica y Utilizar los Resultados
TechLead Conference 2023TechLead Conference 2023
27 min
Una Guía Rápida y Completa para Medir tu Deuda Técnica y Utilizar los Resultados
Casi nadie en el mundo de la tecnología disfruta cuando hay mucha deuda técnica. Y a la mayoría de nosotros nos gustaría que no haya demasiada. Pero, ¿cómo entendemos cuánta tenemos exactamente? ¿Dónde se encuentra exactamente? ¿Qué parte de ella es realmente la más molesta? ¿Cuál sería el beneficio para nosotros si dedicamos tiempo a deshacernos de ella? Cuando se trata de planificar cómo abordar tu deuda técnica, todas estas preguntas merecen respuestas. Especialmente cuando nos preguntan sobre el retorno de la inversión en nuestros esfuerzos para eliminar cosas antiguas molestas y construir un nuevo módulo o servicio brillante. Además, cuando trabajamos en la deuda técnica, queremos abordar primero las partes más impactantes, ¿verdad? Esta charla trata sobre todo eso: cómo medimos nuestra deuda técnica, cómo interpretamos los resultados de estas mediciones para que nos den las respuestas a las preguntas correctas, y cómo guiamos nuestra toma de decisiones con esas respuestas.

Workshops on related topic

Aporta Calidad y Seguridad al pipeline de CI/CD
DevOps.js Conf 2022DevOps.js Conf 2022
76 min
Aporta Calidad y Seguridad al pipeline de CI/CD
WorkshopFree
Elena Vilchik
Elena Vilchik
En esta masterclass repasaremos todos los aspectos y etapas al integrar tu proyecto en el ecosistema de Calidad y Seguridad del Código. Tomaremos una aplicación web simple como punto de partida y crearemos un pipeline de CI que active el monitoreo de calidad del código. Realizaremos un ciclo completo de desarrollo, comenzando desde la codificación en el IDE y abriendo una Pull Request, y te mostraré cómo puedes controlar la calidad en esas etapas. Al final de la masterclass, estarás listo para habilitar esta integración en tus propios proyectos.