High level IT Design

Главное, о чем бы мне следовало написать в блоге об архитектуре информационных систем это High level IT Design (HLD). Мы придумали этот документ в 2006 году. Придумали потому, что осознали необходимость наличия краткого высокоуровневого технического описания продукта, проекта или комплексного изменения информационных систем. Сначала это был документ в вордовом формате. Несколько лет назад мы развернули MediaWiki и стали разрабатывать HLD в виде web-страниц, но сути это не меняет.

Что бы понять, что же такое HLD, надо посмотреть, как устроены процессы развития в современной организации. С одной стороны, у вас есть некоторое количество проектов, программ и инициатив, влияющих на корпоративный ИТ ландшафт. С другой стороны, сам этот ландшафт состоит из большого количества довольно изолированных информационных систем. Процессы развития систем, что не удивительно, привязаны к самим этим системам. Т.е. у каждой системы есть свои внутренние или внешние разработчики, которые вносят в неё изменения, исправляют дефекты, поддерживают документацию и т.д. Потому и ИТ-услуги обычно привязаны к конкретным системам. Однако предоставляемые компанией услуги поддерживаются совокупностью нескольких информационных систем и потому требования обычно пишутся не на какую-то конкретную информационную систему, а на продукт в целом. Собственно, задача HLD и заключается в том, чтоб провести декомпозицию таких требований на некоторое число информационных систем.

Задача эта, на самом деле, достаточно нетривиальная, т.к. большинство требований не может быть реализовано одним приложением, а требует согласованной работы нескольких систем. (Кстати, именно поэтому интеграция приложений является основным инструментом корпоративной ИТ архитектуры). Обычно HLD имеет следующий формат:

Сначала идет большая картинка, включающая задействованные в проекте информационные системы и взаимодействия между ними. Большинство бизнес-пользователей считает, что этой картинкой HLD и исчерпывается.

Для более погруженных в тему экспертов во втором разделе HLD приводятся сценарии взаимодействия между приложениями. Для их описания мы используем use-case-ы в стиле Алистера Коберна. Эти сценарии не документируют внутреннее поведение систем, а ограничиваются описанием взаимодействия: абонент отправляет SMS-сообщение, приложение по протоколу SMPP получает сообщение с SMS центра и вызывает по протоколу HTTP метод подключения услуги в системе X… Не смотря на свою лаконичность такое описание может занять больше страницы, а в одном сценарии могут оказаться задействованными с десяток систем.

Но все это нужно для того, чтоб в HLD появился следующий раздел, называемый «Влияние на ИТ системы». Влияние на ИТ системы — это таблица, описывающая какие из систем потребуют доработки или настройки для реализации проекта. Это любимый раздел проектного менеджера, по сути – готовая структура работ или чек-лист, рассказывающий к кому надо бежать и чего надо хотеть, чтоб проект запустился.

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

В принципе в HLD разделов может быть еще очень много. Каждое функциональное подразделение может прийти к нам и сказать: мы хотим включить в ваш документ раздел «Влияние на [нужное вписать]» и архитекторы пойдут им на встречу. Главное правило – каждый эксперт отвечает за свой раздел и не лезет с «добрыми советами» к другим соразработчикам HLD, требуя от них отразить в документе что-либо.

Это если говорить о HLD вкратце. На самом деле, за семь лет мы написали несколько сотен HLD, поделились этой техникой с другими операторами связи и просто хорошими компаниями. И каждый новый High Level Design привносит некоторую свою толику понимания того, что же должен делать корпоративный ИТ архитектор.

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

w

Connecting to %s