Si alguna vez ha cuidado plantas, probablemente se haya encontrado con plagas en el jardín. Cuando empiezas a ver señales de estos bichos aparentemente inofensivos, a veces microscópicos, sabes que es hora de actuar. De lo contrario, pronto podrían multiplicarse algunas hojas descoloridas o manchadas, comprometiendo todo el organismo.
¿Por qué yo, un ingeniero de software, les hablo de jardinería? Porque las pruebas inestables son la plaga del desarrollo de software. Así como mantener las plagas del jardín bajo control es esencial para la salud de sus plantas, erradicar las pruebas inestables es esencial para la salud de su proceso de desarrollo de software.
Los desarrolladores están íntimamente familiarizados con las pruebas inestables y el dolor y el trabajo que causan. Sin embargo, los líderes tecnológicos a menudo pasan por alto su importancia o incluso los descartan como un pequeño inconveniente. Eso es un error. Si le importa su equipo de desarrollo y sus objetivos, es absolutamente fundamental comprender el impacto de las pruebas deficientes en el proceso de desarrollo más amplio.
Echemos un vistazo más de cerca a este asesino de la productividad que a menudo se pasa por alto.
¿Qué son las pruebas inestables?
Cuando todo va según lo planeado, las pruebas de software ofrecen información confiable y confiable que garantiza a los desarrolladores que su código funciona correctamente. Si pasa una prueba, sabrá que todo está bien. Si falla, algo anda mal y es necesario corregirlo. Las pruebas inestables obstaculizan este proceso.
Las pruebas inestables son pruebas impredecibles e inconsistentes que a veces pasan y otras fallan, sin ningún cambio en el código. Esto crea confusión, arroja dudas sobre la confiabilidad de la cadena de herramientas del software y genera trabajo y frustración para los desarrolladores.
Con el tiempo, los desarrolladores identifican qué pruebas son «inconsistentes» y las descartan. Pero esto puede llevar a ignorar fallas reales, lo que resulta en un producto de menor calidad plagado de errores que se pasan desapercibidos. En última instancia, las pruebas deficientes frenan el ritmo y la calidad de la entrega de software, lo que afecta negativamente tanto al producto de su empresa como a los desarrolladores de software que ayudan a sentar las bases de su éxito.
Por qué no puede permitirse el lujo de ignorar las pruebas deficientes
Las pruebas deficientes no sólo amenazan la calidad y la velocidad de la entrega de software, sino que también plantean una amenaza muy real a la felicidad y satisfacción de los desarrolladores de software. Al igual que otros obstáculos en el proceso de desarrollo de software, las pruebas deficientes sacan a los desarrolladores de su flujo creativo y les impiden hacer lo que aman: crear software.
Imagine que una prueba pasa en una ejecución y falla en la siguiente, sin que se realicen cambios relevantes en el código base mientras tanto. Este comportamiento inconsistente puede crear una niebla de confusión y llevar a los desarrolladores a desmoralizantes madrigueras para descubrir qué salió mal. Es una enorme pérdida de tiempo y energía.
Al abordar las pruebas deficientes, los líderes tecnológicos pueden mejorar directamente la experiencia del desarrollador. En lugar de enredarse en una red de problemas fantasmas que agotan su tiempo y energía, los desarrolladores pueden dedicar más tiempo a realizar tareas como crear nuevas funciones o perfeccionar el código existente. Cuando se eliminan las pruebas erráticas, el proceso de desarrollo se desarrolla mucho mejor, lo que da como resultado un equipo más motivado y feliz.
Esto mejora la capacidad de una organización para atraer y retener trabajadores vitales, algo particularmente importante dada la escasez actual de talento en desarrollo de software. Investigaciones recientes encontraron que menos de la mitad (45%) de los líderes de ingeniería confían en que podrán cumplir sus objetivos de contratación técnica este año. Y esta escasez no parece que vaya a desaparecer pronto debido a la enorme cantidad de nuevas tecnologías ingresando al mundo TI.
Especialmente dadas las turbulencias del mercado, las empresas hoy en día necesitan todas las ventajas posibles para seguir siendo competitivas, y abordar las pruebas inestables es un paso importante en el camino hacia mejorar la experiencia de los desarrolladores y ganar la guerra por el talento.
Cómo eliminar las pruebas inestables
Dar prioridad a la corrección de pruebas deficientes debería ser una parte esencial de cualquier estrategia de desarrollo de software. Reconocer que las pruebas deficientes no se solucionarán por sí solas es el primer paso. A partir de ahí, reserve el tiempo adecuado para abordarlos. Dedique recursos a corregir pruebas deficientes de la misma manera que lo haría para desarrollar nuevas funciones o corregir errores.
Más allá de eso, es importante fomentar una cultura de comunicación. Aliente a los desarrolladores a ofrecer comentarios periódicos sobre los obstáculos que encuentren, como pruebas deficientes. Esto le ayudará a identificar y abordar rápidamente los obstáculos dentro del proceso de desarrollo de software, antes de que se conviertan en un problema aún mayor.
A medida que los desarrolladores expresen sus inquietudes y comentarios sobre productividad, asegúrese de que se sientan escuchados. Desarrolladores decir Lo que más tiempo hacen en el trabajo, además de escribir código, es esperar compilaciones y pruebas, lo cual es el resultado de las herramientas que utilizan. Algunas prácticas de gestión tradicionales miden la productividad basándose estrictamente en el individuo en lugar de tener en cuenta los desafíos tecnológicos. Esto hace que los desarrolladores se sientan frustrados y desconfíen del liderazgo. Deje en claro que no considera que la productividad sea un problema de personas, sino de ingeniería, e invierta en soluciones para superar los cuellos de botella en los procesos.
Si ha considerado que las pruebas deficientes son un contratiempo insignificante, creo que es hora de convertirlas en una prioridad. Al tomar en serio las pruebas inestables y tomar medidas consistentemente para mantenerlas a raya, los equipos de desarrollo de software estarán en condiciones de alcanzar su máximo potencial.
Trisha Gee es defensora principal de los desarrolladores en Gradle.
—
Generative AI Insights proporciona un lugar para que los líderes tecnológicos exploren y discutan los desafíos y oportunidades de la inteligencia artificial generativa. La selección es amplia, desde análisis profundos de tecnología hasta estudios de casos y opiniones de expertos, pero también subjetiva, basada en nuestro juicio sobre qué temas y tratamientos servirán mejor a la audiencia técnicamente sofisticada de InfoWorld. InfoWorld no acepta garantías de marketing para su publicación y se reserva el derecho de editar todo el contenido aportado.
Copyright © 2024 IDG Communications, Inc.