Методология разработки на 1С-Битрикс – опыт дурака. Разработчик битрикс


Методология разработки на 1С-Битрикс – опыт дурака / Хабр

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

Далее опишу основные проблемы, с которыми пришлось столкнуться в этом, и нескольких похожих, проектах, апробированные мною решения и результаты работ.

Исходные данные:

Разработкой программного обеспечения в целом, и web-проектов в частности, занимаюсь около 8 лет. За это время сталкивался с проектами различной сложности и, на первый взгляд, задаче не показалась мне слишком трудной. При выполнении проектов в нашей компании, как правило, применяется методология SCRUM. От нее я и начал отталкиваться.

Первым делом, получил доступ исходному коду проекта. Поверхностно проанализировал. Согласовал с заказчиком список первостепенных задач. Составил план разработки для 3х разработчиков и, как сказал Гагарин, поехали!

Проблема №1 – во всем виноваты разработчики
Как это обычно и бывает, во всем виноваты все, кроме заказчика. Дизайнер сделал макет, который слишком много весит, хостер предоставил сервер, который медленно работает, разработчики сделали сайт, который все время глючит и ломается, менеджеры выполнили какие-то задачи, которые мы выполнять не просили, после перехода со старой версии сайта на 1С-Битрикс произошло резкое снижение поискового трафика и т.д. Ситуация не однозначная. С одной стороны основная ответственность конечно же должна лежать на компании разработчике. Нужно было донести до заказчика последствия всех действий с сайтом и подготовить к результату. При выполнении работы предложить целостную архитектуру будущей системы и план разработки, которого нужно придерживаться до завершения основных этапов. Провести тщательное тестирование функционала и сдать работу. С другой стороны, не редко сталкиваюсь с ситуацией, когда заказчик все сам лучше знает, потому что у него мама когда-то рисовала, а посему является лучшим дизайнером, и его 7ми летний сын прекрасно разбирается в SEO-оптимизации, потому что все время проводит за компьютером, играя в GTA.

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

В результате:

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

Проблема №2 – параллельная разработка.
В соответствии с лицензионной политикой 1С-Битрикс, каждая лицензия на сайт позволяет использовать 2 копии системы. Одну, как продакшен сайт, вторую – для разработки. Проблема заключается в том, что разработка ведется несколькими, в моем случае, тремя, разработчиками непрерывно. В случае с классической разработкой все просто. Каждый разработчик занимается своим модулем. Затем проводится функциональное тестирование каждого модуля, все доработки сливаются в репозиторий какой-нибудь системы контроля версий, дальше это тестируется все вместе (интеграционное тестирование). Если результат нормальный –тестовая версия презентуется заказчику. После принятия тестовой версии происходит обновление продакшен-сервера. В соответствии с методологией SCRUM я определил, чтоб буду выкладывать новые версии на боевой сайт раз в неделю. Соответственно, есть 3-4 дня на основную разработку. 1 день на тестирование и исправление ошибок и пол дня на обновление боевого сервера. Сроки конечно колеблются, но правила «релиз каждый четверг» старался четко придерживаться.

Первое с чем столкнулся, в 1С-Битрикс есть ситуации, в которых один и тот же файл одновременно задействован в разном функционале в разных концах сайта. Самое простое и очевидное решение – использовать систему контроля версий, в моем случае, SVN, которым пользуюсь во всех остальных проектах. Но для использования контроля версий необходимо, чтоб у каждого разработчика была своя собственная версия кода, которую он правит и затем сливает общий репозиторий.

Как же быть с лицензией? Обратился в техническую поддержку 1С-Битрикс. Получил предложение докупить доп. лицензии для разработки. Мягко сказать, не обрадовался, но других предложений не получил. Выход нашел достаточно быстро. Решил использовать NFR-ключи. Благо, партнерский статус позволяет. В результате создал 5 исталяций интернет-магазина:

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

Сейчас использую следующую схему:

Из очевидных минусов такого подхода хочу выделить низкий уровень вовлеченности заказчика в разработку. Результат виден заказчику уже только на финальной стадии. Такой подход применим если у вас есть хороший аналитик, который редко ошибается и находится в постоянно контакте с заказчиком. Иначе, многие задачи придется переделывать с нуля.

По мере построения схемы столкнулся с еще одной проблемой. Проект занимает на диске около 80Гб. Без кеша и временных файлов – около 60. Пытался по началу убрать картинки и видео из контроля версий – не получилось. Информация на сайте меняется постоянно. Тестировать нужно на актуальных данных. Первый комит сайта в репозиторий у меня шел кусками более 2х суток. Первый чекаут в папку для разработки проходит несколько часов (SVN сервер в локальной сети разработки). Если, не дай бог, случайно сделать полный апдейт папки проекта – можно уходить курить, обедать, играть в пинг-понг или керлинг. Комит только выбранных файлов или папок проходит достаточно быстро. Решение: выполнил задачу – закомить сразу десяток измененных файлов.

