Отвечайте за свои решения И Чжоу

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

Как стать ответственным архитектором, принимающим эффективные архитектурные решения?

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

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

• Информация о решении передана исполнителям, а также тем людям, которых оно затронет (прямо или косвенно). Передача информации формирует единое для всех понимание сути решения.

Во-вторых, регулярно возвращайтесь к анализу своих архитектурных решений. Сопоставляйте результаты своих решений с исходными ожиданиями. Определяйте, какие архитектурные решения доказали свою правильность, а какие нет.

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

Наконец, доверьте принятие некоторых решений другим специалистам в предметной области задачи. Многие архитекторы ошибочно полагают, что они должны принимать все архитектурные решения без исключения, то есть играют роль экспертов «в чем угодно». В действительности универсальных технических гениев не бывает. У каждого архитектора есть области, в которых он хорошо разбирается, области, в которых он что-то знает, и области, в которых он попросту некомпетентен. Грамотный архитектор делегирует другим принятие решений в тех областях, в которых плохо ориентируется сам.


И Чжоу (Yi Zhou) в настоящее время работает главным архитектором программного обеспечения в широко известной биотехнологической компании, где проектирует программные платформы для медицинских устройств и персонализации управления ходом заболевания. Он обладает почти 20-летним опытом, охватывающим все стадии цикла разработки ПО, и специализируется на согласовании бизнеса и технологий, стратегическом планировании, совершенствовании процессов, проектировании архитектур и инфраструктур, создании проектных команд и управлении ими, а также на консультировании.

Загрузка...