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

Apply Services Litmus TestsBusiness Process AnalysisBusiness Rule AnalysisBusiness Use Case Analysis (SOA)Construct Architectural Proof-of-Concept (SOA)Data Model AnalysisExisting Asset AnalysisАрхитектурный анализНазначение приоритетов вариантов использованияОбъединение существующих структурных элементовОпределение механизмов проектированияОпределение элементов проектаОценка жизнеспособность концепции архитектурыПостроение доказательства концепции архитектурыСоздание описания архитектуры среды выполненияСоздание описания вариантаСоздание структуры модели реализацииGoal-Service ModelДоказательство концепции архитектурыДокумент архитектуры программного обеспеченияИнтерфейсКонтрольная архитектураМодель анализаМодель проектированияМодель развертыванияМодель реализацииПротоколСигналСобытиеРазработчик_архитектуры

Дополнительно выполняет
Изменяет
    Использование процесса
    Основное описание

    Разработчик архитектуры принимает ключевые технические решения, которые выражаются в форме программной архитектуры. Сюда входит определение и внесение в документацию архитектурно значимых параметров системы, включая требования, оформление, реализацию и способы развертывания.

    Разработчик архитектуры также указывает причину принятых решений. При принятии решений необходимо учитывать потребности различных заинтересованных лиц, минимизировать технический риск и контролировать их взаимное соответствие.

    Персонал
    Квалификация

    "Идеальный архитектор - книгочей, математик, знаток истории, прилежный последователь философии, знаком с музыкой, не игнорирует медицину, обучен праву, знает астрономию и разбирается в астрономических вычислениях." - Vitruvius, circa 25 г. до н. э.

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

    • Опыт как в области решаемой задачи, что влияет на полноту понимания требований, так и в области создания программного обеспечения. Если в разработке архитектуры принимает участие несколько сотрудников, эти качества могут быть распределены между ними, но как минимум один проектировщик должен обладать полным видением проекта.
    • Навыки лидера - требуются для направления усилий коллектива, для принятия критических решений под давлением и для обеспечения их выполнения. Разработка будет эффективной в том случае, если разработчик архитектуры и руководитель проекта работают вместе, причем в ведении разработчика архитектуры находятся технические вопросы, а в ведении руководителя проекта - административные. Разработчик архитектуры должен обладать правами, достаточными для самостоятельного принятия технических решений.
    • Коммуникабельность - необходима для установления доверительных отношений, убеждения, мотивировки и наставления других участников проекта. Решения архитектора программного обеспечения будут эффективно выполняться лишь в том случае, если с ним согласен весь коллектив проекта. Эффективная работа разработчика архитектуры возможна только в том случае, если он заслужил уважение со стороны коллектива разработчиков, руководителя проекта, заказчика и сообщества пользователей, а также управляющего коллектива.
    • Целеустремленность и активность с жесткой нацеленностью на результат. Разработчик архитектуры должен направлять техническую сторону разработки, а не изобретать призрачные проекты. Успешная карьера разработчика архитектуры представляет собой длинную цепочку условно оптимальных решений, сделанных без уверенности и под давлением. При работе над проектом успеха могут достигнуть только люди, способные сконцентрироваться на задачах.

    Что касается необходимого опыта, разработчик архитектуры должен обладать способностями Проектировщика. Однако разработчик архитектуры, в отличие от проектировщика:

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

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

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

    Дополнительные сведения