четверг, 7 июля 2016 г.

Почему 1С это плохо и почему так не любят 1С программистов

Мы продолжаем то, что мы уже много наделали.
Черномырдин В.С.


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

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

При этом я лично некоторое время сам занимался исключительно 1С программированием, я и сегодня очень активно использую в работе программные продукты от 1С, и очень благодарен этой компании за то, что она дала возможность зарабатывать, в том числе, и мне.

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


С чего начиналась 1С? Давайте вспомним!


Лично я начинал работать с программным обеспечением 1С с версии 6.0. По моим ощущениям эта программа была немногим сложнее разнообразных вариантов учета, который вели в электронных таблицах Excel. 

Ей на смену пришла 7-я версия, в том числе, ее наиболее удачный релиз – 1С 7.7. Это уже был достаточно мощный программный продукт, который получил очень широкое распространение по всему постсоветскому пространству. К этому времени большинство пользователей настолько привыкли работать с 1С, что умение пользоваться этими программами стало одним из условий для приема на работу бухгалтеров, различного офис-персонала, а также менеджеров, кладовщиков и т.д. 

В принципе, 1С 7.7 достаточно успешно решала задачи, связанные с различными видами учета. Более того, этим программным продуктом до сих пор пользуются в отдельных случаях, что также говорит о его популярности. 

Дальше разработчики 1С представили принципиально новый программный продукт – 1С 8.0, а чуть позже – версию 8.2. Сейчас актуальная версия имеет номер 8.3. 

Теперь это программное обеспечение поражает широтой возможностей и одновременно сложностью системы

Сегодня компания 1С предоставляет для своих клиентов целую экосистему:
  • Мощная платформа для разработчиков.
  • Среда для ведения различных видов учета и аналитики
  • Возможность подключения разного торгового оборудования
  • Широчайшая сеть партнеров
  • Многофункциональная CMS для создания сайтов

При этом вместе и по отдельности все компоненты этой экосистемы функционируют не самым лучшим образом. Часто появляются проблемы, сбои в работе, требуются дополнительные затраты времени и средств, что, конечно же, вызывает отторжение.

Обновления 1С: как это работает


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

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

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

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

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

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

Отсутствие модульности: почему это так важно


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

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

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

И теперь вы получаете одновременно мощный инструмент, удобный визуальный интерфейс и …. множество проблем и багов из-за сложности системы.

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

Лицензионная политика и баги в системе


При обновлении платформы достаточно часто пользователи сталкиваются с тем, что лицензионные ключи перестают работать. Если вы не сталкивались лично с такой ситуацией, просто наберите в поисковой системе «После обновления 1С перестала работать», и вы убедитесь, насколько распространена эта проблема.

Итак, представьте себе ситуацию. Есть компания, на которой работает, например, 30 человек. После обновления программа перестала принимать лицензионные ключи. Работа компании парализована. Компания несет убытки. 

Важная проблема: непредсказуемость поведения платформы при обновлении.

Кроме того, что часто «слетает» лицензия, после обновления платформы в ней может оказаться новый функционал, который также может работать не корректно. А проверить качество работы и выявить новые баги новой версии программы можно только на практике, т.е. в процессе работы.

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

Итак, ситуация для программиста выглядит таким образом:
  • При каждом обновлении я получаю много лишнего, так как платформа обновляется полностью, и нет никакой возможности удалить или не устанавливать инструменты, которые не будут использоваться в дальнейшем.
  • И все же обновления необходимы, так как это единственная возможность «вылечить» текущие баги, которые известны или еще не выявлены программистом
  • При этом новое обновление несет в себе обычно новые баги, которые будут исправлены в следующей версии.

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

Почему так много багов?


Главная причина обилия багов по моему скромному мнению — это сложность системы. Вспомните, сейчас 1С платформа выпускается для Windows 32 и 64 бит, для Linux, серверная версия, мобильная и т.п. Сложность сопровождения при этом очень высока, и как показывает практика разработчики 1С просто не справляются с сопровождением.

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

Еще одна очень важная причина постоянного наличия багов и ситуации с ними – это отсутствие конкуренции. По сути, 1С сейчас – монополист. 

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

Более того, компанию 1С отличает очень мощный и агрессивный маркетинг, об этом программном обеспечении знают все. 

Именно потому я утверждаю, что сегодня достойного конкурента на постсоветском пространстве у 1С не существует. А отсутствие конкуренции всегда приводит к снижению качества самого продукта, что мы и наблюдаем на примере 1С: постоянные «сырые» обновления, постоянные баги, отсутствие подробной документации к обновлениям и т.д.
А потому лично я советую всем своим клиентам без особой необходимости не обновляться. Кстати, этот же совет я получил сам от одного из людей, которые стояли у истоков 1С. 

Конечно, в текущей версии обязательно есть какие-то баги, но если вы в ней работаете без проблем, то эти баги для вас не критичны. Что будет в новой версии – предсказать невозможно. А потому обновления стоит устанавливать только тогда, когда это становится действительно необходимо для работы.

Флагманы. Типовые конфигурации


В основе линейки программных продуктов 1С лежат типовые конфигурации. На сайте 1С готовых коробочных решений представлено довольно много. 

Но основная масса пользвоателей работает использует всего 4 конфигурации:
  • Бухгалтерия предприятия
  • Управление торговлей
  • Управление производственным предприятием
  • Зарплата и управление персоналом

И каждая из конфигураций обладает теми же недостатками, что и платформа:
  • Отсутствие модульности
  • Громоздкость и много лишних функций
  • Новые баги в новых версиях
  • Непредсказуемый результат обновлений

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

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