Проблема №3 – обновление продакшен-сервера и совместная работа с заказчиком
Проблема самая важная, сложная и, до конца, не решенная. Ведь если остальные проблемы относятся к внутренней кухне проекта, то от работы сайта зависит репутация и доход заказчика, а, следовательно, и мой доход.

Тут отлично работают законы Мерфи:

Я, конечно, утрирую, но в каждой шутке есть доля шутки. Минимальная нагрузка на сайт с 4 до 6 утра. Обновлять в это время конечно бы лучше, но уж очень не хочется.

В случае большинства веб-приложений есть четкая структура разделения приложения на слои и обновление сайта можно разделить на 2 части:

В случае с 1С-Битрикс все немного сложнее. Во-первых, файлов много. У меня в проекте их более миллиона. Обычный апдейт из репозитория проходит никак не меньше 20-30 минут. Можно конечно апдейтить только измененный файлы, но тогда теряется весь смысл репозитория. Во-вторых, и это куда более печально, часто при апдейте приходится делать ручные изменения и настройки через админку. А это всегда медленно, нужно помнить все изменения, которые необходимо выполнить, велика вероятность случайно ошибиться. Можно, конечно, написать SQL скрипт, который сам внесет все нужные изменения в базу. В простейших случаях, разумеется, так и делаем. Но в большинстве случаев написание и отладка такого скрипта занимает больше времени чем сама разработка и намного больше времени, чем выполнение всех действий вручную с последующей проверкой.

Хорошего решения проблемы пока не нашел. Сейчас обновляем настройки в базе вручную. Для минимизации ошибок составляется чек-лист со списком что нужно сделать при апдейте. Обновление стараемся производить максимально внимательно и аккуратно. После обновления всей командой проверяем основной функционал продакшен сервера и проводим дополнительное тестирование. Количество ошибок минимизировано, но полностью от багов и простоев при обновлении избавиться пока не получилось.

Второе, с чем столкнулся, это совместная работа с заказчиком. Т.к. проект большой, над ним постоянно трудится около 30 человек. Контент-менеджеры, менеджеры по продажам, SEO-оптимизаторы, маркетологи и много еще кого. Естественно, каждый вносит в страницы сайта и настройку модулей какие-то изменения. Первым решением было забрать права у заказчика на внесение изменений в программный код сайта. Решение абсолютно правильно, но стало только хуже. Если раньше заказчик предполагал, что он так же может зайти на сайт и случайно что-то сломать, то теперь все шишки стали сыпаться только на нас. При чем. Даже если контент-менеджер криво отредактировал текст на странице и не закрыл какой-то тег – все равно виноват разработчик. Решение нашлось довольно простое. В маркетплейсе есть бесплатны модуль по контролю версий страниц. Проблему это не убрало, все равно кто-нибудь время от времени что-то да наплужит, но зато теперь появилась возможность посмотреть в любой момент времени кто менял, что менял и почему все сломалось. Результат, конечно, не ice, но кучу нервов мне экономит.

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

Проблема №4 – «сделайте мне срочно, это же задача на 5 минут»
Проблема относится не столько к 1С-Битрикс, сколько к доработке и поддержке работающих проектов. Часто у заказчика возникает желание сделать какую-то мелочь, но срочно и сразу на боевом сайте. Результат всегда один – ничего хорошего из этого не выходит. В лучшем случае, об этой доработке просто забудут при очередном релизе, в худшем – сервер просто упадет и его придется несколько часов восстанавливать из бекапа.

Решение нашел только одно – никогда не идти на поводу у заказчика в ущерб надежности и безопасности. Как бы заказчик не просил, виноват всегда будет разработчик. Как говорил мне мой бывший начальник: «Я же тебя не просил сделать плохо».

И раз уж затронули тему бекапов, хочу заметить. Бекап средствами 1С-Битрик это конечно хорошо и удобно, но очень медленно. В случае, если срочно нужно восстановить 1-2 файла или несколько значений в базе, приходится ждать пока разархивируются все 60 Гб. Здесь наиболее эффективной мне кажется следующая схема:

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

habr.com

Битрикс для бизнеса. Взгляд сисадмина, разработчика, директора

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

Часть 1: Устройство и технические свойства платформы   Часть 2: Идеология и архитектура платформы 1с-Битрикс. ООП, ORM, Паттерны проектирования, MVC   Битрикс для бизнеса. Взгляд сисадмина, разработчика, директора Возможности, требования и производительность

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

Вопросы изучения, освоения и внедрения

Небольшое лирическое отступление. Как я услышал слово “Битрикс”. Работал я программистом. Писались сайты, изучались новые штучки, думалось о своей cms. Было в общем комфортно.

