Мозг и когнитивные функции

среда, 16 июня 2010 г.

Мысли вслух


Некоторое время назад, мне приходилось заниматься архитектурной деятельность...

Причем, не опосредовано, как менеджер или исполнитель, а именно как системный архитектор/лидер группы/технический директор/играющий тренер. Не скажу, что это было что-то новое, это приходилось делать много и много раз до того. НО! тот раз был особый. И дело даже не в сложности задачи и не в фантастических и противоречивых бизнес требованиях, нет. Дело в обстановке, в которой приходилось это выполнять.

Вообще, системная архитектура - это всегда компромисс. Существует множество способов реализации и множество архитектурных решений поставленных бизнесом задач. Каждый способ имеет свои достоинства и недостатки. Сложность работы архитектора заключается в том, что бы правильно расставить весовые коэффициенты этим достоинствам и недостаткам. Иногда, мало значительный (для других) фактор архитектор оценивает как критический и делает выбор в пользу не популярного "в массах" решения. Однако, мало сделать выбор, необходимо еще за него и отвечать. Здесь степень ответственности такая же как у бизнеса. А допущенная архитектурная ошибка, и не правильно сделанный выбор (не верно расставлены веса) обязательно проявится потом. В виде невозможности расширения системы (из-за архитектурных ограничений) или выльется в большие затраты при переделке. Причем, чем раньше такие ошибки проявятся, тем они более дёшевы в исправлении. Отчасти, выявлению таких ошибок способствуют тестеры. Но что бы выявить такие ошибки тестеры должны быть ооочень профессиональными и иметь за плечами несколько таких самостоятельно построенных систем. Иначе, вероятность обнаружения архитектурных ошибок не высока, а количество "возможных проблем" поглотит даже здравый смысл (+ истерия).

Дак, что же делать, если такая ошибка, все же, была допущена? Именно случилась, а не искусственно создана. Что делать, если такая архитектурная ошибка была допущена и проявилась? Мое личное мнение - гнать такого "архитектора". В больших системах, стоимость допущенной ошибки соизмерима с ошибкой сапера на минном поле. Хотя, конечную стоимость ошибки определяет бизнес, но архитектор не имеет права на ошибку (так же как не имеет такого права директор). Однако, я встречал человека, который именовал себя по всякому и старался быть в каждой "дырке пробкой". Он, в частности, практиковал 2-ва принципа (думаю и сейчас практикует, такое не лечится): "лучше перебдеть, чем недобдеть" и "не бывает единственно правильного решения, и вы правы и вы правы". Для меня он стал примером абсолютной некомпетентности при колоссальной работоспособности. Никогда, а тем более в архитектуре сложных систем, не занимайте позицию "ни вашим ни нашим" или "и тем и другим". Правильная архитектура - это смесь пограничных решений, за которые и отвечает архитектор! Кстати, для того человека, стоимость его ошибки так и не была им воспринята адекватно (его просто выгнали из компании которую он же и основал).

К чему я расписываю такие банальности? Нет в этом ничего нового и необычного - факт. Необычной, для меня, была обстановка в которой приходилось заниматься своей профессиональной деятельностью. Дизайнить большую систему когда тебя подставляют, БЕЗ требований и в окружении блатных бездарей (пытающихся навязать вам который из протоколов или технологий следует использовать) - это сущая ерунда, если у вас есть вербальный канал получения информации от заказчика (бизнеса). Когда вы можете напрямую задать вопрос и получить на него ответ. А когда в голове уже сложилась мозаика того "что же хочет бизнес", остается рутина. Остается просто расписать это (если надо в сценариях, если надо в UML, если надо в коде). Но, когда ... лишают вас единственного (хоть и вербального) канала получения информации и "мозаика не сложена" - вы будете вынуждены изобретать абсолютно круглого коня в вакууме.

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

P.S.
Любые совпадения с реальными людьми, компаниями и проектами случайны и не имеют ничего общего с реальностью.