# data[].attributes.body
Garantizar la calidad es parte fundamental del rol de un Arquitecto de Software, el cual debe apoyarse en procesos de integración continua que utilicen herramientas automatizadas de análisis de código fuente, pruebas unitarias y cobertura de código, para asegurar el cumplimiento de las normas, políticas y mejores prácticas establecidas.

# data[].attributes.body
El Arquitecto de Software debe asumir la dirección técnica, para asegurar que todos los aspectos de la arquitectura se estén implementando de manera correcta.

De igual manera el Arquitecto de Software debe proporcionar orientación técnica y dar apoyo al equipo de desarrollo; debe estar preparado para entrenar al equipo en las tecnologías seleccionadas (Formador) y también debe estar abierto a sugerencias.

# data[].attributes.body
La arquitectura del software debe ser conocida y entendida no solo por el equipo de desarrollo sino también por otras áreas como seguridad informática, base de datos, operaciones, el equipo de mantenimiento, etc.

Es función del Arquitecto de Software servir de facilitador para la colaboración entre estos grupos de interés de manera de garantizar que la arquitectura se integrará con éxito en el entorno empresarial.

# data[].attributes.body
Es necesario someter a la arquitectura de software a dichos procesos, para demostrar que funciona, que efectivamente resuelve los requisitos no funcionales y por tanto reducir el riesgo general de fracaso del proyecto.

El Arquitecto de Software debe encargarse de la mejora continua de la Arquitectura y a su vez estar abierto a modificarla utilizando las sugerencias o feedback que se pueda obtener de otros miembros del equipo.

# data[].attributes.body
La selección de la tecnología suele ser un ejercicio con una serie de desafíos interesantes y en el cual se debe tomar en cuenta un universo de factores como el coste, las licencias, la relación con los proveedores, la estrategia de la tecnología, la compatibilidad e interoperabilidad, política de actualizaciones, etc.

Adicionalmente hay que conocer si las tecnologías funcionan realmente y se adaptan o no a los requerimientos del software.

El Arquitecto de Software debe asumir la propiedad del proceso de selección de la tecnología y por tanto es responsable del riesgo técnico.

# data[].attributes.body
Es el responsable de la definición y diseño de la arquitectura.
Entre sus competencias está:
Definir la arquitectura de los sistemas tomando las decisiones de diseño de alto nivel y estableciendo los estándares técnicos, incluyendo plataformas, herramientas y estándares de programación, teniendo en cuenta los requisitos funcionales, no funcionales y las necesidades del negocio.

# data[].attributes.headline
Gestión de los requisitos no funcionales y definición de la Arquitectura de Software

# data[].attributes.subject
Gestión de los requisitos no funcionales y definición de la Arquitectura de Software

# data[].attributes.body
Características como el rendimiento, la escalabilidad, la disponibilidad, auditoría, etc., son requisitos no funcionales que deben ser definidos e incluso cuestionados cuando se considere oportuno y es el Arquitecto de Software quien debe asumir estas funciones.

Una vez obtenido el conjunto completo de requisitos no funcionales, el siguiente paso es pensar en cómo se resolverán los problemas expuestos y definir la arquitectura.