И встретился мне один знакомый, который сказал что при всем уважении сайт он у меня заказывать не будет, а купил он Битрикс и уже все на нем сделал, только надо вот допилить что-то там. Вопрос стоял примерно так: ты ж программист? php знаешь? ну докрути. Читать документацию мне показалось делом лишним, да и много ее очень было. Задача выглядела простой: нужно было подправить шаблон постраничной навигации в списке элементов. Ну и чего тут читать, подумал я. Взял ftp-пароли и решил посмотреть как же система работает. Открыл index.php сайта и пошел require() открывать, читать, запоминать. Смешно самому сейчас, но Битрикс меня поразил тогда (версия была кажется 4 или 5). Я реально не смог таким путем понять где собственно html сайта. О том, что компоненты настраиваются с лица, я не додумался. Поиск куска html-кода, который собственно переодеть надо было, тоже ни к чему не привел. В итоге я провозился несколько дней, тыкался по форумам, даже какие-то советы находил, но в общем ничего не вышло. Через пару лет тот же знакомый попросил захостить на нашем сервере его сайт (уников 1000) на Битриксе. Наш тогдашний сервер почувствовал эту нагрузку очень серьезно. Мерилки попугаев тогда не было, насколько я помню. Я тогда очень гордился своим умением писать show processlist, находить длинные запросы и оптимизировать их путем создания индексов. Сами запросы я конечно не мог изменить. Лог запросов Битрикса меня тоже поразил тогда. Многое тупило и я кинулся создавать индексы. Сейчас не вспомню деталей, но кажется я возмущался что какая-то таблица имела индекса, который мне казался очевидным. Я остановил сайт, щедрой рукой наделал индексов и снова его запустил. Парадокс -- тупить начало больше. Оптимизировать настройки сервера мы не пытались тогда. Толком ничего не вышло с моими попытками. Общее первое впечатление: дикая, огромная, хаотичная система, к которой мои тогдашние представления о том, как работают сайты, не подходили. Ну то есть я делаю что привык, а впереди сплошные загадки. Я уже тогда начинал понимать зачем столько наворотов и что они наверное неспроста, но тем не менее работать с системой я отказался наотрез.

Мне кажется, это очень типовой пример. Программист-энтузиаст (уместна аналогия с водителем, отъездившим год без аварий и начинающим вести себя как профи) говорит: “ща все будет” и начинает делать что привык. А к чужим системам привык он применять лом, гвоздодер и кувалду.

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

Итак, разберемся с тезисами, которые обсуждаются чаще всего. 1.    Это монструозный продукт с кучей ненужных наворотов. Его функционал избыточен.

Действительно, если сравнивать объем функций Битрикса с чем-то другим в вебе (кстати, непонятно сравнение с чем будет адекватно), получается что тут есть много из того, чем и не пахнет в других системах. Я говорю о документообороте, обучении, бизнес-процессах, send&save, установщиках, социальной сети, интранете и прочем. Слова эти вы наверняка слышали и без меня, поэтому перейдем от маркетинга к сути.

+ Функций много. Если надо -- они доступны. Что приятно - какую бы хотелку клиент не назвал (хотелки при всей их фееричной неожиданности чаще всего довольно стандартны), она как правило есть. Если нет -- это уж совсем экзотика типа дейтинга или встроенного аукциона. Если не надо, то в наиболее популярных редакциях Старт и Стандарт вы получаете достаточно стандартный набор функций. При этом сама система существенно легче в этих редакциях. Сайт на Старте показывает примерно в 2 раза больше баллов производительности, чем на Бизнесе. Впрочем, на любой редакции можно отключать неиспользуемое. Есть мнения, что ядро системы и критичные для нее вещи исключительно хорошо продуманы, взвешены, обкатаны жизнью и прекрасно себя оправдывают, а качество реализации отдельных компонентов может быть ниже. Есть мнение, что Битрикс старается выпустить хороший бодрый прототип быстро, а потом доделывает его до конфетного состояния.

- Если разработчик включается в проект на большой редакции и видит сразу все, что есть в системе (панель, функции, API), его поражает что всего так много. Включиться быстро и сразу во все сложно. Поэтому надо включаться частями и не в режиме тушения пожара. Как и в другие системы. 2.    Битрикс плохо написан, и это плохая школа для разработчика и менеджера. Суть. Часто говорят: да, с Битриксом вы заработаете денег, но не станете профи и будете ковыряться в этом безобразии. Это вопрос сложный и абсолютно субъективный. Если вам все что вы видите в системе кажется плохим и кривым – значит она не ваша. Я не буду вас переубеждать, да и никто не будет. Просто подумайте о том, как ваше представление о Битриксе как об ужасной системе согласуется с фактами.

+ Модулей много, все имеют тысячи внедрений. Все работает и в общем радует владельцев. Есть масса мест, которые просят развития и доработки. Но важно (!) – работает, внедряется, развивается посторонними людьми. Растет партнерская сеть. А ведь партнеры это веб-студии. Они выбрали Битрикс сознательно. Они фактически наняли Битрикс на себя работать и платят ему деньги. Подумайте об этом.

