Background Image
DESARROLLO DE SOFTWARE

Mejores prácticas actuales, Parte 1

Daniel Scheufler headshot

February 1, 2023 | 6 Minuto(s) de lectura

Cuando nos adentramos en una nueva tecnología o abordamos un nuevo reto de diseño, solemos querer empezar por caminos ya probados. No hace falta reinventar la rueda, pero saber qué prácticas aplicar y cuándo son viables puede resultar difícil. El consejo típico que uno recibe es encontrar y seguir las mejores prácticas. Pero, ¿qué entendemos por "mejores prácticas"?

Una mejor práctica suele definirse como la opinión actual de la mayoría de los profesionales del sector sobre los mejores enfoques, herramientas y técnicas para aplicar a problemas comunes. Teniendo en cuenta que el tiempo sigue avanzando y que constantemente se desarrollan nuevas tecnologías, ¿cómo podemos esperar averiguar cuál es la verdadera mejor práctica?

Creo que lo mejor es dar un paso atrás. Dado que nuestro entorno cambia continuamente y siempre aparecen nuevas tecnologías, la mejor práctica no puede ser algo estático. En su lugar, probablemente deberíamos considerar la mejor actuales actuales. Al fin y al cabo, los mejores profesionales cambian de opinión a medida que disponen de nueva información. Por lo tanto, con el tiempo, podemos esperar que las mejores prácticas actuales cambien a medida que el sector aprenda a aprovechar sus herramientas frente a los retos actuales. (Recuerde que, en un momento dado, el Monolito era una mejor práctica).

Las mejores prácticas siempre están limitadas en el tiempo

La mejor manera de hacer algo hace 20 años no va a ser tan eficaz hoy, por lo que cabe esperar que las mejores prácticas actuales cambien con el tiempo. Hoy en día existen nuevas herramientas, nuevas opciones y nuevas limitaciones.

Antes de la llegada de la Web, la mejor forma de informar a un grupo numeroso de personas podía ser un boletín o un tablón de anuncios. Sin embargo, la tecnología tiene un curioso efecto de segundo orden sobre las mejores prácticas. El alcance de las soluciones que consideramos puede verse a veces limitado por nuestras herramientas. Recuerde el viejo proverbio:

"Para un hombre que sólo tiene un martillo, el mundo está lleno de clavos".

Así que, aunque siempre es prudente intentar aprender de la sabiduría y los fracasos de los demás, debemos tener en cuenta que cada acontecimiento pasado no disponía de las mismas herramientas. Las herramientas que tenemos hoy DEBEN ser capaces de cambiar las soluciones que consideramos. El Dr. Goldratt, que desarrolló una teoría industrial llamada la Teoría de las Restricciones, señaló la necesidad de que la fabricación reevalúe cuidadosamente las restricciones reales que afectan a nuestros sistemas hoy en día.

No basta con insertar ordenadores donde antes se utilizaba papel. Por el contrario, a la hora de considerar cómo diseñar o migrar un proceso, necesitamos un conocimiento más profundo de lo que la empresa necesita realmente para aprovechar al máximo la utilidad de los sistemas informáticos. Seguir ciegamente una mejor práctica sin tener en cuenta su contexto y momento significa que ignoramos opciones para maximizar el valor para nuestros clientes.

La mejor práctica actual depende de su contexto

Las mejores prácticas actuales suelen llevar implícito cierto contexto en sus consejos. Es decir, tienen algún contexto asumido para donde las prácticas son más adecuadas. Por ejemplo, los microservicios son mejores en el supuesto de que una organización espera reducir la redundancia mediante la reutilización.

Comúnmente, las mejores prácticas de infraestructura actuales asumen algo sobre las estructuras de comunicación de una organización. Es común referirse a la Ley de Conway cuando se consideran cambios organizativos, como las estructuras de equipo en estos contextos. Pero con estos contextos implícitos vienen algunas suposiciones tácitas.

