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!


This talk has been presented at JSNation 2022, check out the latest edition of this JavaScript Conference.

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
Today's Talk discusses the importance of managing technical debt through refactoring practices, prioritization, and planning. Successful refactoring requires establishing guidelines, maintaining an inventory, and implementing a process. Celebrating success and ensuring resilience are key to building a strong refactoring culture. Visibility, support, and transparent communication are crucial for addressing technical debt effectively. The team's responsibilities, operating style, and availability should be transparent to product managers.
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
This Talk discusses scaling front-end applications through principles such as tearing down barriers, sharing code in a monorepo, and making it easy to delete code. It also emphasizes incremental migration, embracing lack of knowledge, and eliminating systematic complexity. The Talk highlights the use of automation in code migration and the importance of removing barriers to enable smoother code migration.
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
This Talk discusses the importance of refactoring in software development and engineering. It introduces a framework called the three pillars of refactoring: practices, inventory, and process. The Talk emphasizes the need for clear practices, understanding of technical debt, and a well-defined process for successful refactoring. It also highlights the importance of visibility, reward, and resilience in the refactoring process. The Talk concludes by discussing the role of ownership, management, and prioritization in managing technical debt and refactoring efforts.
Construyendo equipos interculturales de alto rendimiento
React Day Berlin 2022React Day Berlin 2022
25 min
Construyendo equipos interculturales de alto rendimiento
The Talk discusses the importance of effective communication and collaboration in cross-cultural teams. It emphasizes the impact of culture on communication and performance evaluation. The speaker highlights the differences between low-context and high-context communication styles and the need to understand cultural nuances. It also explores the challenges of giving feedback in multicultural teams and suggests ways to improve communication and create a feedback culture. The influence of language on communication and the importance of transparency and honesty in feedback are also discussed.
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
This Talk discusses scaling a React app without micro-frontend and the challenges of a growing codebase. Annex is introduced as a tool for smart rebuilds and computation caching. The importance of libraries in organizing code and promoting clean architecture is emphasized. The use of caching, NxCloud, and incremental build for optimization is explored. Updating dependencies and utilizing profiling tools are suggested for further performance improvements. Splitting the app into libraries and the benefits of a build system like NX are highlighted.
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
This Talk discusses the measurement and interpretation of tech lead, focusing on tech debt. Tech debt is a tool to temporarily speed up development but can have negative consequences if not managed properly. Various tech debt metrics, including heuristic metrics and second-tier metrics, can help identify and manage tech debt. Tech debt interest is crucial for measuring the impact of tech debt and allows for prioritization. It is important to collect and analyze tech debt metrics to ensure software and team health.

Workshops on related topic

De Ingeniero a Líder: Un Masterclass para Líderes Tecnológicos Primerizos
TechLead Conference 2024TechLead Conference 2024
144 min
De Ingeniero a Líder: Un Masterclass para Líderes Tecnológicos Primerizos
Workshop
Andrew Murphy
Andrew Murphy
Transicionar de un rol de contribuidor individual a una posición de liderazgo, especialmente en la industria tecnológica de ritmo acelerado, es enormemente desafiante. La mayoría de los nuevos líderes no reciben ningún tipo de capacitación en los primeros 10 años de sus nuevas responsabilidades.Nuestro completo masterclass está diseñado para ayudar a los nuevos y emergentes líderes tecnológicos a comprender sus nuevos roles y adquirir las habilidades para convertirse en líderes seguros, felices y efectivos.
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.
Managers Are From Mars, Devs Are From Venus
TechLead Conference 2024TechLead Conference 2024
111 min
Managers Are From Mars, Devs Are From Venus
Workshop
Mo Khazali
Mo Khazali
Una Guía para Desarrolladores sobre Cómo Comunicar, Convencer y Colaborar Efectivamente con los Stakeholders
Es una historia tan antigua como el tiempo: la colaboración entre desarrolladores y stakeholders de negocios ha sido durante mucho tiempo un desafío, con una falta de comunicación clara que a menudo deja a ambas partes frustradas. Los mejores desarrolladores pueden comprender profundamente las necesidades de sus contrapartes de negocios, comunicar efectivamente la estrategia técnica sin perder a la audiencia no técnica y convencer al negocio de tomar las decisiones correctas. Trabajando en una consultoría, he fallado y tenido éxito en arquitectar y “vender” visiones técnicas, aprendiendo muchas lecciones en el camino.Ya sea que trabajes en una empresa de productos, seas consultor/freelancer, o quieras aventurarte más allá de ser solo un desarrollador, la capacidad de convencer y comunicar claramente con los stakeholders puede diferenciarte en la industria tecnológica. Esto se vuelve aún más importante con el auge de GenAI y el mercado de desarrolladores cada vez más competitivo, ya que la resolución de problemas y la comunicación efectiva son clave para posicionarte.En esta masterclass, compartiré ejemplos del mundo real, tanto buenos como malos, y te guiaré a través de poner la teoría en práctica mediante dojos.
Fuera de la sartén, al fuego: Guía para gerentes sobre cómo ayudar a los nuevos desarrolladores a prosperar
TechLead Conference 2024TechLead Conference 2024
35 min
Fuera de la sartén, al fuego: Guía para gerentes sobre cómo ayudar a los nuevos desarrolladores a prosperar
Workshop
Andrew Coleburn
Andrew Coleburn
Integrarse a un nuevo proyecto puede ser difícil, sin importar tu experiencia y antecedentes. Pero puede ser especialmente desafiante para los nuevos desarrolladores recién salidos de la escuela o de un bootcamp de programación. Basándose en su experiencia personal como graduado de un bootcamp y consultor de JavaScript, esta charla discutirá consejos y estrategias para que los gerentes ayuden a los nuevos desarrolladores de sus equipos a familiarizarse con un código desconocido, para que puedan tener un impacto más rápido y efectivo.