El patrón fetiche es un antipatrón común en la ingeniería de software y la gestión de proyectos que responde a muchos problemas recurrentes, a menudo con consecuencias ineficaces y dañinas. Este concepto fue propuesto por primera vez por el programador Andrew Konik en 1995. Se inspiró en el libro "Design Patterns", que describe algunos patrones de diseño para el desarrollo de software que se consideran efectivos y confiables. Posteriormente, el libro de 1998 "Anti-Patterns" amplió aún más el concepto para incluir las áreas de arquitectura de software y gestión de proyectos. En este artículo profundizaremos en la definición, aplicación y ejemplos concretos del "Patrón Femenino" en ingeniería de software.
Según los autores de patrones de diseño, los antipatrones tienen dos elementos clave que los distinguen de los malos hábitos o malos comportamientos:
Un antipatrón es un patrón de procesos, estructuras o comportamientos comúnmente utilizado que, aunque inicialmente parece ser una respuesta apropiada y válida a un problema, tiene más consecuencias malas que buenas.
Existen otras soluciones efectivas documentadas, repetibles y probadas para los problemas que el antipatrón busca resolver.
De acuerdo con las "Tres Reglas", para calificar como antipatrón, el patrón debe observarse al menos tres veces.
La documentación de antipatrones se puede utilizar para analizar eficazmente el espacio del problema y capturar conocimiento experto. Una buena documentación antipatrón no sólo documenta las consecuencias adversas del patrón, sino que también proporciona soluciones alternativas o formas de mejorarlo.
En ingeniería de software, los antipatrones comunes incluyen: gran bola de barro, objetos divinos, números mágicos y poltergeists.
El caos sin diseño se refiere a un sistema de software que carece de una arquitectura perceptible. Aunque no son deseables desde la perspectiva de la ingeniería de software, estos sistemas son comunes bajo presión empresarial, rotación de desarrolladores y degradación del código. Brian Fort y Joseph Yoder definieron este concepto en profundidad en un artículo de 1997:
Un desorden no diseñado es una "jungla de espagueti" desordenada, estructurada y caótica. Estos sistemas exhiben un crecimiento incontrolado significativo y parches ad hoc constantes.
Los antipatrones en la gestión de proyectos incluyen: Blowhard Jamboree, parálisis del análisis, ingeniería Viewgraph, muerte por planificación y miedo al éxito, etc.
Estos antipatrones a menudo son causados por una mala gestión o métodos de comunicación deficientes, lo que resulta en un progreso lento del proyecto y una baja moral del equipo.
Comprender e identificar estos antipatrones es fundamental cuando se enfrentan desafíos de diseño de software y gestión de proyectos. Al evitar los errores comunes del modelo fetiche, los equipos pueden diseñar soluciones más estables y efectivas, lo que a su vez facilita la finalización exitosa del proyecto. Entonces, ¿es posible que usted también esté siendo influenciado por estos antipatrones sin siquiera darse cuenta?