Если говорить о Торговле, то моя практика показывает, что на самом деле люди используют не более 30% от всего функционала этого компонента. Аналогичная ситуация и в других типовых конфигурациях. В погоне за реализацией максимального количества возможностей разработчики создали очень громоздкие и сложные продукты, в которых все взаимосвязано, а потому даже отключить ненужный функционал не всегда реально.

Например, при обновлении Торговли разработчики добавили новую бонусную систему. Клиент бонусами не пользуется вообще. Они ему не нужны. Но если вы попытаетесь отключить эти бонусы, начинает некорректно работать система скидок. Я с такой ситуацией столкнулся на практике. Конечно же, для решения этой проблемы потребовалась помощь программиста.

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

Агрессивный маркетинг и его результаты


Очень часто мои клиенты устанавливают обновления вопреки моим советам. Почему так происходит? 

Мотивация программистов

Программисты 1С заинтересованы в том, чтобы клиент как можно чаще обновлял программное обеспечение. Им это просто выгодно. При каждом обновлении понадобится заново настраивать конфигурацию. А потому при помощи обновлений они получают доход буквально «из воздуха». 

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

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

На самом деле в большинстве случаев никакой объективной необходимости в обновлениях нет. А вот объем работы программиста и, соответственно, его гонорар значительно увеличивается. Между прочим, многие пользователи потому и относятся к программистам 1С с негативом. С их точки зрения 90% суммы они платят программисту за то, что до начала его работы прекрасно работало, т.е. один и тот же функционал им приходится оплачивать по нескольку раз.

Агрессивный маркетинг от 1С

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

Недостатки сервиса и франчайзинга


Я считаю, что сервисного обслуживание в компании 1С практически нет. Компания великолепно работает в продажах, у нее действительно очень агрессивная и, надо признать, результативная маркетинговая политика. Но если вам понадобится обслуживание, вы столкнетесь с массой сложностей.

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

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

Результат такой политики известен очень многим. Наличие той или иной компании в списке партнеров 1С не является гарантией качественного сервисного обслуживания. 

Я уже упоминал, что 1С – это целая экосистема. В чем-то ее можно даже сравнить с компанией Apple. Там выстроена целая система, состоящая из «железа», программного обеспечения и ресейлеров. В 1С также есть платформа, есть конфигурации, есть сертифицированные ресейлеры. 

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

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

И здесь также проявляются причины негатива к программистам 1С и к самому программному продукту. 
Когда я перестал работать только с 1С и занялся бизнес-консалтингом, я начал использовать в работе самые разные программные продукты. Это были и сайты на Drupal, и системы вроде ZOHO CRM, ATOL РМК, Redmine, и и много еще каких систем. И практически все эти сервисы и программы не требуют постоянных и частых обновлений. И при обновлении не возникает такого количества проблем. 

В то время как компания 1С зарабатывает на двух направлениях: на продажах и на постоянных обновлениях. Но причем тут клиент? Он вынужден платить и обновляться, так как другого выхода нет. Более того, обновлять приходится одновременно все продукты, которые используются на предприятии.

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

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

Да, другие системы ведения учета в нашей стране есть, некоторые из них даже догоняют постепенно 1С по возможностям. Но маркетинг – великая вещь! А потому клиент не видит альтернативы, и, не смотря на постоянный негатив, производит очередную оплату.

1С: Битрикс – сложности, особенности, маркетинг


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

Пользователь, который покупает программные продукты 1С и заказывает сайт на 1С-Битрикс, видит общий бренд и пребывает в уверенности, что это продукты одной линейки, которые будут всегда без проблем работать вместе.
На самом деле, CMS Bitrix – это отдельный продукт, который разработали специалисты, не имеющие никакого отношения к компании 1С. В дальнейшем в эту CMS были добавлены средства интеграции с продуктами линейки 1С, и появился новое название «1С-Битрикс». Произошло это потому, что компания 1С выкупила крупный пакет акций Битрикс и решила использовать эту CMS вместе со своим программным обеспечением.

Что получилось в результате?

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

Более того, программисты, которые настраивали вам работу 1С, не смогут установить и настроить Битрикс. Здесь вам потребуется web-программист, специалист по Bitrix. Частично интеграция настраивается силами 1С-програмистов, частично – специалистами по Битрикс. А бывают такие случаи, когда пользователь вообще не знает, к кому обращаться.

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

Bitrix и 1С: системы разные, недостатки общие

Веб-разработчики, которые знакомы с последними версиями Битрикс, меня сейчас поймут. Так же, как и программные продукты 1С, последние версии Bitrix стали очень мощными, с широкими возможностями, но при этом излишне сложными. Сейчас без помощи администратора (веб-программиста) в Bitrix пользователь чаще всего не может даже настроить новые категории в каталоге товаров, так как для организации интеллектуального поиска необходимо задавать собственные параметры для каждого вида товаров.

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

Вместо резюме


Итак, давайте подведем итоги. Программные продукты линейки 1С вызывают негатив у специалистов по таким причинам:
  • Высокая сложность системы
  • Отсутствие модульности
  • Наличие багов в каждом обновлении
  • Отсутствие подробной документации к обновлениям
  • Непредсказуемый результат установки обновлений

Все это касается как платформы, так и любой конфигурации 1С.

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

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

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

С уважением, Кинзябулатов Рамиль.
Источник: https://habrahabr.ru/post/244727/

Комментариев нет:

Отправить комментарий