- Качество проработки разных частей системы сильно разнится. Перечислю что помню навскидку, не претендуя на полноту списка. 1. Вики-движок в Битриксе исключительно примитивен. Мы-то ждем как минимум того же функционала, что в популярных викидвижках, а лучше – клона Wikipedia.org. 2. Социальная сеть непрозрачна и непроста в кастомизации. 3. Бизнес-процессы реализованы интересно, функциональны, многим их очень хочется пощупать и заставить работать, но специалисты по бизнес-процессам, консалтинговые компании вообще их не понимают. Такое ощущение, что не было цели их (консалтеров и бизнес-процессы в Битриксе) подружить. Не смогли или не захотели. 4. Класс Wizard и вообще механизм создания тиражных продуктов с демоконтентом на мой взгляд сделан очень плохо. Сами тиражки отличные. Для бизнеса -- находка. А программисты воют. Я не готов утверждать что разные части плохо запрограммированы. Я вижу что их делали по-разному. С разным настроением что ли. И это мешает. 5. Отдельно надо сказать про документооборот и бизнес-процессы. По итогам большой работы, проделанной нами с документооборотом, возникло ощущение что это такая тупиковая ветка развития была. Задумали, начали делать, разочаровались и бросили. Сделали более универсальные, мощные и крутые бизнес-процессы. Конечно, все сделанное на документообороте продолжает работать, но какой-то он уж очень непонятный и странный.

Если есть люди, которые хорошо знают этот модуль и что-то на нем делали и у вас есть другое мнение -- выскажитесь. 3.    Он тормозит.

Суть.

Да, запуск большого сайта на слабом сервере или неадаптированном хостинге приводит к большим тормозам. Секунды генерации страниц, нагрузка на процессор и жесткий диск. Битрикс много сделал чтобы облегчить запуск сайтов, выявление и решение проблем. Скажу коротко: установщик, монитор производительности, кеширование, виртуальные машины, консультации по запуску и оптимизации. Монитор производительности показывает скорость работы сайта на хостинге и выявляет узкие места, давая советы по оптимизации. Аналогичный, только еще более мощный механизм реализован в MS SQL Server 2008. Нормальная производительность это не менее 30 баллов. 30 баллов битриксмены выжимают из достаточно слабенькой машины путем конфигурирования софта. Когда клиент утверждает что Битрикс у него тормозит, имеется одна из ситуаций: - слабенький виртуальный хостинг, где все тормозит и без нагрузки за счет обилия php. Слабый процессор, неподходящая настройка системного кеширования (eaccelerator etc), медленный или загруженный диск. В этом случае Битрикс показывает баллов 10 из рекомендованных 30. Бывает и 0.5 балла показывает. - машина на Windows в офисе клиента, куда поставили denwer или Apache+PHP+Mysql. Ускорителя как правило нет, настройка софта не проводилась никакая, просто запустили. В этом случае бывает баллов 2-5 на хорошем железе. При этом факт, что слабое древнее железо с установленной виртуальной машиной от Битрикса или умными руками настроенное легко выдает не менее 30 баллов. Третья ситуация: «нормальное железо, нормальная настройка, тяжелый сайт» бывает тоже часто, но обычно к такому набору прилагается опытный сисадмин или разработчик, который и так знает что делать.

+ (плюсы решения Битриксом этого вопроса) Все перечисленное работает. 1. Монитор производительности и его советы по оптимизации сервера просто сказочны. Когда мы его впервые запустили и проделали все что он советует, у нас не-Битриксовские сайты начали работать в 2 раза быстрее, а Битриксы в 6. 2. Установщик с детектором проблем и готовые сконфигурированные виртуальные машины экономят нервные клетки сисадмина и разработчика. 3. Кеширование в продукте, особенно настроенное дважды: при разработке и после появления серьезных нагрузок, просто снимает эту проблему. 4. У Битрикса (у самой компании, что редкость!) есть платная услуга типа “Аудит производительности”. Платите денежку, приходят люди с большими головами и помогают. Говорят, это работает, я не пользовался. Думаю, проекту с 50к+ униками это не будет дорого сделать. 5. Важный и не очень приятный технарям тезис. При прочих равных условиях директору куда проще купить или арендовать новое железо, чем оплачивать время разработчика. Проще купить железо, потому что оно предсказуемо и не увольняется. Оно точно известно когда заработает. На железо не нужно платить налоги и думать о том, как оно работает. В современных условиях год хорошего хостинга или начального vds стоит как месяц работы программиста. Год базового хостинга, адаптированного под Битрикс, стоит как несколько дней работы хорошего сисадмина. 6. И наконец, покажите столь же функциональную систему, которая работала бы быстрее?

- 1. Он все же тормозит и новые фичи тормозят сильнее, чем их позже выпущенные версии. 2. Было бы куда проще если бы этой проблемы не было вообще или производительность росла бы от железа линейно и быстро, не требуя плясок с бубнами. 3. Говнокод от разработчика в сочетании с иногда очень тяжелыми запросами, которые генерирует API инфоблоков, могут сделать слабо тормозящий Битрикс сильно тормозящим. Легко написать так, что из-за дурацкого вызова списка анонсов в шапке на странице она выполнялась бы на 3 секунды дольше. 4. Многие люди не знают про возможности тюнинга производительности, и не хотят знать. Зато они могут поотключать кеширование, чтобы криво сделанные компоненты работали без проблем. В итоге система, как и всегда, позволяет сделать прямо и круто, и в то же время разрешает наворотить ужасное безобразие.

