Технология и конструкция, архитектор системный и корпоративный

12.12.2022

Автор: Виктор Рудь

Архитекторы, технологи и конструкторы - в чем разница для корпорации в целом и для ИТ в частности? Давайте осмыслим.

Преждем всего, следует понимать разницу между технологией и конструкцией. 

Технология - это совокупность процессов или действий, в том числе с применением систем и оборудования (см. другие определения в wiki или иных источниках для более глубокого понимания термина).

Конструирование - это сочленение частей в целое для достижения целей конструкции (или единицы оборудования). Результат конструирования - это изделие или программный продукт, если мы конструируем алгоритмы переработи информации. Длинные алгоритмы можно рассмотреть как совокупность процессов превращения информации (действий над информацией) и, следовательно, можно говорить, что конструкция реализует технологию (вдоль всей технологии или на каком-то ограниченном ее участке).

Программное обеспечение (продукт) мы конструируем, держа в голове определенную технологию переработки информации, которая может начинаться или заканчиваться далеко за пределами нашего программного продукта. Таким образом, программный продукт, который мы конструируем, - это зачастую часть или фрагмент технологии. То есть, в общем случае, понятие "технология" охватывает более чем одну отдельную конструкцию (более чем один программный продукт).

Поэтому следует различать технолога и конструктора (в роли последнего может выступать главный разработчик (team lead)). Технолог должен вписать информационную систему в бизнес (или в один его бизнес-процесс), поэтому он должен понимать и бизнес, и возможности разработчиков ПО. Технолог ближе по своим компетенциям к корпоративному архитектору, потому что компонентами его дизайна будут подразделения, процессы, системы, функции, информация, взаимодействия, материалы и оборудование.  Коструктор (как варианты - главный разработчик или системный архитектор (system or solution)) оперирует компонентами ПО, такими компонентами являются объекты данных, методы, сервисы, вызовы, таблицы, порты, очереди.  По этой причине главный программист (team lead) не может быть технологом, его знания и компетенции лежат в области конструирования (а также организации работы собственного хорошо известного ему коллектива - команды разработки). В то время как технолог или корпоративный архитектор (который в максимальной степени зависит от круга своих заказчиков или участников технологического процесса) должен обладать коммуникативными качествами по связыванию разнородных участников (зачастую ему совершенно не знакомых и весьма противоречивых) в единый слаженный процесс действий. В том числе технолог или корп.архитектор может руководить несолькими конструкторами одновременно.

Поэтому технолог/архитектор выбивает и контролирует бюджет на технологию, а team lead расходует его для достижения четко поставленной задачи. Технолог не работает по ТЗ, он должен его вымучать в ходе проектирования (в том числе с привлечением тимлида к выработке предварительных проектых решений). А team lead реализует ТЗ. Правда между ТЗ и началом его реализации есть еще ПРОЕКТ - детальный образ (модель, бумажный или иной прототип), согласованный технологом как с заказчиками технологии, так и с командой реализации фрагмента этой технологии, то есть информационной системы. 



Список статей