Рубрикатор |
Статьи |
Александр ГОЛЫШКО Александр ГРУНИН Денис ГУЖВЕНКО | 19 января 2018 |
Системный архитектор: первый после Бога
Системный архитектор – интересная и крайне важная профессия в современном мире, имеющая отношение не только к ИТ.
Правильно мыслить более ценно, чем многое знать.
Джон Локк
Джон Локк
Как сегодня, так и в обозримом будущем системные архитекторы будут наиболее востребованным и дефицитным ресурсом в любой быстро развивающейся отрасли, особенно в сфере системной интеграции. Причем о зрелости управления в той или иной организации можно судить по степени и качеству использования системных архитекторов. И по оценке их труда тоже. Во многом именно поэтому в получении информации о профессии системного архитектора заинтересована значительная часть молодых специалистов, у которых все еще впереди. А что именно?
Если вы считаете, что Создатель не был первым системным архитектором, то можете не читать дальше эту статью.
Вряд ли кто-то будет спорить с тем, что все окружающее нас великолепие нашей технической цивилизации и подавляющее число всяческих инноваций от лопаты и компьютера до космических кораблей, роботов и искусственного интеллекта придумано, спроектировано, создано, поддерживается и непрерывно модернизируется всемирным сообществом инженеров. Впрочем, если вы убеждены, что на самом деле все это придумано, создано и т.п., например, исключительно пролетариатом или выпускниками МВА, придется либо принять сказанное выше на веру либо дочитать до конца.
О компетенциях
Разумеется, инженеры обладают различными специализациями, навыками, кругозором, компетенциями и опытом. И если выстраивать из них пирамиду с учетом всего этого, то наверху окажутся люди, именовавшиеся ранее главными конструкторами, но сегодня в разных организациях их чаще называют системными, иногда комплексными архитекторами, или бизнес-архитекторами, что по сути то же самое. Но главное -- это то, что под этими названиями понимают те, кто их произносит.
Вокруг понятия «системный архитектор» существует много терминологической путаницы. Термин «системный» может происходить от двух понятий -- от собственно «системы» и от «системного подхода», что в современном мире отнюдь не одно и то же. Поэтому при разговоре о системных архитекторах следует вначале уточнить, о каких именно архитекторах идет речь. Например, такая проблема возникает, когда говорят об интернете, который на самом деле существует одновременно в трех ипостасях: как сеть сетей, как всемирная информационная база данных и как бизнес-площадка. Порой люди могут долго спорить и доказывать что-либо, пока не выяснится, что обсуждаемые ими проблемы находятся в совершенно разных плоскостях и практически ортогональны (рис. 1).
Рис. 1. Ортогональная правда
Отметим, что это пример всего лишь двух проекций истины. Сетевик видит интернет как совокупность маршрутизаторов, соединенных каналами связи, и оконечных устройств, подключенных на «последней миле». Инфраструктурщик знает о наличии телекоммуникаций, но отдает приоритет тому, на чем хранится передаваемый по сети контент и чем он генерируется. Разработчики часто зашорены рамками сред (разработка, тест, предпродажи, готовая продукция) и т.д. Системный же архитектор обязан видеть и понимать и всех вышеперечисленных персон, и пользователя, который листает ленту социальной сети, и бизнесмена, который владеет этой соцсетью, и еще массу задействованных в процессе людей. В целом он обязан понимать, что кому и от кого нужно.
Применительно к системным архитекторам различных ипостасей гораздо больше. В самом простом случае «продвинутый» инженер является специалистом по конкретной системе и знает, что из нее можно построить и где ее можно применить. Да, его иногда называют системным архитектором, но он является «воином света» исключительно на своем поле. Этим полем может быть система/системы конкретного поставщика или же системы, которые производят многие поставщики, но со своими особенностями (например, системы коммутации или системы управления базами данных). В некоторых зарубежных компаниях такие специалисты называются дипломированными инженерами, а у нас -- ведущими инженерами.
Основным содержанием профессии системного архитектора является системный подход и системное инженерное мышление. В огромном количестве проектов обычно сосуществуют множество разнотипных систем и различных решений, что предполагает наличие специалистов более высокого уровня. Соответственно, системное инженерное мышление -- это использование системного подхода в инженерии. В свою очередь, системную инженерию можно определить как совокупность способов создания успешной системы (т.е. удовлетворяющей все потребности заказчиков, пользователей и прочих стейкхолдеров) на базе междисциплинарного подхода, подразумевающего работу с различными инженерными специальностями.
Система может представлять собой все что угодно от комплекса информационных систем до целых промышленных предприятий (промышленных групп), включая технологические и производственные процессы, логистику, бизнес-процессы, а также оборудование и здания. И если для ведущего инженера системой является, скажем, серверная ферма, объединенная в вычислительный комплекс средствами инфраструктурного ПО, то для системного архитектора система -- работающий комплекс, где такая ферма представляет собой небольшой агрегат. Например, крупный торговый центр, эксплуатируемый компанией, у которой оптимально укомплектован штат персонала, оптимально подобрано соотношение собственного кадрового состава и подряда/аутсорса, спроектированы и внедрены все необходимый системы (информационные, инженерные, парковочные, системы безопасности…), разработан оптимальный план взаимодействия с арендаторами… Причем ИТ-инфраструктура тут занимает далеко не первое место по объему задач. Иными словами, системный архитектор решает бизнес-задачу, а система для него -- предприятие, организация, отрасль… со всеми процессами, людьми и механизмами.
Соответственно, и междисциплинарный подход подразумевает работу не только с инженерными специальностями, а со всеми специальностями, которые будут необходимы для реализации той или иной системы (проекта). В частности, если взять всем известную госкорпорацию «Роскосмос», то в реализуемых ею проектах нетрудно увидеть место как для инженеров-механиков, инженеров-электронщиков и инженеров-строителей, так и для ракетчиков, баллистиков, криогенщиков, психологов, медиков, астрономов, связистов, программистов, финансистов, юристов и пр. И каждому проекту понадобятся системные архитекторы разных уровней. Как понять, что именно вам понадобится в конкретном проекте?
Видеть суть проблемы
Не секрет, что для решения любой проблемы необходимо использовать знания, часто глубоко профессиональные, причем набор нужных профессий для каждой проблемы специфичен. Порой это создает впечатление, что проблемы специалистов в каждой отрасли сильно отличаются друг от друга. На первый план выходит специфика проблем, заниматься которой могут все, вплоть до кризисных менеджеров. Разумеется, для решения конкретной проблемы нужны специальные, иногда очень глубокие профессиональные знания. Но есть и другой подход, называемый системным анализом. Это некий универсальный алгоритм действий по решению проблем, пригодный в любой профессии, которым и пользуется в своей повседневной практике системный архитектор. Вероятность успеха повышается, если следовать одним и тем же советам, независимо от природы проблемы, если обращать внимание не на содержательную специфику конкретной проблемы, а на технологию работы с нею, на последовательность действий и предосторожностей по части исследования рисков и т.п.
Технологию прикладного системного анализа часто сравнивают с чемоданчиком слесаря, содержащим набор необходимых инструментов и приспособлений. Помимо инструментов в своей работе мастер использует знания, применяемые в определенной последовательности. Важная особенность прикладного системного анализа состоит в учете различий между проблемами осознанно формализованными (вплоть до построения математических моделей) и проблемами слабо структурированными, рыхлыми, излагаемыми в терминах разговорного или описательного профессионального языка, что, кстати, весьма характерно для немалого количества бизнес-заказчиков.
К примеру, доводилось ли вам слышать слово «хотелки»? Вот довести «хотелки» до проекта без системного архитектора крайне сложно. Между заказчиком и исполнителем возникает пропасть. Если они сильно потянутся друг к другу, то, возможно, желаемое случится. Однако бывают еще и «мычалки», когда заказчик не может толком объяснить, что ему нужно, у него просто есть проблема и он хочет, чтобы все работало, но не знает, что для этого надо делать. В общем, опять нужен системный архитектор.
Итак, основной инструментарий системных архитекторов, как говорится, налицо, и теперь надо лишь научиться им пользоваться. Последнее, правда, обычно занимает целую жизнь, когда растут компетенции, «набивается рука» и неизбежно совершаются ошибки. Именно опираясь на свой опыт, знания и предыдущие ошибки (причем не только свои), системный архитектор может научиться создавать что-то стоящее. Даже больше -- системный архитектор просто обязан учиться не только на своих ошибках, но и на ошибках окружающих. Конечно, нельзя стать экспертом во всех отраслях или технологиях, но без способности накапливать чужой опыт как свой системным архитектором не стать. А способность впитывать чужие знания и опыт имеет другой полезный выход -- креативность. Посему системный архитектор -- человек творческий и с изощренным мышлением.
Архитектурное многообразие
Возвращаясь к иерархии архитекторов, заметим, что помимо специалистов по конкретным решениям конкретных производителей можно встретить архитекторов по конкретным технологиям и сервисам, по конкретным направлениям или какой-либо предметной области: по телекоммуникациям и ИТ, по системам управления и ПО и т.д. и т.п. Локально каждого из них могут даже называть системным архитектором, но это будет соответствовать истине только в случае, если кроме ниши, в которой работает данный архитектор, в проекте ничего больше нет. В противном случае кто-то другой должен будет находиться на вершине, с которой виден весь проект во всем разнообразии решаемых задач. Это и будет настоящий системный архитектор, или же главный архитектор проекта. То есть специалист, обладающий множеством компетенций в разных областях с большим опытом реализации разных проектов. Причем именно с точки зрения разносторонней технической реализации, а не руководства ими.
Часто в литературе (еще чаще в интернете) системным архитектором называют архитектора программного обеспечения (часто это «тимлид», выросший в прикладного архитектора), что, конечно, верно и весьма уважаемо среди программистов. Но задолго до того, как к проекту приступят программисты, системные архитекторы более высокого порядка должны выстроить архитектуру всего проектного решения, декомпозировав его на составляющие с пониманием того, какие технические проблемы будут решены в каждой из них и какие связи будут между ними, какие информационные системы понадобятся. Затем будут составлены спецификации, по которым начнут работать инженерный состав и руководитель проекта. Разумеется, для всего этого недостаточно быть просто инженером, и уж тем более -- просто руководителем проекта. Первому для начала надо приобрести большой опыт в самых разных областях проектного бытия, а из второго, увы, никакого системного архитектора не получится в принципе (он «заточен» на решение совсем других задач). Напротив, системный архитектор должен хорошо представлять работу руководителя проекта, которому он предоставляет, по сути, если не дорожную карту всего проекта, то как минимум ее черновик. Говоря другими словами, системный архитектор подставляет руководителю проекта свое плечо. И в такой связке у них все получится.
Когда требуется системный архитектор?
В практической деятельности часто возникает вопрос: когда в проект необходимо привлекать системного архитектора и на каком этапе? На рис. 2 изображено глобальное поле проектной деятельности с дифференциацией проектов по объемам поставки продукции и необходимых изыскательских, проектных и прочих работ. Синяя линия на рисунке показывает условную «границу применимости» системных архитекторов. Есть проекты, требующие минимальных ресурсов, когда предусмотрена просто поставка оборудования, когда идет подготовка конкурса или когда весь проект может быть выполнен силами стороннего подрядчика. Есть проекты, подразумевающие большой объем разнообразных работ, включая строительство, значительные поставки оборудования и пр. И, конечно же, встречаются исключения из правил.
Рис. 2. Глобальное поле проектной деятельности исполнителя
При появлении проекта важно сразу же оценить его сложность и комплексность. Если проект связан, скажем, с организацией ЛВС, установкой серверов и реализацией каких-либо виртуализированных функций, включая поддержку, которые можно без труда специфицировать уже на начальной стадии, то привлечение к такому проекту системного архитектора (а это, как правило, ресурс недешевый) будет неэффективным. В этих случаях возможно привлечение прикладных сетевых архитекторов, специалистов по виртуализации, но никак не комплексных системных архитекторов.
Если в проекте просматривается более одной темы (помимо, например, организации ЛВС с соответствующими подключениями) и планируются, допустим, строительно-монтажные работы, то необходимо уточнить его содержание на верхнем уровне. Для этого следует дополнительно изучить требования заказчика и, возможно, провести дополнительные интервью, в результате которых всплывут какие-нибудь скрытые до тех пор обстоятельства. Здесь уже может понадобиться системный архитектор. Впрочем, если проект не выходит за рамки компетенций одного подразделения исполнителя, то будет вполне достаточно и инфраструктурного архитектора.
В любом проекте, в реализации которого принимает участие системный архитектор, последний должен иметь всю картину происходящего и должен следить за соблюдением требований заказчика, чтобы предложенное решение соответствовало установленным договором нормам качества и это соответствие не потерялось в процессе реализации. Именно системный архитектор первым понимает (а чаще определяет) последовательность проектирования и исполнения проекта и может не только контролировать, но и оптимизировать сроки его исполнения. Косвенно он может оптимизировать и стоимость проекта, поскольку вопрос оптимизации последней довольно часто возникает в процессе практически любого проектирования. Именно системный архитектор в первую очередь может указать, где можно сэкономить и что при этом получится со сроками, качеством и т.п.
Если рассматривать проектную деятельность системного архитектора в целом, то он предлагает верхнеуровневое решение, декомпозированное по следующим задачам для проектировщиков:
- соответствие решения (результата проекта) требованиям заказчика (решение бизнес-задачи заказчика);
- декомпозиция работ между исполнителями (собственными и подрядными) и авторский надзор;
- контроль работоспособности и качества решения в целом;
- оптимизация стоимости решения.
В изображенной на рис. 3 «пирамиде» показана декомпозиция задач комплексного проекта и приведено условное распределение обязанностей исполнителей. Как видно, в рамках системного подхода системный архитектор и руководитель проекта должны идти «рука об руку».
Разумеется, в общем случае каждый слой «пирамиды» предъявляет требования к лежащему ниже, что может создать иллюзию возможности несистемного подхода или принципиальной ненужности комплексных архитекторов. Мол, инженеры каждого слоя напишут технические требования для «нижерасположенных» коллег и все само собой образуется. Все было бы так просто, если бы не заказчик, который зачастую отнюдь не ограничивается требованиями к бизнес-процессам, а хочет (именно хочет!) иметь определенную ИКТ-инфраструктуру, конкретную вентиляцию и кондиционирование (к примеру, обязательно надо уметь управлять отдельными кондиционерами в ЦОДе), прозрачные лифты на стене здания, а также само здание. Впрочем, хорошо, когда клиент прямо заявляет о своих пожеланиях. Ведь желания могут присутствовать в неявном виде, что обязан распознать и перевести в понятные технические требования именно системный архитектор, имеющий в голове всю картину целиком.
РП – руководитель проекта
ГИП – главный инженер проекта
Рис. 3. Декомпозиция системных требований к комплексному проекту
Кстати, то же здание вполне может определяться бизнес-требованиями. Скажем, инвестиционный банк логично разместить в центре Москвы (где есть масса проблем с коммуникациями и пр.), а не где-нибудь в спальном районе (даже если оно там обойдется раз в 10 дешевле), что скорее всего и предложат инженеры. Отдельная «песня» -- требования к безопасности, многочисленные угрозы которой множатся на глазах, и компетенции клиента по этой части также непрерывно увеличиваются. Поэтому возникающие на типовом проекте реальные требования целесообразно рассматривать так, как изображено на рис. 4, и разрешить их все можно только в рамках системного подхода.
Возвращаясь к рис. 3, следует уточнить, что при отсутствии особых пожеланий заказчика насчет строительства и обустройства инженерных систем с созданием таковых вполне может справиться главный инженер проекта без привлечения системного архитектора.
На профильных форумах порой можно встретить рассуждения о том, что важность наличия в проектах системного архитектора (обычно на самом деле больше интересует его стоимость) сильно преувеличена и, мол, для полного счастья достаточно иметь несколько грамотных инженеров и программистов с разной специализацией. С такой позицией не нужно спорить, а надо лишь предложить этим замечательным людям написать, например, концепцию или стратегию развития какой-либо отрасли или сложного производства вроде так называемого цифрового предприятия с учетом сопутствующих трендов, бизнес-процессов, цифровых моделей, логистики, поддержки, новых бизнес-моделей и пр. (подобные задачи все чаще встречаются в практике системных интеграторов), и все станет на свои места.
Рис. 4. Разнообразие требований в типовом проекте
Enterprise-архитектор
Его еще называют корпоративным архитектором. Он является alter ego системного архитектора компании -- исполнителя проекта, но со стороны компании-заказчика.
В самом деле, кто-то «с той стороны» должен хорошо понимать, как исполняется заказанный проект, а также знать архитектуру всех систем собственной компании, вписывать в нее новые фрагменты, не говоря уже о перманентной корпоративной модернизации. В оптимальном случае в процессе выполнения проекта системный архитектор и enterprise-архитектор должны тесно взаимодействовать.
Что в итоге?
В настоящее время есть большая путаница с глоссарием, который по части архитекторов у всех разный. Кроме того, в принадлежности к престижной профессии всегда есть момент тщеславия, и зачастую люди стремятся называться архитекторами, дабы пользоваться большим почетом. Сия путаница реально осложняет поиск архитекторов (это весьма дефицитная специальность) сотрудникам кадровых служб, и ими же создается хаос, когда публикуются описания вакансий.
Еще раз повторим, для системного архитектора система -- это работающий бизнес, работающее предприятие, работающий сервис. Даже если системный архитектор выполняет проект по разработке некой информационной системы, он прорабатывает не просто саму систему, а результат ее работы. Он решает бизнес-задачу, используя технологии и меняя процессы, а не строит систему из ПО и «железа». Разница тут примерно такая же, как между задачами «построить железную дорогу и пустить поезда между двумя населенными пунктами» и «обеспечить железнодорожное сообщение между двумя населенными пунктами». Многие займутся тем, чтобы построить дорогу и пустить поезда, некоторые продвинутся дальше и лишь системный архитектор задумается о том, чтобы оценить пассажиропоток, продумать расписание, размер и типы составов, типы и размеры станций и остановочных пунктов, количество билетных касс, способы и контроль оплаты, обеспечение льготного проезда, возможность/необходимость перевозки грузов по этой линии, предусмотреть регламентные работы для составов и ж/д путей, безопасность объектов в соответствии с требованиями ГО и ЧС и их доступность для инвалидов… Чувствуете разницу?
Очевидно, приведенной выше информации достаточно, чтобы понять, кто такие системные архитекторы и какими знаниями и умениями они должны обладать, чтобы оценить их роль на всем протяжении проектной деятельности от экспертизы до реализации. Соответственно вышесказанное должно учитываться и в разнообразной управленческой деятельности. Ведь об ее эффективности судят в том числе по уровню использования института системных архитекторов.
Впрочем, как бы ни развивалось сообщество системных архитекторов, кое-что ему пока недоступно. Взять хотя бы известный проект, который Создатель сумел эффективно реализовать всего за семь дней. Есть чему учиться и куда стремиться, чтобы быть где-то рядом. Правда, на это иногда уходит целая жизнь, но такова уж профессия. И неудивительно, что «редкая птица» из системных (комплексных) архитекторов бывает моложе 30 лет. Что делать, чтобы стать ей?
Учиться, учиться и еще раз учиться!
Александр Голышко, системный аналитик, ГК «Техносерв»
Александр Грунин, начальник управления системных решений, ГК «Техносерв»
Денис Гужвенко, системный архитектор, ГК «Техносерв»
Заметили неточность или опечатку в тексте? Выделите её мышкой и нажмите: Ctrl + Enter. Спасибо!