4.    Стоимость запуска решения. Есть две формулировки вопроса: - мне сказали что Битрикс легко настраивается не-программистом, а там все так сложно. - я же заплатил за лицензию, где сайт?

Суть. На семинарах, в переписке с интересующимися, и даже в активных проектах постоянно всплывает вопрос о том, что же входит в цену лицензии и почему нужны еще какие-то затраты. Однажды на семинаре красивая девушка спросила: “Вот мое руководство купило Битрикс и поручило мне поддержку сайта . Там же все готово должно быть, а я занимаюсь программированием. Это же обман!”. К чести спрашивающей надо отметить что она реально разобралась и сделала неплохо (ее вопросы были куда умнее вопросов сисадминов с того же семинара), но была крайне недовольна. Не знаю откуда этот миф, но он реально распространен и живуч. Согласно мифу, в системе все есть, поставь и работай. Суть мифа в том, что Битрикс это готовый коробочный продукт, который сам делает сайты, в которых будут настроены и работать все модули в виде страниц, дизайна. Миф в том, что это как MS Office: поставил, принял на работу секретаршу и работаешь. Разумеется, это неправда. Все продукты Битрикса, кроме тиражных и готовых сайтов, требуют программиста, верстальщика, интегратора.

+ Плюс только один. Формально Битрикс честен. Никто никогда в маркетинге не пишет что система настраивается секретаршами или включает в себя готовый сайт по хотелкам клиента. Если разбираться, читать и думать, то маркетинг не врет. Однако проблема есть. С другой стороны, для нормально работающего партнера этот вопрос является стандартным, ответ на него прост, логичен и легко подтверждается примерами, аналогиями и первоисточниками. Этот вопрос вообще не создает проблем.

- Миф и его вредные последствия налицо. Вероятно, это промахи и перекосы в маркетинге или работе конкретных партнеров. Минус также в том, что на одних и тех же семинарах рассказывается как про тиражные решения (интернет-магазин, корпоративный портал) и про собственно платформу, CMS. Очень похоже на тонкую манипуляцию. Подходит на семинаре человек и спрашивает: А в Битриксе есть опросы? Есть! Берем!

Надо четко разделять: опросы можно сделать, для опросов есть API и стандартные компоненты, но вам нужен партнер чтобы завязать в ваш дизайн и доточить до вас – первый и самый распространенный сценарий. А еще бывает: ставится и работает из коробки. Это реже, это только про демосайты, тиражные продукты и корпоративный портал. Там тоже можно редизайнить, но это делается не всегда. Редкий клиент понимает это ДО разговора с партнером. Полуправда, знаете ли. Я полагаю, часто у партнера есть искушение продать коробку и сбежать. Однажды наши коллеги по партнерской сети продали людям переход с Малого Бизнеса на Бизнес (около 25 т.р), когда лицензия у клиента была просрочена на 2 года (в сейфе пролежала просто) и требовала довольного дорогого по меркам клиента продления. Реально можно было вдвое дешевле в итоге купить новый Эксперт. Некрасиво. 5.    Битрикс для сисадмина

Суть Что такое сисадмин? Человек, который получает зарплату за то, чтобы работало. В контексте Битрикса задачи сисадмина это: запуск на сервере, обновление движка, скорость работы, бекапы, контроль доступа и разборки если что-то пропало. Иногда обновление информации, обучение конечных пользователей и веб-эникейство.

+ Установка – готовым скриптом, где в основном нажимают «далее». Бекапы – одной кнопкой. Обновления – одной кнопкой. Встроенный механизм аудита изменений. Встроенная консоль php и sql Встроенная проверка сайта Журнал действий администратора в панели Документация для блондинок и документация для разработчиков Типовые проблемы и задачи имеют типовые отличные решения.

- Сложная система хитро глючит. Это не вордпресс, где ошибку стоит искать ровно в трех местах, а тормоза вообще почти исключены. Тут источник зла может найти только специалист. Мораль: не давайте волю разработчикам в неуместном творчестве, и ваш админ будет счастлив. Мало творчества. Перенос сайта на другой хостинг из увлекательного квеста с бонусами и анусами превращается в простую и прямую линейную процедуру. Другие задачи – аналогично. Но всегда на помощь может прийти растыка-разработчик и все же превратить регулярные процедуры в квест с поисками артефактов. 6.    «А наши программисты разберутся?»

Суть Вопрос звучит так: какая нужна квалификация чтобы разрабатывать и поддерживать сайт? Сколько времени потребуется на изучение системы разработчиком. Конечно, ответ на вопрос очень зависит от того, какие сайты, с какими требованиями и кто будет делать.

