Table of Contents
Hay algunas cualidades que diferencian a las empresas de desarrollo de software medianas de las de alto rendimiento y la actitud hacia la cultura de la arquitectura del software es una de ellas.
Cultura de arquitectura de software
En base a nuestra experiencia en Apiumhub, la cultura es mejor y los resultados son mucho mejores en equipos donde los desarrolladores y arquitectos de software prestan especial atención a la calidad de la arquitectura del software. En los equipos donde se trata de entregar tickets lo más rápido posible, la cultura y los resultados son más pobres. Está demostrado. Sin embargo, es muy importante destacar que cuando se presta demasiada atención a la arquitectura del software y no se presta suficiente atención a la entrega es también enormemente contraproducente. Tanto la valoración de la arquitectura de software como el esfuerzo por la entrega continua son fundamentales.
De hecho, leemos regularmente el blog de Martin Fowler y nos gusta mucho lo que dice:
«La calidad interna de un sistema de software permite ofrecer nuevas funciones y mejoras de forma más sostenible. El diseño, cómo se nombran, estructuran y organizan las cosas, etc, es una parte fundamental de la calidad interna.»
Además, en Accelerate, Nicole Forsgren muestra un vínculo entre una arquitectura bien diseñada y poco acoplada y una entrega de software más frecuente.
Técnicas para cultivar la arquitectura de software
- Centrarse en una arquitectura de software optimizada para el negocio
El verdadero valor de la arquitectura de software es construir sistemas de software optimizados para resolver problemas de negocio y que sean fáciles de evolucionar con el tiempo a medida que cambian las necesidades del negocio. Cuando los límites de la arquitectura se alinean con los límites del dominio, los cambios serán más fáciles de hacer y las dependencias entre los equipos serán menores. Una buena comprensión de los dominios de negocio es el factor clave para que los arquitectos de software creen una arquitectura de software optimizada para el negocio. Es importante pasar tiempo regularmente con los expertos del dominio.
- Formar parte de la comunidad de arquitectura de software
Alentar y recompensar la arquitectura de software requiere de canales de comunicación efectivos donde la información pueda ser compartida y pueda llegar a la audiencia deseada. Hay muchas oportunidades para difundir ideas de arquitectura de software e historias de éxito, incluyendo blogs, boletines, canales de Slack centrados en la arquitectura de software, eventos ( como Global Software Architecture Summit ), talleres de arquitectura de software, podcasts, libros, así como reuniones de arquitectura de software en toda la empresa.
- Fomentar la mentalidad de colaboración
Es estupendo contar con personas que disfrutan revisando y aportando comentarios de forma constructiva. Las técnicas de colaboración visual también ayudan. Ayudan a difundir el conocimiento del dominio y permiten que todos participen en la mejora continua. El Storytelling del dominio y el EventStorming son técnicas estupendas para reunir a los expertos en el dominio y a los ingenieros para modelar de forma colaborativa los flujos de negocio. Asimismo, el mapeo de ejemplos es una buena opción para recopilar de forma colaborativa el conocimiento del dominio para definir los requisitos. Es importante que los equipos dispongan de herramientas que les permitan visualizar constantemente su trabajo, especialmente cuando trabajan a distancia. Una gran herramienta que recomiendo probar es Miro, estupenda para la colaboración, organización y visualización.
- Tómete tiempo para pensar en una buena arquitectura
Cuando los desarrolladores de software sienten que dedicar tiempo a pensar en una buena arquitectura de software es aceptable, es más probable que lo hagan. Los líderes tecnológicos deben tener claro que una arquitectura de calidad es tan importante como la entrega de líneas de código. La inversión en arquitectura de software debe ser recompensada. Los líderes tecnológicos pueden buscar estudios de casos de buena arquitectura y difundirlos a todo el equipo de desarrollo de software, señalándolos como ejemplos de grandes prácticas de ingeniería a las que todos pueden aspirar.
- Explorar las opciones y evaluar las compensaciones
Explorar las opciones y evaluar las compensaciones es la clave para producir una mejor arquitectura de software. En realidad, a veces esta obsesión por los pequeños detalles hace que el código y la infraestructura sean más fáciles de mejorar y desplegar continuamente.
- Invita a profesionales de la arquitectura a impartir un taller en tu empresa
Hay mucha gente interesante en las comunidades de arquitectura de software que son apasionados de la arquitectura. Invitarles a dar una charla en su empresa o a impartir un taller práctico e interactuar con sus equipos es una gran manera de entusiasmar a la gente e introducir nuevas ideas en su equipo. Puede ser un enfoque rentable. De hecho, puedes encontrar talleres de arquitectura de software a distancia en Apium Academy.
- Tener en cuenta a los early adopters
Los early adopters son personas más abiertas a nuevas ideas y técnicas o que ya han visto los beneficios de una determinada arquitectura de software. Estos expertos pueden ser un gran empuje hacia la innovación y la mejora.
- Tener en cuenta a los early adopters
Los early adopters son personas más abiertas a nuevas ideas y técnicas o que ya han visto los beneficios de una determinada arquitectura de software. Estos expertos pueden ser un gran empuje hacia la innovación y la mejora.
- Contrata a personas influyentes del sector
Contratar a personas conocidas en el sector, puede crear entusiasmo y ganas de crecer.
¡Espero que estas técnicas te hayan resultado útiles! ¡Y si necesitas ayuda con tu proyecto de arquitectura de software, cuenta con nosotros! ¡Tenemos arquitectos de software de renombre en el equipo!
Author
-
Ekaterina Novoseltseva is an experienced CMO and Board Director. Professor in prestigious Business Schools in Barcelona. Teaching about digital business design. Right now Ekaterina is a CMO at Apiumhub - software development hub based in Barcelona and organiser of Global Software Architecture Summit. Ekaterina is proud of having done software projects for companies like Tous, Inditex, Mango, Etnia, Adidas and many others. Ekaterina was taking active part in the Apiumhub office opening in Paseo de Gracia and in helping companies like Bitpanda open their tech hubs in Barcelona.
Ver todas las entradas