Блог компании «СИТЕК»
Кто такой функциональный архитектор и зачем он нужен предприятию?
В данной статье отражено субъективное мнение автора, основанное на личном опыте.
В последние несколько лет в российской деловой среде активно развивается тренд на привлечение архитекторов в сфере бизнеса. Наиболее часто встречаются:
- корпоративный архитектор;
- бизнес-архитектор;
- системный архитектор;
- технический архитектор;
- функциональный архитектор;
- IT-архитектор.
При этом перечисленные роли могут интерпретироваться по-разному в каждой конкретной организации. Сегодня существует большое количество форумов, телеграм-каналов и других сообществ, участники которых делятся друг с другом своим опытом, видением различных проблем и задач и пытаются прийти к единому пониманию ролей и функций каждого архитектора.
Конкретики на данный момент очень мало. Профессиональные стандарты архитектора ПО, например, определяются соответствующими нормативными актами, но даже в них четко не раскрывается разделение ролей в зависимости от выполняемых архитектором в конкретной организации задач и границ его зоны ответственности. Поэтому в данной статье я буду интерпретировать роли и задачи архитектора, исходя из своего личного опыта и опыта моих профессиональных коллег в среде «около 1С».
Если представить архитекторов в виде структуры и компетенций, то образно можно выделить:
- Уровень предприятия. В данном случае речь обычно идет о бизнес-архитекторе или корпоративном архитекторе, который обладает стратегическим бизнес-мышлением и полностью погружен в сферу деятельности предприятия. Такой специалист всегда в курсе всех изменений регламентирующего законодательства, которое влияет на деятельность его компании. Он планирует и осуществляет управление предприятиями и укрупненными процессами внутри них. При этом роль такого архитектора сегодня присутствует далеко не на всех предприятиях.
- Уровень организации. Это технический и функциональный архитектор – профили у данных специалистов различаются, так как цели и компетенции у них разные. Технический архитектор определяет IT-ландшафт организации, обеспечивая бесперебойность и производительность систем внутри нее, а также их масштабируемость по мере роста компании. Функциональный архитектор утверждает реализацию бизнес-процессов всей организации на функциях систем, находящихся внутри IT-ландшафта. Я намеренно указала в одном пункте оба типа архитекторов, так как практически всегда они работают «в связке».
При построении планов архитектуры предприятия, на мой взгляд, важно предусмотреть связи между слоями бизнес-функция-система и верно оценить ограничения на всех уровнях. Если реализация этих планов не позволит достичь бизнес-целей предприятия, требуется изменение плана или переопределение целей.
Вернусь к первоначальной цели данной статьи: постараться рассказать, кто же такой функциональный архитектор и зачем он нужен. В некоторой степени задачи функционального архитектора соотносятся с часто встречаемой сегодня на предприятиях функцией Solution Architect.
Говоря о функциональном архитекторе, обращусь к словарю за значениями терминов архитектор и функция, так как первоначально они пришли к нам из других языков.
- Архитектор (от греч. Architekton, где Archi – старший, Tekton – строящийся и дерева) – лицо, строящее план здания и надзирающее над его постройкой.
- Функция (от лат. Functio) – отправление каким-либо органом ему одному свойственных действий (в физиологии) или величина, зависящая от другой переменной величины (в математике).
Если переложить эти значения на язык IT и основываться на тезисах выше, я бы это описала следующим образом:
Функциональный архитектор — это лицо, которое строит и контролирует план реализации бизнес-процессов предприятия в системах в рамках IT-ландшафта, исходя из целей предприятия.
Здесь важно понимать, что бизнес-процессы делятся по направлениям (продажи, закупки, склад, логистика, производство и прочие), и каждый специалист внутри своего направления проектирует систему, в зависимости от задач и целей, поставленных на уровне данного направления.
На верхнеуровневом слое архитектуры и на стыке направлений могут быть выявлены неэффективные связи, нестыковки или дублирование операций. Это может потребовать от предприятия реализации организационных или технических изменений.
С техническими изменениями все понятно – это модернизация или модификация оборудования (при необходимости, но чаще всего) и поддерживающих деятельность предприятия учетных систем и сервисов. Когда же речь заходит об организационных изменениях, возникают вопросы. Постараюсь объяснить, но сначала приведу еще одну интересную цитату:
К чему это я? Дело в том, что для небольшой компании организационные изменения проходят относительно легко, руководители влияют на процессы внутри своих подразделений, транслируя общую цель и мотивируя сотрудников. Но чем крупнее предприятие, тем сложнее система коммуникаций – для трансляции целей чаще используются регламенты, инструкции и прочие документы. Для таких предприятий реализацию организационных изменений могут выполнить сторонние компании, осуществляющие услуги по СМК, бережливому производству – в этом случае можно уменьшить противоречия между архитектурами организации и системы.
Вернусь ко второй части главной темы данной статьи: зачем же предприятию может быть нужен функциональный архитектор?
Функциональный архитектор нужен, когда есть необходимость «стыковки» функциональных областей, направлений и/или приложений, сервисов – это минимум. Исходя из потребностей и целей бизнеса, архитектура может иметь монолитную архитектуру или разделенную на продукты и сервисы.
Так, к примеру, управление автотранспортом может быть выделено в виде отдельного продукта, «общающегося» с основным монолитом, а может быть внутри этого монолита в качестве подсистемы. Логистика исполнения бизнес-процессов должна быть оптимально построена таким образом, чтобы достигать поставленным целям и при этом стремиться обеспечить принцип «один пользователь – одна система».
Система взаимодействия функциональных областей и используемых приложений может быть представлена в виде схем в нотациях, используемых и понятных в зависимости от того, кто является их потребителем. Может быть представлена несколькими схемами, а может быть представлена на одной схеме. Это определяется, в том числе, исходя из сложности схемы и вариативности использования нотаций (dfd, uml, bpmn, c4, archimate…).
Существует большое количество инструментов, которые используются архитекторами при проектировании моделей. Лично я в своей работе использую Draw.io – инструмент, который на интуитивно понятном языке решает для пользователя содержание и связи функциональных областей, систем и приложений. Инструмент не является универсальным и не покрывает всех потребностей, однако он дает верхнеуровневое понимание функциональной архитектуры.
Ниже приведу простой пример применения инструмента для отражения архитектуры в разрезе приложений и в разрезе функциональных областей.
Архитектура в разрезе приложений:
Архитектура в разрезе функциональных подсистем:
Резюмирую: описанное выше – это далеко не все роли и задачи функционального архитектора. Но я постаралась обрисовать его главную цель: составить и реализовать проект архитектуры, при котором будут выполнены определенные требования в соответствии с существующими ограничениями на всех слоях. При этом «держим в уме», что архитектор еще и осуществляет надзор за проектом в части реализации модели. В зависимости от выбранной методологии внедрения и используемых методик поставки результатов, функциональный архитектор может осуществлять свою деятельность на различных этапах внедрения.
Автор статьи: Стефанишина Людмила – ведущий специалист проектного отдела.
Дата публикации статьи 23.11.2022.
Подпишитесь на нашу рассылку
и получите еще больше статей от экспертов по 1С!
Что должен уметь программист 1C?
Здравствуйте! Публикуем авторскую статью Дмитрия Котлова — сертифицированного 1С-специалиста, руководителя проектов, эксперта по технологическим вопросам. Также Дмитрий является автором и руководителем нового профессионального курса OTUS «Программист 1С», с программой которого мы приглашаем вас познакомиться.
Привет! В своей статье я расскажу о том, какие специалисты нужны для внедрения 1С, какие задачи они выполняют, какие компетенции нужны для качественного выполнения проекта. Отдельно и подробнее поговорим про требования к программистам.
Для начала перечислим позиции специалистов:
- Руководитель проекта
- Архитектор
- Консультант
- Программист
- Специалист по качеству (по тестированию)
Чем занимаются перечисленные специалисты?
Руководитель проекта
В зависимости от конкретной компании обязанности следующие:
- Составление плана проекта и контроль его реализации, могут быть различные планы: по срокам, по качеству, по финансам(бюджет)
- Взаимодействие с заказчиком по плану планам проекта
- Участие в продаже проекта
- Взаимодействие с командой проекта на предмет выполнения проекта и решения административных вопросов
- Координация выполнения работы и их приёмки
- Выбор оптимальных конфигураций 1С для решения задач клиента
Архитектор
В зависимости от конкретной компании обязанности следующие:
- Разработка и описание архитектуры 1С
- Участие в пресейлах
- Техническое руководство проектом
- Контроль качества разработки
- Выявление и управление техническими рисками проекта
- Оценка объёма работ
- Участие в разработке ТЗ, ЧТЗ, ТП, требований к архитектуре
- Организация процесса разработки
- Анализ качества продукта
Консультант
В зависимости от конкретной компании обязанности следующие:
- Консультирование по функционалу
- Участие в пресейлах
- Определение бизнес-требований, планирование подхода к работе с требованиями
- Выявлять, анализировать и документировать требования
- Доводить требования до заинтересованных лиц, управлять проверкой требований
- Обеспечивать расстановку приоритетов требований
- Ставить задачи программистам и принимать результат выполнения
- Проведение обучения
- Проведение приёмо-сдаточных испытаний, демонстрация продукта заказчику
- Сдача и согласование документации с заказчиком
Программист
В зависимости от конкретной компании обязанности следующие:
- Обновление информационных баз
- Реализация доработок в соответствии со стандартами разработки
- Участие в совещаниях
Специалист по качеству (по тестированию)
В зависимости от конкретной компании обязанности следующие:
- Ввод тестовых данных в систему
- Написание сценария тестирования
- Фиксация результатов тестирования
- Анализ результатов тестирования, формулирование выявленных проблем
- Обсуждение сценариев и результатов тестирования, изменение сценариев по результатам обсуждений
- Написание документации по результатам тестирования
- Развитие инфраструктуры для обеспечения качества
- Выполнение ручных и автоматических тестов
- Участие в сборе и анализе бизнес-требований к продукту
Довольно часто этот функционал пересекается в одной позиции. Например, если в компании один программист 1С, не принято привлекать подрядчиков для выполнения проектов, тогда весь данный функционал ложиться на одного человека либо распределяется между ним и другими подразделениями, в рамках которых происходит внедрение продукта.
Далее подробнее разберём позицию «Программист»
Начнём с того, какие уровни программистов бывают. В каждой компании уровни программистов могут подразумевать разный уровень знаний и умений, зависящих от задач, которые будут стоять перед разработчиками.
Программист-стажёр — вакансия, как правило, подразумевает нулевой опыт работы с 1С, возможность интенсивно обучаться. Чаще всего такие вакансии есть в компаниях-партнёрах 1С.
- Установка программного обеспечения
- Обучение клиентов
- Участие в тестировании
- Участие в качестве ассистента во внедрении
- Программирование
- Прохождение обучения
- Сдача тестов и экзаменов на сертификацию
- Желание развиваться
- Общительность
- Инициативность
- Умение излагать свои мысли, грамотная речь
- Желателен опыт с 1С
- Желательно знание бухгалтерского учёта
Программист 1С – позиция подразумевает определённый опыт работы и отсутствие необходимости обучать специалиста программированию, т.е. на неё ведётся поиск людей, которые уже умеют программировать и могут самостоятельно решать задачи.
- Доработка конфигураций
- Разработка конфигураций под задачи компании
- Написание новых отчётов, обработок
- Интеграция 1С со внешними системами
- Обновление доработанных конфигураций
- Опыт работы от года
- Высшее образование
- Знание типовых конфигураций (конфигурации те, которые есть в компании или с которыми предстоит работать)
- Знание языка запросов
- Знание СКД
- Умение писать правила обмен с помощью конфигураций 1С: КД 2.0/3.0
- Знание универсальных механизмов обмена данными
- Понимание REST запросов и HTTP сервисов.
- Умение программировать на управляемых формах
- Понимание клиент-серверного взаимодействия
- Знание основных бизнес-процессов предметных областях (в зависимости от того чем занимается компания)
- Опыт работы с БСП
- Умение работать с чужим кодом
- Умение работать с хранилищем конфигураций
- Знание методик разработки
- Опыт реализации функционала на мобильной платформе 1С
- Способность работать в команде
- Навыки оптимизации кода
Ведущий программист 1С – специалисты, которые способны не только самостоятельно решать задачи, но и руководить другими программистами, а также подсказывать им оптимальные пути решения задач, осуществлять факторинг кода.
- Разработка нового функционала
- Подготовка сборок и релизов по выполненным задачам
- Настройка сервера 1С Предприятие
- Декомпозиция, распределение и постановка задач разработчикам
- Обновление не типовых конфигураций
- Оптимизация производительности 1С
- Разработка обменов данными между 1С и внешним ПО
- Знание типовых конфигураций (тех что есть в компании)
- Опыт работ от 3-х лет
- Высшее образование
- Понимание клиент-серверной архитектуры
- Опыт написания обменов посредством HTTP, web сервисов, FTP
- Опыт разработки мобильных приложений на мобильной платформе 1С
- Умение переключаться между задачами
- Умение работать в команде
- Знание СКД, КД, БСП, XDTO
- Опыт работы с технической документацией и её написания
- Опыт руководства программистами
- Опыт ревью чужого кода
- Опыт работ с системами учёта турдозатрат
- Отличное знание языка программирования 1С и встроенного языка запросов
- Опыт работы с хранилищем конфигурации 1С
- Опыт работы с расширениями
- Опыт оптимизации запросов
Итак, в статье я описал наиболее часто встречающиеся обязанности и требования. Бывает и специфика, например, если по факту в компании отсутствуют аналитики, то зачастую программисты исполняют их обязанности.
Также, если вам интересно развиваться в данной сфере, не пропустите прямую трансляцию мастер-класса «Разбор стандартов и методик разработки на платформе 1С». Я расскажу о стандартах и методиках разработки 1С и покажу, зачем они нужны. А также вы сможете самостоятельно привести код в соответствии со стандартами и методиками 1С!
Какой он. Архитектор 1с
Какими навыками и знаниями должен обладать претендент по позицию архитектора?
Я не имею в виду Спеца по платформе,Эксперта и Спеца-консультанта по решению. Что помимо этого?
Тот, у кого хватит сил сказать
"зачем сделали это *о*но! переделывайте вот так"
у меня два спец-конса по конфе, базовые принципы которой (а именно направления деятельности в укз) я не понимаю
Я считаю, что архитектор должен знать паттерны проектирования.
1Сники вроде как о них не слышали даже.
Хотя БСП вроде на них сделана.
Сам я знаю только "чейн оф респонсибилити", и то в коде встретив её, не узнаю.
(14) я делал отдельные подсистемы для торговли и производства
спец по платформе очень помогает, чтобы нормально спроектировать
(21) в силу особенностей региона у меня нет проектов на 500 пользователей, так может быть и да, задумался бы над сдачей
у нас на фирме есть эксперт, в случае чего к нему за помощью обращаемся и этого полностью хватает.
в 1С все понятия смещены в разные стороны под разными углами ))
Архитектор должен обладать видением всей системы в текущий момент и пониманием, куда, как и каким образом оно развивается дальше.
И в соответствии с этим он уже может формулировать те или иные верхние требования к модулям и подсистемам программы
сертификаты тут полезны, если только именно про это решения они и есть — чисто для расширения кругозора )))
сертификатов по специализации "архитектор" в 1С нет
усилю — часто отмечают, что архитектор уже почти не кодит (о, ужас!!)
у него другие задачи и инструменты
ему надо думать над структурой базы данных
(15) а в каком виде оформляешь результаты работы?
Это какие-то документы, схемы, UML, схемы БД, потоки данных?
И что потом с этим делают? Куда эти результаты у вас подаются на вход?
самый главный признак архитектора — умение предугадать и заложить в систему основы функционала который позволит безболезнено пройти значительный рост компании как в верх так и вглубь через 3..5 лет.
все остальное вытекает из этого.
(0) ИМХО. Архитектор должен донести до всех участников процесса проектирования что его приемы самые оптимальные для решения прикладной задачи.
ну сертификаты не обязательны, нужно просто хорошо знать 1с, очень хорошо уметь управлять ресурсами которые будет использовать система.
На проектах архитектор занимается
а) сводом всех ФТ в единую картину, разработку (внезапно!) архитектуры решения
б) контроля исполнения этой архитектуры со стороны аналитиков, и со стороны программистов
Собственно, требования
а) отличное знание внедряемого продукта, сертификаты, опыт
б) умение разговаривать с заказчиками и аналитиками языком бизнеса
в) умение разговаривать с программистами языком алгоритмов и метаданных
г) знание методологии разработки, жизненный цикл ПО
д) знание аналитических инструментов — СППР, IDEF0 и т.д.
(58) idef 0 мёртв как по мне,
(0) смотря какой объем проекта, если методический, то типовые решения, если разработческий, то разработку, если смешанный, то обычно 2человека
(59) ничо не мертв. Просто у него есть определенная область применения. Мертвы попытки засунуть его везде, где ни попадя, в частности — для описания бизнес процессов.
Мертв скорее IDEF3, т.к. это попытка скрестить ежа с ужом, которая ничего не выигрывает ни у какой другой нотации описания бизнес процессов. Но IDEF3 и IDEF0 — это разные вещи, не смотря на то, что у них 90% букв одинаковые
(58) (46) (40)
почему мне кажется, что вы говорите о руководителе проекта., а не об архитекторе?
з.ы. Мне кажется — что на проектах до 100 активных пользователей выделенный архитектор — вообще особо не востребован.
И только на базах с сотнями и тысячами юзеров важны именно навыки архитектора в части принятия решений и прогнозирования их последствий в случае дальнейшего масштабирования задачи.
То есть — задача архитектора обобщить и взвесить входную информацию и определить — мы делаем 1 общий регистр — у нас будут медленнее собираться отчеты, но быстрее проводиться документы, или мы сделаем 16 регистров под каждый отчет, но документы препроводить вообще не будем. Или сделаем 1 регистр, будем перепроводить документы, но отчеты будем собирать в зеркальной базе. Или разделим юзеров на 100 узлов и пусть каждый в своем узле перепроводится. А в центральный забираем только готовые проводки.
Ну по крайней мере я так понимаю функцию архитектора.
Лучший Архитектор, правда не 1С, но это не важно:
(77) Я же не говорю что в этих системах совсе не нужны архитекторы. Они нужны там гораздо реже — скорее на уровне реакции на инциденты, чем на уровне проектирования системы с 0.
Роль архитектора в команде внедрения
Архитектор на проекте выполняет ключевую роль. В зависимости от величины проекта, архитекторов на проекте может быть два. Обычно это функциональный и технический архитектор.
Функциональный архитектор отвечает за методологическую часть проекта, а технический архитектор за ИТ-структуру системы и качество написания кода.
В подчинении у функционального архитектора, находятся руководители групп внедрения (РГВ). Руководитель групп внедрения обычно отвечает за определенный блок учета. Если говорить про внедрение системы ERP, то руководители групп внедрения – это специалисты по своему участку учета, например, РГВ по МФУ, РГВ по закупкам и РГВ по продажам.
У РГВ есть в подчинении консультанты, которые, в свою очередь, работают на конкретных задачах в рамках своего блока. Задачи для консультантов ставятся РГВ.
У технического архитектора в подчинении – программисты, которые работают по ТЗ, подготовленному консультантом. ТЗ должно быть согласовано с РГВ. Функциональный и технический архитекторы проверяют каждое ТЗ на стыковки со смежными блоками. После проверки ФА и ТА, документ передается программисту для разработки. ТА проверяет написание кода программистами и предлагает при необходимости более универсальное решение реализации ТЗ, которое подготовил консультант.
В идеале функциональный архитектор должен работать напрямую с руководителем группы внедрения, т.е. прорабатывать методологию и стыковки всех блоков внедряемой информационной системы. Если нарисовать схематично структуру команды проекта, то она будет выглядеть следующим образом:
Структура команды проекта внедрения информационной системы
Для достижения положительного результата проекта внедрения информационной системы лучше всего работать по схеме снизу-вверх, т.е. РГВ проводят совещания с консультантами, потом передают информацию ФА, который в свою очередь общается с ТА для выработки совместного решения по архитектуре информационной системы. РГВ должен проводить статусы проекта с консультантами. На статусе контролируются сроки выполнения поставленных задач консультантам и разбираются предметные вопросы, которые возникают у консультанта при подготовке ТЗ для разработки.
2. Взаимодействие в команде проекта
Для контроля выполнения поставленных задач можно использовать специализированные системы управления проектами внедрения. Такие системы содержат в себе учет временных затрат по каждой задаче, диаграмму Ганта и т.д.
Взаимодействие консультанта и программиста заключается в уточнении деталей по согласованному ТЗ. Часто консультант не знает конфигурацию на уровне кода и необходимо взаимодействие с программистом при написании ТЗ.
Одну из ключевых ролей на проекте, конечно, выполняет Руководитель проекта, т.к. на плечи РП ложиться ответственность за взаимодействия руководителями групп внедрения с Заказчиком и функциональным и техническим архитекторами.
Часто на проекте возникают конфликтные ситуации внутри групп внедрения. Задачи РГВ, Архитектора, РП разобраться с конфликтом и настроить команду внедрения на рабочий режим.
Бывают случаи, когда РП должен включатся в построение архитектуры информационной системы, т.к. ФА и ТА не могут достичь взаимодействие между собой. В этом случае РП необходимо принять решение о смене ФА или ТА. Тут хочу сказать, что это крайняя мера, т.к. это может привести к увеличению стоимости и сроков проекта, что отрицательно скажется на работе всей проектной команды.
Функциональный и технический архитекторы являются ключевыми фигурами проекта, т.к. от них зависит целостность внедряемой системы. Допущенная ошибка архитектором может привести к некорректной работе внедряемого решения. К выбору Функционального и Технического архитектора должен грамотно подойти РП, т.к. эти специалисты ставят определяют сроки выполнения задач РГВ и далее эти сроки спускаются вниз к консультантам и программистам.