Меню
Эпизод #9. Архитектура и роль Архитектора в IT проекте.
Подробнее

Эпизод #9. Архитектура и роль Архитектора в IT проекте.

Архитектура и роль Архитектора в IT.

Мы переходим к освещению экспертных ролей, которые касаются непосредственно разработки.
ИТ-архитектор — это роль, которая решает, как в конечном итоге будет выглядеть информационная система.
На начальном этапе он принимает формализацию процессов от Бизнес Аналитика (бизнес требования).
Формирует архитектуру решения, определяет ее Компоненты:

  • Функциональные блоки.
  • Форматы данных и способы обмена данных между компонентами.
  • Технологический стек.
  • Инфраструктура (нагрузка и бесперебойность работы). 

Описывает все вышеуказанные процессы в определенном формате документов, которые становится компонентом технического задания для разработчиков.
Далее, в процессе разработки за этой роли — задачи архитектурного надзора.

Цена ошибки Архитектора.

Чтобы наглядно показать всю значимость роли Архитектора,на примере одного из наших проектов, мы покажем какова цена его ошибки. 

К нам обратился клиент по рекомендации.
Ситуация, с которой столкнулся наш клиент — классическая:
Клиент запустил MVP, бизнес начал набирать обороты и через какое-то время система встала (или легла, кому как удобнее).
Запрос к нам состоял не только в разработке системы, но и прежде всего, в анализе того, что произошло.
Когда посмотрели, стало очевидно, что система спроектирована начинающим архитектором.
Это как в стройке: задача поставлена построить небоскреб, а фундамент заложили под сарай.

Как Архитектор влияет на успех проекта? Как понять, что Архитектор качественно реализует свою роль?

 Качественная проработка архитектуры решения очень важна для общего успеха проекта. Ведь это позволяет избежать целого ряда проблем, например:

  • Несовместимость используемых технологий.
  • Невозможность масштабирования решения.
  • Отсутствие гибкости при дальнейшем использовании / модификации решения.

Есть много примеров, когда компаниям приходится переделывать / затевать масштабные изменения только из-за того, что поторопились на этапе архитектурной проработки. 

Здесь стоит отметить, что Архитектор – архитектору рознь, и просто наличие подобной функции в процессе не гарантирует качество проработки. 

Существует стереотип, что архитектура – это постоянный креатив. Однако, это не так.
Требуется детальное понимание технологической стороны, погружение в бизнес задачу и тд. Тем не менее, есть целый пласт рутины, про который не нужно забывать. Это:

  • Документация по проекту
  • Постоянная работа с командой

Контроль не только за «красотой» решений, но и за экономической целесообразностью.

Между MVP проектами и Enterprise Архитектурой есть целый спектр различных задач и приоритетов. 

Фокус в стартап MVP проектах — эффективный запуск первой версии.

Главное:

  • Функциональная архитектура модулей
  • Бизнес логика
  • Модели данных
  • Технологический стек

Здесь, как правило, мы исходим из понятий микро-сервисной архитектуры.
Инфраструктурные компоненты на данном этапе —  коммодити, где ДевОПс уже работает стандартными решениями облачных сервисов.

Что должен знать и уметь Архитектор? Какие навыки нужно в себе развивать, для того, чтобы стать хорошим Архитектором? И нужно ли например Архитектору уметь писать КОД?

  • Все компании, с которыми мы работали, понимали важность этой функции и архитекторы всегда были в наличии, однако, были абсолютно разные примеры, как по персоналиям, так и по технологическим навыкам.
  • Качественный архитектор должен детально понимать ИТ на уровне концепций, возможных протоколов обмена данными и методов интеграций и т.д. Однако, основной фокус и критерий успеха – это наличие качественных soft skills, которые являются необходимыми для работы с командой и бизнес заказчиками, а также экспертами и подрядчиками с рынка.
  • Нужно ли при этом уметь программировать? Абсолютно необязательно. Есть большое количество примеров хороших архитекторов, которые вышли из системных инженеров, железячников, либо продуктовиков.
  • Главное, чтобы был живой интерес к ИТ трендам, желание постоянно расширять свои познания и понимание разных концепций и, как уже отмечалось выше, умение выстраивать качественный диалог со всеми участниками процесса.

 Можно ли организовать работу так, чтобы роль Архитектора была совмещена с какой-то еще ролью в проекте

Принципиально – это то, что данная роль необходима. Архитектор совмещается с Тех-лидом, Team Lead и Senior разработчик по направлениям. Т.е. в микро-проектах это может быть “играющий” тренер. 

P.S.

Очевидно, ошибки совершенные архитектором могут дорого стоить всему проекту.

  • Умение предвидеть все потребности системы в развитии и при этом помнить об экономической целесообразности.
  • Способность делать выбор между готовыми типовыми и уникальными креативными решениями.
  • Стремление следовать не только своему замыслу, но и потребностям различных групп стейкхолдеров — все это набор качеств профессионального архитектора.
20.06.2020