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 se preocupa por 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 deficientes? Cuando todo va según plan, 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 darse el lujo de ignorar las pruebas deficientes? Las pruebas deficientes no sólo amenazan la calidad y velocidad de entrega de software, representan una amenaza muy real para 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, lo que es 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 que ingresan al mundo de 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 pruebas inestables Dar prioridad a la corrección de pruebas inestables 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. Los desarrolladores dicen que lo que más tiempo hacen en el trabajo, además de escribir código, es esperar las 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 ofrece 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.

Source link