Существуют ли индивидуальные решения в веб-разработках?
Спросите на любом более-менее посещаемом IT-шном форуме: «На чем лучше сделать мой веб-проект (интернет-магазин, сообщество, корпоративный портал и пр.)?». Общественность моментально расколется надвое – часть участников будет советовать вам какие-то готовые решения, CMS различной степени специализированности, а часть непременно и со значением скажет: «Самый лучший вариант – написать с нуля под заказ. Тогда оно будет полностью соответствовать вам и вашей задаче!».
Так вот, как бы логично ни выглядели эти слова, в 90% случаев это абсолютная неправда!
Холивар
Вопрос о том, что лучше использовать – решения готовые или индивидуальные, относится к категории «религиозных войн». Сторонники каждого из подходов готовы часами отстаивать свою правоту. Одни кричат, что чем каждый раз велосипед изобретать, проще взять готовое и настроить под себя. Другие упорствуют, что чем пытаться разобраться с чужой логикой, лучше свою нагородить.
Однако, в отличие от словесных баталий поклонников разных браузеров, в этом споре истина нащупывается чуть проще.
Итак, рассмотрим факты и аргументы.
Индпошив
Что может быть лучше костюма, сидящего точно по фигуре? Вещь, которая полностью соответствует не только вашему телу, но и вашему характеру, ведь хороший портной – он и психолог, и художник, и поэт… Так и сайт, созданный заботливыми руками мастера с нуля по вашему вдохновенному техзаданию, нежно обволакивает ваш бизнес, окружает вас негой и любовью… В то же время бездушные «коробки» вываливают на вас свои жесткие шаблоны и заготовки, давят в тисках предопределенности, не дают полностью раскрыться вашей индивидуальности!
Примерно так говорят сторонники индивидуальных решений. При этом обычно подразумевается, что мастер – всегда с большой буквы М, а готовая CMS – это непременно малофункциональная поделка.
Но так ли это на самом деле?
…только в профиль.
Вот типичный путь хождения заказчика сайта за индивидуальным решением.
Вначале приходит понимание того, что «Нужен сайт!». Скажем, интернет-магазин. Потом начинаются поиски исполнителя, и самый главный вопрос, который интересует в это время заказчика (помимо сроков и цены): «А вы что-то подобное раньше делали?». Можно ли заказать написание серьезного интернет-магазина людям, никогда за такую задачу не бравшимся? Ответ очевиден: нет, нет и еще раз нет.
Итак, техзадание согласовано, предоплата внесена, процесс пошел. Заглянем программисту через плечо. Вот Мастер, написавший с нуля уже не одну дюжину магазинов, усаживается в эргономичное кресло, взмахивает гибкими пальцами над клавиатурой, и… Но что мы видим? Вместо того, чтобы открыть «Блокнот» и вывести гордое <HTML>, он открывает свои наработки с прошлых проектов и копирует их в ваш… Собственно, тем и ценен для разработчика его опыт: однажды решив некую задачу (успешно сделав свой первый магазин), он будет копировать это решение в последующих для экономии времени и уменьшения риска ошибок. И постепенно будет добавлять туда все новые и новые элементы.
Более того, чаще всего в процессе индивидуальных разработок у разработчика создается своя собственная, так называемая «внутренняя» CMS, включающая готовые решения типовых задач, с помощью которой и строятся сайты. Этот факт прямо подтверждает рейтинг Tagline-2008: согласно опросу, CMS в работе использует 95% российских веб-студий, из них 68% пользуются «внутренними» системами управления.
Что же это получается? Индивидуальное-то решение на поверку оказывается вполне типовым, только никому не известным! Так вокруг чего же столько копий ломалось? Почему столько пафоса вокруг индивидуальных решений?
А этот вопрос находится уже в плоскости психологии. Туда и переместимся.
Ручная работа!
Основных причин, по которым индивидуальные решения еще массово держат свои позиции, три. Все они так или иначе завязаны на психологический фактор, и все они являются по сути своей ошибками.
Причина первая – «индивидуальную» работу легче продать дороже. Действительно, на первый взгляд гораздо проще назначить высокую цену за написание с нуля, чем объяснять, почему это работа по созданию сайта на готовой системе обойдется дороже ее стоимости.
Однако опыт вполне высокооплачиваемых партнеров таких систем, как NetCat и 1С-Битрикс, показывает, что проблема здесь не в объективной ситуации, а всего лишь в том, что менеджеры «студий индпошива» не умеют донести до клиента смысл и содержание их работы.
Причина вторая – индивидуальное решение привязывает клиента к разработчику, не давая ему возможности уйти в другую студию. То есть студия получает постоянного клиента не потому, что тот так доволен услугами, а потому, что в получившемся продукте никто больше не разберется.
Порочность этой практики очевидна – довольные клиенты и так не уходят от своих партнеров, а недовольный, но не имеющий возможности уйти без проблем клиент способен превратить жизнь студии в ад.
Причина третья – российские программисты в массе своей не верят в умственные способности своих коллег :(.
От готовых CMS изначально ожидают невероятных глюков и жестких ограничений, в то время как неказистость собственных разработок воспринимается естественной и даже милой.
Это приводит к тому, что студии тратят дорогущее время своих разработчиков на создание и совершенствование внутренней системы вместо того, чтобы сосредоточиться на выполнении собственно заказов.
Пилот Косяков
Качество любой CMS напрямую зависит от уровня профессионализма его разработчиков, это очевидно. Однако есть и нюанс – в разработке «внутренней» системы участвуют только сотрудники данной студии, а «коробочную» CMS совершенствуют еще и сотни разработчиков, использующих эту систему в своей работе (через обратную связь с производителем).
В итоге уровень качества «коробочной» системы зачастую значительно выше, чем у «внутреннего» продукта.
Неположенные удовольствия
Что получает клиент, выбирающий индивидуальные решения? В теории – продукт «по фигуре». А на практике? На практике такое решение часто становится ограничителем развития: если через некоторое время появляется желание расширить проект за счет новых функционалов или сервисов, может оказаться, что «индпошив» не расширяем, проект придется серьезно переделывать.
Кроме этого, у «коробок» значительное преимущество в скорости разработки: в них из-за необходимой универсальности изначально заложен избыточный функционал. А вот при индивидуальных решениях, если у разработчиков в практике не было каких-либо задач, присутствующих в проекте, им придется в буквальном смысле разрабатывать решение с нуля, фактически заставляя заказчика оплачивать их обучение.
Удобство пользователя, как ни странно, тоже часто приносится в жертву при индивидуальном подходе. «Внутренние» CMS чаще всего не имеют удобных для пользователя инструментов управления, поскольку создаются в первую очередь для удобства разработчика. Соответственно, удобный и красивый интерфейс управления нужно спроектировать и создать. Это стоит денег, и не всегда заказчик готов их заплатить, считая, что он привыкнет, разберется и так далее. В то же время в серьезных системах пользовательские интерфейсы присутствуют изначально как обязательный элемент.
Не все «коробки» – одинаково «коробки»
Важное отступление. Возможности различных «коробочных» систем различны. И наиболее продвинутые из них представляют собой не столько готовые решения для сайтов, сколько целую среду разработки, с готовыми шаблонами и неограниченной свободой творчества.
На отечественном рынке системами такого класса, безусловно, являются два лидера – CMS NetCat и 1С-Битрикс. Эти системы очень сильно отличаются друг от друга (совершенно разная архитектура, инструменты, функционал модулей и состав редакций), но объединяет их одно – они позволяют создавать проекты, полностью соответствующие задаче пользователя, без создания велосипеда с нуля, но с большими возможностями дальнейшего безболезненного развития.
Так есть ли жизнь на Марсе?
Итак, возвратимся к вопросу, вынесенному в заголовок. Существуют ли индивидуальные решения в веб-разработках? Да, существуют. Но их не более 10%. Это проекты со специфическими задачами, для которых готовые системы управления сайтом никак не подходят. Например, нет смысла переводить на «коробку» Яндекс. Или, скажем, пытаться написать на ней полноценный «Клиент-банк». Или посадить на готовую CMS управление абонентами сотового оператора. Совершенно очевидно, что все названные проекты требуют других технологий. Но, как правило, под такие задачи готовые CMS и не рассматриваются изначально.
Оставшиеся же 90% проектов – это разработки, подаваемые как индивидуальные, но на деле являющиеся внедрениями внутренних CMS студий-разработчиков. И в подавляющем большинстве случаев все они могли бы быть реализованы с помощью стандартных инструментов серьезных «коробочных» систем за меньшие деньги и меньшее время. И с гораздо большим потенциалом развития в будущем.
Так что, в очередной раз слушая волшебный рассказ о точном соответствии сайта вашей фигуре, вспомните – где-то вы уже про это читали…
Андрей Коновалов, руководитель проекта «HR-Info.ru – сеть кадровых ресурсов».
Опубликовано в журнале «Терминал.ру – первая полоса Рунета