Tomemos el ejemplo de Netflix. ¿Qué tipo de cultura y madurez técnica tenía o había desarrollado Netflix para hacer viable su enfoque de los microservicios? No todas las organizaciones tienen la madurez operativa para soportar microservicios escalados para soportar millones y millones de peticiones cada hora. Por lo tanto, ¿qué tipo de beneficio podríamos esperar razonablemente de la ejecución de Netflix Chaos Monkey en una organización que no está preparada para entender o responder al tipo de fallos que la herramienta está diseñada para producir?

Sin sacar a la luz estos supuestos, limitarse a seguir las mejores prácticas actuales puede llevar a una organización inmadura a una posición insostenible. Por tanto, sacar a la luz los supuestos, o al menos tenerlos en cuenta antes de seleccionar una práctica a seguir, es absolutamente necesario para el éxito. Aunque debemos aprovechar las mejores prácticas actuales para acelerar nuestra propia entrega, hacerlo a ciegas será asumir riesgos ocultos. Esto nos compromete a ciertas vías de actuación que quizá no seamos capaces de llevar a cabo. Todas las arquitecturas de microservicios suponen un cierto grado de mantenimiento y flexibilidad para mantenerlas.

Además, estas arquitecturas necesitan una organización de operaciones razonablemente madura para mantener todos esos platos girando y afinados. Nuestras elecciones técnicas nos comprometen a ciertos patrones de comunicación y ciertos modelos mentales a la hora de considerar y adaptarnos a situaciones futuras.

Eliminar los supuestos

Entonces, ¿qué se puede hacer para desentrañar los supuestos inherentes a nuestras mejores prácticas? Lo mejor es considerar cualquier práctica óptima actual como una regla o principio de toma de decisiones. Está ahí para aconsejar, no para dictar. Como con cualquier norma de toma de decisiones, hay que plantearse preguntas sobre sus principios básicos. Preguntas como las siguientes

- ¿Cuándo se aplica este principio o norma?

- ¿Cuándo NO?

- ¿En qué límite debe ceder este principio a otro?

- ¿A qué nos compromete en el futuro la aplicación de este principio? O Para aplicar este principio... ¿a qué nos comprometemos?

Al contemplar cualquier práctica de este modo, suele ser apropiado empezar a ver todas las mejores prácticas actuales como un conjunto conocido de compromisos que resultan favorables para quien los asume. El valor de articular los supuestos reside en la mejora de la toma de decisiones.

Se atribuye a Pablo Picasso la frase "Aprende las reglas como un profesional para poder romperlas como un artista". Las mejores prácticas actuales pueden y deben aprenderse en profundidad. Aunque, ¡debemos entender su contexto y condiciones para saber cuándo y si debemos aplicarlas a nuestras circunstancias específicas!

En conclusión, es sensato seguir las mejores prácticas. Sin embargo, en determinadas circunstancias, suponiendo que se hayan considerado intencionadamente las compensaciones, puede ser beneficioso optar por una práctica actual no óptima. Recuerde que saber cuál es el momento adecuado para hacerlo requiere cierta delicadeza y experiencia.

Para obtener los mejores resultados, pida a colegas respetados que evalúen las opciones y los razonamientos antes de ponerlas en práctica. Vuelva la próxima vez, y podremos hablar de algunas circunstancias específicas en las que los equipos pueden beneficiarse de no seguir las mejores prácticas en la segunda parte de la serie de blogs.

Para saber más sobre las mejores prácticas póngase en contacto con nosotros.

Desarrollo de software

Reflexiones más recientes

Explore las entradas de nuestro blog e inspírese con los líderes de opinión de todas nuestras empresas.
Blog Image - Unveiling the Future of AI at Google Cloud Next 24 -1
IA/ML

Unveiling the Future of AI at Google Cloud Next ‘24

Get firsthand insights from Improving into the innovation brewing around artificial intelligence and cloud computing at Google Cloud Next '24.