Web-архитектор: что это за зверь и «стоит ли овчинка выделки»?

20 января 2012, 10:35
День добрый, друзья! :) Как-то, работая над довольно крупным web-проектом и в который раз переписывая часть кода из-за того, что структуру новых разделов приходилось как-то сочетать со старыми, ко мне пришла мысль о том, что изначальное продумывание архитектуры проекта могло бы реально съэкономить не один десяток человеко-часов. Однако, чтобы сделать это, нужно достаточно хорошо разбираться как в самом проекте, так и в имеющихся технических средствах (CMS, framework'ах, ajax-библиотеках и т.п.), чтобы суметь понять, какие инструменты будут оптимальными для решения данных задач и как именно должна быть построена структура системы с тем, чтобы всё в результате работало без "костылей" и каких-то вынужденых компромисов. По идее, подобную роль должен выполнять team-lead, отвечающий за проект, но не всегда он будет достаточно компетентен или знаком с конкретной системой для того, чтобы всё досканально продумать и принять верное решение. Соответственно, возможно, будет целесообразным привлечение на начальном этапе стороннего человека, способного, зная ТЗ (в которым, будь оно хоть на 500 страницах, всё равно будет описана система со стороны пользователя, а не со стороны программиста) и имеющиеся в наличии инструменты спроектировать архитектуру будующей системы, накидав каркас и детализировав наиболее важные и ответственные узлы, а также описав технологии, которые целесообразней использовать в решении данной задачи. Ну а дальше уже можно программировать и быть более-менее уверенными, что в конечном итоге система будет успешно запущена и её можно будет легко доработать или расширить (что порою не менее важно). typical_web_application_architecture Понятно, что до всего можно дойти самостоятельно, но это будет стоить потеряных времени (а для фирмы, соответственно, денег) и нервов. Полагаю, подобный подход совсем не исключает личное творчество и саморазвитие, но при этом помогает сделать это быстрее за счёт использования успешных идей (как те же паттерны, но в ещё более глобальном смысле). Если при этом архитектор чётко и доходчиво объясняет всю идею команде, и, в случае чего, выступает консультантом - то вложения в него должны быть вполне оправданы. В связи с этим хотелось бы узнать ваше мнение по данному вопросу: может ли вам понадобиться такой человек или вы всегда обходитесь своими силами? P.S. Заметил, что на субботним phpDev также будет подниматься подобный вопрос, тем более интересно его немного обсудить заранее ;)
подписка на главные новости 
недели != спам
# ит-новости
# анонсы событий
# вакансии
Обсуждение