Share via


Что должен знать и уметь архитектор

Такой вопрос мне задают часто, и кулуары Software People 2010 не были исключением. Проблема в том, что часто те, кто задают такой вопрос, ограничиваюся первой его частью "что должен знать" или формулируют его даже несколько иначе - " какие технологии надо знать архитектору?". Вопрос, имхо, в корне неверный. Знание технологий "не освобождает...", в сочетании с опытом построения и, что принципиально важно, развёртывания систем - необходимое, но инедостаточное условие to be recognized в качестве архитектора. Кроме того, есть еще один важный момент - а о каком именно архитекторе идет речь? том, кто пишет конкретный софт (system или solution architect)? отвечает за решение по автоматизации целого подразделения или области деятельности (domain или LoB architect - от "line of business"), или определяет технологическую политику организации в целом в роли enterprise architect? пресловутый scope, область ответсвенности, уровень архитектуры (application, infrastructure, information/data, ...) - имеет значение, и требования к знаниям и навыкам серьезно зависят от этого.

Чтобы легче было сориентироваться начинающим специалистам, которые ставят себе цель, да и почерпнуть что-то полезное тем, кто давно уже выступает в роли архитектора, хочу обратить внимание на интересную с моей точки зрения часть TOGAF - The Open Group Achitecture Framework (см. TOGAF online)

Полезность предлагаемого TOGAF ролевого фреймворка заключеся в том, что охватываются и общие навыки (т.н. soft skills) и экспертиза в тех или иных областях (конечно, без детализации до уровня знаний конкретной библиотеки классов или продукта ;-), например:

Generic Skills

 

IT General Knowledge Skills

 

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

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

The TOGAF Architecture Skills Framework identifies four levels of knowledge or proficiency in any area 

Конечно, ни один фреймворк не является истиной в последней инстанции. Есть и второй, причём неплохо согласованный с TOGAF :-)

Это - IASA - International Association of Software Architects (базовый уровень членства в которой, кстати, бесплатен) предлагает свой взгляд на "уровни зрелости" навыков, необходимых архитекторам:

Хотя IASA и ограничивается именно программными системами, с другой стороны - предлагает и соответствующий инструмент оценки, включающий описания соответствующих навыков:

Конечно, любая оценка в стиле assessment или тем более self-assessment не является абсолютно объективной. Тем не менее - это полезный инструмент, особенно в сочетании пусть и не полным "сводом знаний", позиционируемым как библиотека к своду знаний IASA IT Architect Body of Knowledge - ITABOK
Library
(таким же сводом, кстати, в определенной степени можно считать и тот же TOGAF, являющийся может быть и даже более систематизированным).

Microsoft Architecture JournalИ, наконец, завершая такую небольшую вводную часть о навыках архитекторов, я рекомендую интересный материал, опубликованный членами шведского отделения IASA в недавнем номере Microsoft The Architecture Journal :

A Study of Architect Roles by IASA Sweden

В нём, как мне кажется, достаточно хорошо описываются архитектурные роли Enterprise Architect, Business Architect, Solution Architect, Software Architect.