+ Битрикс открыт для освоения. У меня есть собственный опыт. Он говорит, что человек, знающий как работает веб (готов описать что происходит при авторизации на сайте с момента открытия формы логина до открытия личного кабинета), и знает php, при наличии более опытного наставника-контролера типовые сайты делать и поддерживать может начать за несколько недель. Далее необходим контроль качества, что требует усилий. Неописуемы безобразия, которые можно увидеть в коде человека, знающего мало, а делающего много. Самое страшное -- инициативный дурак. Однако реально хорошая русская (хотя и неполная, свежее там появляется не сразу) документация, русский саппорт, отвечающий даже на дурацкие вопросы, очень помогают. Я проводил опыты на студентах 5 курса факультета ВТ, когда они делали с готовой версткой и по ТЗ простой сайт на Битриксе (интеграция шаблона, лента новостей, форма и каталог). Это был первый в их жизни сайт на этой системе. Студенты обычные, не гении. Затрачено было от 120 минут (2 часа) до 350 (6 часов). В среднем 220 минут. Я писал об этом статью на Хабре с полгода назад. Мне кажется, это приемлемое время для первого опыта. Другие коробочные системы показали практически те же результаты, Битрикс тут на мой взгляд мало чем отличается от конкурентов.

Битрикс имеет хорошую документацию, его форумы дают ответы на большинство вопросов. Я люблю повторять на встречах с клиентами, что на любой чих в у Битрикса есть pdf-ка. Например есть отдельные документы про то, как настраивать корпортал или интегрировать интернет-магазин. Печатаешь и читаешь. Получаешь удовольствие. Битрикс имеет лучший саппорт, с которым мне приходилось работать (хостеры, саппорт коробочного софта, другие CMS). Время реакции, отношение, готовность вместо тебя искать ссылку. Блоги, обобщение опыта. Когда я, мои коллеги, программист или ПМ чего-то не понимаем, я им с легким сердцем говорю: напиши в саппорт. Опиши что делал, дай ссылки, сошлись на рекламу. Пусть отвечают, мы им деньги платим. И саппорт в течение 5 часов дает ответ. Не всегда это последняя реплика в тикете, часто возникает дискуссия на десяток постов, но все делается быстро и четко. Я даже поставил Fiddler и чуть что шлю в саппорт сохраненные сессии. Посмотрел сейчас, мы задали около 230 вопросов за время партнерства, по 4 был поставлен флаг “я не удовлетворен ответом”. После этого включился руководитель, были даны люли и ответы, все в общем нормально. Мне как представителю разработчика ситуация с саппортом откровенно нравится.

- Минусы существенны. 1. Битрикс огромен. Перечень вопросов, которые человек задает сразу, на первом проекте, относительно мал. Студенты спрашивали друг у друга, у меня и у саппорта, одно и то же. Но вот объем знаний, нужных на втором этапе погружения, когда делается нетривиальное, действительно очень велик. Его нельзя наработать быстро. 2. Документация Битрикса огромная, неполная и не везде актуальная. Огромная -- оцените сами. Неполная и неактуальная - это действительно проблема, но для самых новых и самых сложных разделов Например, уже давно есть комплексный компонент intranet (реализует корпоративный портал) и документооборот. У меня как у партнера реальная потребность в их кастомизации и развитии. Документации для разработчика почти нет. Плохо документировано как делать страницы управления для своих модулей. Плохо описаны нюансы работы классов мастеров-установщиков. Справедливости ради скажу, что это исправляют быстро. Еще недавно не было документации по социальной сети и по бизнес-процессам, а теперь есть. Так что ждем. 7.    Корпоративный портал. Внедрение, обработка пожеланий, консультирование потребителя

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

+ Корпоративный портал хорош и функционален. Он быстро развивается. Не могу сказать что он интуитивно понятен, но быстро осваивается. Очень многие вещи (не буду углубляться, могу перечислять еще на пяток экранов) сделаны изумительно к месту, как хочется. Очень многое продумано и сделано лучше ожиданий. Я не знаю кто и как это придумывает, но придумывает здорово. Для меня как для человека, внедряющего КП, важно что для любого заинтересовавшегося клиента я могу из 15 базовых фишек корпортала выпятить именно те, которые ему понравятся. Я готов проконсультировать, убедиться что мы понимаем термины одинаково, продать коробку и приступить к внедрению. Это работает.

- С чем проблемы, что не работает. Ранее про саппорт было сказано много хорошего. Теперь время сказать много плохого. Посмотрим на саппорт с точки зрения бизнеса. Это должен быть универсальный инструмент. Я купил систему, мне кажется что я ее понимаю. Я чего-то жду. У меня вопрос. Я задаю его, вопрос решается. Что имеем на практике. Когда речь идет о CMS, о технике, о платформе, о типовых задачах кодинга, об API -- саппорт работает отлично. Когда речь идет о бизнес-применении, о внедрении, об удобстве, о развитии – мало что радует.

