Сперва есть только один программист и он все делает.
В зависимости от его опыта, может быть сделано хорошее небольшое решение, которое можно масштабировать или мигрировать. Продукт формируется больше на фидбеке, чем на сборе требований. Часто это монолит без сложной архитектуры. Так что са тут не нужен.
Вот компания растет и появляется отдел. Решения отдела с точки зрения взаимодействия компонентов решаются внутри отдела. Либо в рамках монолита, либо создаются сервисы сбоку. Тимлид может выбирать архитектуру советуясь с коллегами. Са все еще не особо нужен, только в некоторых компаниях/случаях.
Когда компания жирнеет и появляется куча отделов, направлений, разработка начинает дробиться на команды, тогда и каждый проект надо стругать с учетом кучи интересов. Какие варианты? Посадить на все архитектора, но он быстро захлебнется, так что будет везде и нигде. Оптимально - создаст общие правила архитектуры.
Бизнес-аналитик, которого начнут макать в са с вытекающими.
И системный аналитик.