Buscador

Guía rápida: ¿Cómo aplicar el arquitecto de aplicación?. Definiciones + ejemplo práctico.

Tema 1: ¿Qué es?

El Arquitecto de Aplicación, es un profesional experto en definir y asegurar que una aplicación sea escalable, administrable, segura y cumpla con los requisitos funcionales y no funcionales. Generando los siguientes beneficios:

✔ Asegurar el cumplimiento de los estándares de seguridad y calidad en las entregas de las aplicaciones.

✔ Asegurar la escalabilidad de la aplicación.

✔ Asegurar la administración eficiente de la aplicación.

Las funciones principales que debe desempeñar el profesional para contribuir en el logro de los objetivos estratégicos de la organización, son las siguientes:

✔ Definir los lenguajes de programación, patrones de diseño y componentes de la aplicación.

✔ Acordar con el usuario los requisitos relacionados con el rendimiento, seguridad, escalabilidad y usabilidad.

✔ Documentar la aplicación con los diagramas UML.

✔ Supervisar que el desarrollo cumpla con el plan de arquitectura.

✔ Gestionar la resolución de los problemas técnicos.

✔ Monitorear los riesgos.

✔ Gestionar la implementación de los estándares de calidad en la aplicación.

✔ Liderar y entrenar al equipo técnico.



Tema 2: Salarios, habilidades y competencias.

Si estas interesado en ejercer como: Arquitecto de Aplicación, es quien asegura la escalabilidad, seguridad y rendimiento de las aplicaciones; el rango salarial estimado mensual que ofrece el mercado LATAM es el siguiente:

JuniorIntermedioExperto
1,800 USD2,000 USD2,500 USD


Las habilidades y competencias que debe desarrollar El Arquitecto de Aplicación son las siguientes:

Habilidades:

✔ Escucha activa para comprender las necesidades técnicas a nivel de aplicación, generar propuestas y adaptar el mensaje para que sea fácil de entender por parte de los interesados no técnicos.

✔ Trabajo en equipo para compartir conocimiento y lograr objetivos comunes que permitan asegurar la escalabilidad, seguridad y rendimiento de las aplicaciones.

✔ Liderazgo para guiar y motivar al equipo en asumir responsabilidades y toma de decisiones técnicas.

✔ Adaptabilidad para ajustar las aplicaciones a los cambios del negocio.

✔ Pensamiento crítico y detallado para evaluar la información técnica de manera objetiva.

✔ Negociación para generar acuerdos de tipo gana - gana con los programadores de software, los líderes técnicos y la dirección de TI.

✔ Empatía para comprender los sentimientos del negocio y TI.

✔ Encontrar las causas raices de los problemas técnicos que presentan las aplicaciones para resolverlos de manera eficiente.

✔ Resiliencia para afrontar los cambios de la tecnología.

✔ Actuar y transmitir integridad, honestidad y responsabilidad al equipo técnico.

✔ Planificar, organizar y priorizar los requisitos técnicos.

Competencias.

✔ Tener vigente alguna de las certificaciones con: iSAQB.

✔ Tener estudios relacionados con: Ingeniería de Sistemas o Ingeniería Eléctrica o Ingeniería Telemática.



Tema 3: Herramientas que debe conocer el arquitecto de aplicación.

Las herramientas que debe conocer El Arquitecto de Aplicación para desempeñar correctamente las funciones del cargo. Son las siguientes:

HerramientaAcción clave
El desarrollo basado en funciones FDD.Desarrollar funcionalidades delegando un propietario a cada clase del sistema para mantener asegurar su correcta codificación.
El análisis de software.Identificar lo que se espera del software a nivel de funcionamiento, estructura del software e insumos de infraestructura.
La arquitectura de aplicación.Identificar las aplicaciones, sus mejoras, interacciones entre aplicaciones y sus relaciones con los procesos de negocio.
Fase de planificación con XP.Identificar el tipo de requerimiento que se debe atender para construir la visión del resultado que se espera lograr.
Fase de diseño con XP.Definir acuerdo entre los programadores para generar código sencillo.
Modelado de objetos de dominio.Construcción del diagrama de clases.
Propiedad de clase individual.Asignar para cada clase un propietario quien garantizará la calidad del código y su escalabilidad.
Equipos de funciones.Definir la gobernanza para la construcción de las clases.
Cronograma de compilación.Planificación, gestión, monitoreo y control de las versiones del producto de software.
Informes de progreso.Generar radiadores de información para publicar el estado de la aplicación.
Los componentes de la aplicación.Identificar los componentes base de una aplicación.
El ciclo de vida del desarrollo de software.Definir las fases, procesos y procedimientos para desarrollar un producto alineado con las buenas prácticas de desarrollo de software.
El ciclo de vida del producto.Definir los procesos y lineamientos para desarrollar un producto alineado con las necesidades del mercado.
UML: Diagramas de comportamiento.Modelar la interacción que tendrá los usuarios con el software y las actividades con sus estados dentro de los flujos del sistema.
UML: Diagramas de estructura.Modelar los nodos, componentes, artefactos, objetos y clases del software.
UML: Diagramas de interacción.Modelar el envío de peticiones y datos dentro del sistema y con otros sistemas.
UML: Diagrama de paquetes.Agrupación y organización de todos los elementos de la aplicación de software.
UML: Diagrama de componentes.Representación visual de las funciones y artefactos de un componente de software.
UML: Diagrama de despliegue.Identificar los artefactos de software que requiere una aplicación para su correcto funcionamiento.
Programación modular.Construcción de funcionalidades independientes para luego ser integradas en un producto de software.
El plan de arquitectura de software.Construcción del plan para diseñar, estructurar y establecer el comportamiento del software.



Tema 4: Sobre el autor.

Juan David López Pava: profesional en administración de empresas y desarrollo de software con certificaciones del PMI y Scrum Institute, apasionado por la transformación digital y la dirección de proyectos de tecnología.