Примеры Пример 1. Я как потребитель корпоративного портала хочу, чтобы групповые задачи ставились удобно и логично. Как сделано сейчас -- мне кажется реально неправильно. Сейчас если я ставлю задачу 4м сотрудникам, зачем-то создается такая же задача еще и мне самому. Это сделано программистами для программистов. Максимум что говорит саппорт “это стандартное поведение системы”, “проблему не наблюдаем”, “добро пожаловать в группы обсуждения”. Извините, ребята, это отстой. Саппорт должен разговаривать с бизнесом на языке бизнеса. Или скажите мне где на этот вопрос я получу ответ. Не надо предлагать дискуссионные форумы. Бизнес не полезет на форумы. Бизнес надо проконсультировать и закрыть вопрос. Вы должны мне объяснить какого лешего в системе эта штука так сделана. Кстати, очень вероятно что руководители Битрикса или идеологи конкретных решений могут объяснить почему оно сделано так. Я хочу чтобы это мог саппорт. Пусть не все. Пусть выделенный человек. Мне НЕ нравится как это работает.

Пример 2. В корпоративном портале когда я вставляю в текстовое поле ссылку и отправляю форму, ссылка автоматически не становится ссылкой. Не заворачивается в тег A. Там же ссылки на русские имена файлов, превратившиеся в нечитаемый бред, не становятся обратно русскими буквами (файлы в порядке, речь о ссылках, скопированных из браузера). В итоге я вместо короткой ссылки по-русски вижу 2 строки некликабельных спецсимволов. Эту простую проблему я ставил перед саппортом неоднократно. Что я слышу? “Это стандартное поведение продукта”, “Изменение логики не планируется”. Понятно, что если бы я это показал лично боссу Битрикса или начальник техподдержки сам этим пользовался -- исправили бы быстро. А так информация от рядового сотрудника саппорта становится записью типа “Категория: Пожелания; Критичность: Низкая” и все, тема протухла. А я, пардон, за мой французский, продолжаю трахаться с неудобными ссылками уже 2 месяца. Updated: сейчас проблемы с кириллицей не вижу. Кажется исправлено. А вот ссылки не оборачиваются как и раньше.

Пример 3. В марте Битрикс выпустил CRM – раздел корпоративного портала для управления отношениями с клиентами, учета продаж, планирования и получения отчетов. Хорошо кстати получилось. Мы внедрили, мы работаем. Многого удобного пока нет (нормального поиска в одну строку и почтовых уведомлений, например), но обещают осенью. Проблема: Саппорт не пользуется CRM и не понимает половины задаваемых вопросов. Помните кино: я буду разговаривать с пастухом, а не с его безмозглым бараном. Где пастух этой CRM? Где идеолог? В глазах клиента выглядит так: Рыжиков на презентации чудно пробежался по верхам, я впечатлился, поставил, ничего не понял, спрашиваю, а они сами не в курсе. Увы! Господа, хороший саппорт должен быстро определять уровень спрашивающего и отвечать на его языке. Сисадмину - на его уровне. Разработчику - на его уровне Гендиру, который спрашивает про то, как внедрить нарисованные консалтерами в IDEF бизнес-процессы - на его уровне. Если в комментариях появятся битриксмены, мне будут говорить что они этого не могут, что это задача партнера, что это очень дорого, что система развивается быстрее чем саппорт успевает учиться. Все понимаю. Но проблемы негров шерифа не волнуют. Я как бизнес-потребитель считаю что вы не удовлетворяете моей потребности в консультировании. Вашего SLA (соглашения о качестве сервиса) я не читал. Я даже слова этого не знаю. Развивайте партнерскую сеть, вводите курсы, открывайте учебные центры не вяло как сейчас, а молниеносно. Чтобы за маркетингом и лозунгами компетенции внедрения шли с отставанием на полгода МАКСИМУМ. Я это все называют качеством саппорта. Пусть сейчас в структуре вашего бизнеса это не его задачи. Пусть станут его. Сейчас мне как представителю бизнеса с вашим саппортом некомфортно. Конечный потребитель спрашивает у меня, а я у кого спрошу? Где компетенция внедрения корпоративного портала в бизнес? Ссылаетесь на HR-директора и начальника отдела продаж? А если они сами не понимают ничего? Помогите вы! Ведь вы с этим продуктом в корпоративном сегменте. Это очень важная проблема, которая сейчас мешает развитию Битрикса и проникновению в новый сегмент рынка.

8.    «Битрикс не стоит своих денег». «Это ярмо нам навсегда?»

Суть. Удивительно, но платность Битрикса вызывает почему-то гнев тех, кто за него никогда не платил. Давайте разберемся. В самой бедной редакции он стоит около 2000 рублей. В реально функциональной и подходящей для большинства обычных сайтов 12900. Интернет-магазины и порталы 30-50 т.р. Редакции для космических полетов, корпорталы и тому подобные холдинги стоят 50-250 т.р. Выдвигаю 2 тезиса: 1. Битрикс дешев 2. Битрикс отрабатывает свои деньги

