En la práctica, en mi experiencia trabajando en consultoras de Chile, generalmente tienes cómo mínimo (y a veces, como máximo) una reunión de 30 a 60 minutos para entender el problema que tiene un cliente, por lo que la calidad de las preguntas de esa sesión deben ser las que aumenten la probabilidad de entregar un diseño de solución ad-hoc (generalmente: viable técnicamente y al menor costo posible).
Trabajé con empresas del rubro Retail, Fintech, Banking, Pharmacy, solo por nombrar algunas. En cada caso, el flujo de la conversación (al menos en las etapas iniciales) es casi el mismo. Antes de que pueda proponer una solución, necesito comprender los porqués, qué y cómo, de lo contrario, la solución no es factible. Así que decidí escribir algunas de estas preguntas y compartirlas.
Ojo, que esta es solo la punta del iceberg cuando se trata de la cantidad real de preguntas que se van realizando conforme avanza la sesión. Generalmente esta sesión, se estructuran en torno a una conversación abierta (en lugar de una sesión de preguntas y respuestas):
P𝗮𝗻𝗼𝗿𝗮𝗺𝗮 𝗴𝗲𝗻𝗲𝗿𝗮𝗹
¿Qué problema estas tratando de resolver?
¿Por qué estás tratando de resolverlo?
¿Quiénes serán los clientes?
¿Cómo ves que funcionará este sistema una vez que esté en producción?
¿Cuándo necesitas estar en producción?
𝗟𝗶𝗺𝗶𝘁𝗮𝗰𝗶𝗼𝗻𝗲𝘀 𝘁𝗲́𝗰𝗻𝗶𝗰𝗮𝘀 𝘆 𝗳𝗶𝗻𝗮𝗻𝗰𝗶𝗲𝗿𝗮𝘀
¿Cuál es el presupuesto estimado?
¿Alguna limitación técnica que quieras mencionar? ¿Stack de tecnología que necesitas/quieres/prefieres usar?
¿Vas a ejecutar esto on-premise? ¿Nube? ¿Híbrido? ¿Cuál es el nivel de experiencia de su organización con cualquiera de esos?
¿Utilizan actualmente IaaS/PaaS/SaaS?
𝗗𝗮𝘁𝗼𝘀
¿De dónde provienen los datos? ¿Quién lo crea/ingiere?
¿Cómo se recopilarán los datos?
¿Hay necesidad de análisis de datos?
¿Cuáles son los patrones de acceso a los datos?
¿Existe la necesidad de una transmisión de datos en real-time?
𝗔𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝘃𝗼𝘀
¿Utilizará algún software de terceros o desarrollará in-house?
¿Usan servidores físicos? ¿VM? ¿Contenedores? ¿Funciones?
¿Conocen el concepto de microservicios? ¿Algún patrón de microservicios en particular que estén usando o les gustaría usar?
𝗜𝗻𝘁𝗲𝗿𝗳𝗮𝘇
¿Cuáles son las formas en que sus clientes interactuarán con esta aplicación?
¿Móvil? ¿Web? ¿TV? ¿Transmisión en vivo?
𝗦𝗲𝗴𝘂𝗿𝗶𝗱𝗮𝗱
¿Cuáles son sus requisitos de seguridad?
¿Cifrado en reposo? ¿En tránsito?
¿Requisitos de IdP?
¿Multi-tenancy?
¿Certificación de cumplimiento?
𝗖𝗮𝗽𝗮𝗰𝗶𝗱𝗮𝗱𝗲𝘀 𝗼𝗽𝗲𝗿𝗮𝘁𝗶𝘃𝗮𝘀/𝗱𝗲 𝗮𝗽𝗼𝘆𝗼
¿Cuáles son los requisitos de RTO y RPO?
¿Qué pasaría si se cae por un minuto? ¿Hora? ¿Día?
¿Cómo planea probar e implementar el código?
¿Su organización está familiarizada con DevOps/DevSecOps?
¿Tienen SRE?
PD: Cada conversación es diferente, así que hay que asegurar adaptarse al cliente en lugar de adaptar al cliente a las preguntas o sesgos técnicos. Además, algunas de las respuestas se infieren con algunos de los clientes y se preguntan explícitamente con otros. 𝐋𝐚 𝐟𝐥𝐞𝐱𝐢𝐛𝐢𝐥𝐢𝐝𝐚𝐝 𝐞𝐬 𝐥𝐚 𝐜𝐥𝐚𝐯𝐞.
Arquitecto, según ChatGPT: En el panorama en constante evolución de las soluciones digitales, las organizaciones recurren a la nube para optimizar sus operaciones, mejorar la escalabilidad y fomentar la innovación. En medio de esta transformación, el papel del arquitecto se erige como un eje central en la configuración del éxito de las iniciativas en la nube, diseñando soluciones a medida, que satisfagan los requisitos únicos de cada cliente.