Blog de notas sobre Software, Ingeniería y Tecnología

Andreas Voigt
Pricipal software architect @ Adesso SE
Linkedin: https://www.linkedin.com/in/andreas-voigt-0a855b11/
Consecuencias negativas de aplicar una solución, de la evolución de las arquitecturas, decisiones, contexto, negocio, la vida.
Video: https://youtu.be/BNTt2aLB1tg
Stefan Tilkov, Goto conference. Achitecture antipatterns.
Preferencia de una tecnología, una misma solución que ya se conoce, un lenguaje de programación o estar “casado” con una tecnología en particular.
Estar en una zona de confort y querer solucionar todo con las herramientas que ya conoces. A veces es conveniente, pero no siempre y puede traer problemas.
Una empresa de desarrollo de software para seguros desarrolló su propio middleware tipo CORBA que integraba un ORB, servicios DCOM y muchas más funciones.
Ventajas: tecnología propia, conocer los detalles, implementar soluciones custom.
Desventajas: costo elevado (no es parte del negocio), obsolescencia de la tecnología, transferencia de conocimiento dificil.
Ejemplo: https://architecture-antipatterns.tech/case_studies/diy_middleware.html

Una solución muy genérica para ser usada para todo!! Termina siendo tan flexible que es compleja de desarrollar, usar, mejorar o corregir y a veces, no siendo utilizada por nadie.

-> hacer una app para todos los mercados, de varios países, termino siendo un problema muy complejo debido a que cada pais tiene sus procesos y leyes. Una APP generica, no resulto.
-> Solución BASE para mercados simples.
-> Solución CUSTOM para mercados complejos.

Solución: escribir TEST, documentar lo que se pueda, hacer cambios muy chicos, tener una estrategia de rollback previa a aplicar los cambios.
Para estos casos: -> Automatizar pruebas, -> Documentar -> Reducir librerías -> Tener días de PATCH (patchdays)
App vieja en java, 4 millones LOC, 15 años, etc.
Solución:
-> Test, importante -> Experimentar. -> documentar -> CI/CD armar pipelines. -> refactorings. -> evolucionaty architecture.
Usar conceptos sin conocer el porque y como?
https://github.com/innoq/architecture-antipatterns
https://architecture-antipatterns.tech/