Почему Битрикс дешев? Потому что в любом проекте цена лицензии как минимум не сильно меняет бюджет, а как максимум (особенно в редакциях от Малого бизнеса и выше) экономит деньги за счет времени и качества разработки. Есть в партнерской сети мнение, что стоимость лицензии должна составлять 5-20% цены проекта для клиента. Как партнер скажу, что это реальные цифры. Иногда это 50% цены проекта, но это если берется дорогая коробка и используется почти без доработки. У нас было много проектов, когда мы заключали договор и делали сайт, даже не говоря клиенту что купили для него Битрикс. Вопрос хостинга решаем тоже мы. Битрикс куплен из денег проекта. Продление добровольно. В чем проблема?

Почему Битрикс отрабатывает свои деньги? Общее качество, функционал панели, документация и саппорт. На бесплатных/открытых системах (даже развиваемых специально выбранными разработчиками) такого качества сопровождения я не видел. Заплатить 5000 рублей сразу и 1000 в год за возможность неограниченно пользоваться мозгами битриксоидов – мне не жалко.

Есть несколько странных и глупых мифов, которые непонятно откуда взялись, и чаще всего задают именно такие вопросы. Реально важное спрашивают реже. Первый из них: Битрикс надо продлевать, иначе сайт отключится. Не надо. Продление лицензии дает только возможность скачивать обновления и пользоваться услугами поддержки на коммерческих условиях (5 часов реакции вместо 24). Однажды купленная лицензия работает вечно. Второй миф: Битрикс зазенден и поставляется без открытых кодов. Это не так. Весь код открыт, даже демоверсии. Что-то там обфусцировано, но это несущественно. Третий миф: вместо того чтобы переписать Битрикс на php5, его переписали на ASP.NET. Битрикс сейчас пишется на 5 версии php, а .NET-версия это отдельный продукт, никак не влияющий на главную ветку. Четвертый миф: Битрикс написан на 1С. Битрикс написан на php, а с 1С у них совместный маркетинговый проект. Технически системы не пересекаются. Выводы по 3 части и выводы вообще.

Битрикс строится с ориентацией на конечного потребителя. Он работает чтобы бизнес с ним рос и развивался. Немного компаний, которые принципиально пользуются только бесплатным софтом, и почему веб должен быть исключением? Бизнес выше денег ценит предсказуемость, гарантии, независимость, небольшие риски. Мне мнение в том, что Битрикс в сайтостроении четко вписался именно в эту систему ценностей. Разработчики ценят другое: красоту своего кода, творчество, новые технологии, возможность хвалиться. В эту систему ценностей Битрикс попадает плохо. Приходиться гордиться тем, что твои простые и хорошо оплачиваемые технические решения без глубокого смысла и сакральных тайн работают на проектах с десятитысячной посещаемостью и радуют владельца. Это гордость не фанатика, а настоящего разработчика. Недостатков крайне мало, и всегда коммерческий взгляд весомее взгляда кодера.

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

Букв много, мыслей тоже. Хочу сказать спасибо тем людям, которых я последние две недели мучил вопросами. Без вас я бы не справился. Своей цели: систематизировать, разобраться, увидеть больше я достиг. Не затронута масса вопросов: защиты, удобства, WYSIWYG-редактора, собственного js, облачного сервиса, западного направления и многоязычности. Если будет время и энтузиазм – напишу и об этом. Пока хватит, 37 листов текста  нелегко прочитать, а уж писать – вы не поверите. Буду рад комментариям и отзывам. Мне действительно важно дополнить свое понимание.

Спасибо.

Оцените статью:

Спасибо, ваш голос успешно добавлен!

www.intervolga.ru

Открытая школа разработчиков Bitrix Framework

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

Что происходит после зачисления в группу?

Вам на почту приходит приглашение присоединиться к закрытой учебной группе на нашем портале.

После того как вы примете приглашение, вам назначается куратор и он начинает ставить вам задачи.

В задачах есть ссылки на описание соответствующих тем в документации, вебинарах, видеороликах.

Вы изучаете материалы самостоятельно, потом выполняете задачу и сдаёте на проверку.

Куратор проверяет задачу и даёт свою обратную связь по вашему решению: всё ли верно, можно ли сделать лучше, на что важно обратить внимание. Если потребуется, то возвращает задачу вам на доработку.

Когда эта задача закрыта, вы получаете следующую.

Один раз в неделю проходит консультация в формате вебинара, чтобы все желающие могли задать вопросы и получить живое объяснение по сложным темам.

Почему наша методика так эффективна?

Курс даёт набор полезных навыков для решения практических задач веб-разработки. Каждый навык отрабатывается по специальной формуле достижения цели: 1+3. Один раз мы показываем вам, как надо сделать и три раза вы повторяете самостоятельно под контролем куратора.

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

Подтверждением квалификации разработчика Bitrix Framework является сертификат от компании 1С-Битрикс. Чтобы его получить необходимо сдать 4-часовой экзамен. Курс ОШР разработан на основе требований к этому экзамену, поэтому наши выпускники сдают его успешнее, чем те, кто готовится самостоятельно.

www.oshr.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта