SamovarCRM — система управления продажами и проектами, которую мы разрабатываем для компании CADFEM CIS.
CADFEM CIS занимается дистрибуцией ПО для инженерного анализа, а также обучением и консалтингом компаний в этой сфере. Основу продуктовой линейки составляет ПО компании ANSYS. В фирме работает более 60 сотрудников в 6 филиалах в разных частях России.
У компании 450 клиентов, по каждому из которых нужно вести работу по сбору и оценке информации, по планированию продаж. В какой-то момент стало понятно, что все это тяжело делать на базе только офисных решений и электронной почты.
4 года осуществлялись попытки внедрить в компании различные CRM системы: Мегаплан, MS Dynamics и другие, но они не подходили. Какие-то были слишком простыми, а какие-то чересчур сложными. И в любом случае пришлось бы дописывать систему под себя.
Поэтому собственными силами компании был сделан прототип системы на Microsoft Access. Сначала он использовался только для создания коммерческих предложений и маркетинговых писем, но со временем оброс функциями, и часть сотрудников стала полностью работать в нем.
Спустя год успешного использования руководство убедилось в целесообразности вложений в настоящую CRM.
Перед заказчиками стояло 3 варианта:
В итоге они пришли к выводу, что дописывание готовых решений может обойтись дороже, чем построить систему с нуля, а довериться профессионалам надежней, чем самому искать программистов и руководить разработкой.
В том, что в итоге Кадфем остановили свой выбор на нас, важную роль сыграл и наш опыт в разработке систем автоматизации. К тому времени это — RedReport для Kelnik Studios, веб-версия системы контроля для АЭС Esсar и система тестирования школьников Балл.орг.
На первый год разработки CRM-системы для CADFEM CIS мы поставили перед собой цель перевести в цифровую среду следующие бизнес-процессы компании:
План на год разработки мы поделили на 4 этапа, каждый из которых, по удобной случайности, совпал с определенным сезоном года.
Первыми пользовательскими фунциями стали страницы Компаний и Контактов. Сначала для согласования внешнего вида страниц мы использовали мокапы — контурные наброски страниц.
Со временем стало проще и наглядней создавать дизайн на основе элементов уже существующих страниц, поэтому от таких черновых набросков мы отказались. Но для быстрого визуального проектирования новых проектов мокапы — оптимальный инструмент.
При сравнении с мокапом заметно, что общие идеи дизайна сохранены:
Единственное отличие — добавился блок комментариев справа.
Далее мы сделали основные функции для работы с задачами. Так выглядит страница просмотра задачи.
Ниже — схема связей между статусами задач.
Отношение пользователя к задаче выражается его ролью в ней. В задаче задействованы:
От последнего требуется подтверждать назначение задачи, если она приходит из другого отдела.
На специальной странице пользователю сообщается об изменениях в задачах, где он участвует.
В основе верстки — фреймворк Bootstrap и тема AdminLTE для него. Эта тема сама по себе выглядит достаточно хорошо, поэтому мы решили не прибегать к услугам дизайнера на первое время.
Проектирование интерфейса мы осуществляли вместе с заказчиком, и хорошие отзывы от первых пользователей показали, что все работает нормально. Конечно, профессиональная перерисовка интерфейсов добавила бы системе привлекательности, но сейчас есть более важные задачи.
Но мы и сами не лишены чувства прекрасного. Поскольку корпоративный цвет компании Кадфем — синий, мы использовали в дизайне системы соответствующие оттенки. Среди многих идей Дмитрия, директора филиала, было предложение назвать систему SamovarCRM и использовать в оформлении фона тему гжели. Так система получила собственный колоритный образ.
Так, например, ее видят пользователи больших экранов.
Модуль поиска выводит список объектов, в названии которых есть ключевое слово и которые соответствуют настройкам фильтра (блок справа).
В верхней части находится поле поиска и вкладки для выбора сущности, по которой ведется поиск. Такой подход к интерфейсу страницы поиска уже зарекомендовал себя в соцсети Вконтакте.
Сперва мы представляли себе этот модуль как конструктор, с помощью которого из разных блоков можно построить любые шаблоны документов.
Но продвинувшись в этом направлении, мы поняли, что разработка и поддержка такой функции будет слишком затратна. Поэтому пришлось остановиться на простом варианте, когда все шаблоны документов заданы по-умолчанию: сейчас у нас несколько видов коммерческих предложений и писем.
Для всех документов пользователь указывает компанию, адресата и другие данные. А для коммерческих предложений необходимо еще составить спецификацию (таблицу услуг или товаров).
На странице заполнения спецификации пользователь выбирает лицензии и для каждой из них вводит нужные условия: прайс-лист, коэффициенты, скидки, даты начала действия и т.д. Итоговый документ можно получить в html или PDF.
Другие примечательные задачи второго этапа, это:
Система комментирования нужна для общения между пользователями и для заметок. Для обращения к другому пользователю необходимо указать в тексте сообщения его системное имя в виде @username. Тот, к кому обращаются, получает уведомление.
Для запуска нам оставалось перенести все данные из прототипа. Это несложная в плане технологий задача требовала, однако, много времени и внимательности.
Мы перенесли компании, адреса компаний, контакты, по 2 вида коммерческих предложений и писем, задачи, пользователей и комментарии двух типов, обработав также разные специфичные случаи.
В день переезда мы дождались, пока все закончат работу в прототипе, выгрузили актуальные данные и залили их на рабочий сервер. На следующий день весь петербургский филиал начал работу в новой CRM, а к старой системе вход был закрыт.
Следующая рабочая неделя была посвящена доработкам системы под критичные нужды пользователей и исправлению найденных ими ошибок.
Эта функция позволяет перенести нужные контакты из Outlook в систему.
После того, как пользователь загрузит файл импорта в систему и CRM его прочитает, ему предлагается выбрать, какие контакты нужно загрузить, а какие — игнорировать. Чтобы не было дубликатов, ищутся возможные соответствия в базе. Импорт каждого из контактных лиц происходит отдельно, чтобы сразу видеть будущий результат.
Для того, чтобы и другим филиалам можно было начать работу, мы настроили разделение прав. Теперь каждый пользователь видит компании только тех филиалов, к которым он имеет доступ. Вместе с компаниями права доступа наследуются и на другие сущности.
До календаря для работы с задачами использовался временный вариант: все задачи можно было видеть только общими списками, например «Мои задачи в работе», «Просроченные», «Завершенные».
Теперь для каждого дня есть своя страница, где отдельными вкладками показаны открытые задачи, завершенные задачи и все события дня, причем события показываются на временной шкале, по аналогии с сервисом Google Календарь.
Также на данном этапе было сделано много разных улучшений системы — как это всегда происходит в первое время после запуска проекта.
К этому моменту у нас уже были модули, которые так или иначе работают с возможностями (потенциальным сделками): это сама сущность «Возможность», компании, задачи, документы. Однако еще нужно было объединить все разрозненные функции в цельную систему. Нам нужен был модуль для структурирования задач и связывания их с возможностями.
Процесс продаж в CADFEM CIS регламентирован: это четкая последовательность шагов, каждый из которых состоит из нескольких задач и имеет конкретную цель. Мы назвали эти шаги Этапами и создали для них сущность, к которой можно закреплять задачи. Потом мы пришли к выводу, что одного уровня будет недостаточно и добавили еще два: Проекты и Потоки.
Получилась следующая структура (условный пример):
Работает это так:
1. Для каждой потенциальной сделки (Возможности) создается Поток «Продажа».
2. Внутри потока создаются проекты, которые означают промежуточные точки по пути от добавления компании в базу до подписания договора, например:
3. В каждом проекте создаются нужные этапы — это шаги по достижению цели проекта, например:
4. А уже внутри этапов создаются конкретные задачи для отдельных сотрудников.
5. После заключения сделки создается другой поток — «Выполнение обязательств» с одним или несколькими проектами в нем, который будет декомпозирован на задачи по той же логике.
Описанные выше функции открыли дорогу к сбору и предоставлению любой статистики в реальном времени.
На этом этапе мы сделали самый главный отчет — воронку продаж. Это список всех близких к завершению возможностей с группировкой по месяцам и по текущему статусу. По каждой группе показывается общая сумма (фактическая или потенциальная).
В результате из продвинутой базы данных система стала полноценной CRM для учета каждой потенциальной сделки. Руководители компании видят полную картину и при этом могут углубиться на любой уровень.
Это лишь один пример того, как можно использовать для аналитики и общей картины хранящиеся в системе данные. Например, можно суммировать затраты времени на задачи и соотносить их с доходом от каждой сделки. В дальнейшем мы будем добавлять новые отчеты.
В процессе разработки уже запущенного проекта нужно успевать не только создавать новые функции, но и расширять уже существующие.
Помимо перечисленного, на четвертом этапе мы стали отправлять уведомления на почту пользователей, а также добавили новые типы документов для генерации.
На всех проектах мы используем разработку через итерации — временные периоды в одну-две неделю (в зависимости от проекта). На SamovarCRM размер периода — одна неделя.
В конце каждой итерации мы собираемся всей командой вместе с заказчиком для того, чтобы:
При этом в любое время заказчик может отслеживать прогресс через общую систему учета задач (см. ниже).
Первое время мы использовали уже привычные нам инструменты общения и управления задачами:
Но со временем стало понятно, что единая среда общения будет намного удобней, поэтому вскоре мы перешли на Trello и расширение для Chrome Plus for Trello.
Он имеет приятный и понятный интерфейс, поэтому не отпугивает заказчика (в отличие например от YouTrack), при этом содержит необходимый минимум возможностей для координации команды разработки.
Сейчас учет задач на проекте ведется в Trello на четырех «досках» — обособленных страницах с задачами.
1. Бэклог — тут вносятся будущие задачи-карточки по хронологическим или тематическим группам-столбцам, например:
2. Текущее — тут находятся задачи текущей рабочей недели. Столбцы на этой доске соответствуют статусам задач:
Т.о. задачи в Текущем передвигаются слева направо и в конце недели собираются в один столбец, который затем переименовывается в соответствии с нумерацией недели и отправляется на доску Архив. К концу недели доска «Текущее» выглядит довольно пустынно, поэтому хорошо, что Trello позволяет ставить на фон собственные изображения
3. Архив — все завершенные рабочие Недели. Здесь пустынно не бывает никогда, но заходить сюда приходится нечасто.
4. Фидбек — место, где все пользователи разрабатываемой системы могут оставить свои предложения или найденные ошибки.
Хотя обсуждение отдельных задач часто идет в Trello, мы стараемся свести все письменное общение к минимуму, и как можно больше обсуждать при личных встречах с фиксированием договоренностей сразу в карточках задач или в ТЗ.
В качестве исходных источников информации о будущем проекте мы имели работающий прототип и написанное по нему заказчиком Техническое задание. Но после нескольких встреч набралось много отличий от первоначальной картины, поэтому описание так или иначе пришлось делать заново.
На разных этапах проекта и для разных случаев мы использовали следующие инструменты для этого, а именно:
Изначально структуру проекта мы описывали с помощью диаграмм связей.
Но их использование по понятным причинам удобно только при черновом проектировании. Для полноценного ТЗ они не подходят.
Техническое задание (исчерпывающее описание того, что нужно сделать разработчику) может описывать одну небольшую задачу или быть описанием целого модуля. Иногда в ТЗ активно используются изображения, как в этом примере ниже.
Обсуждение таких документов можно вести в них самих за счет удобной системы комментирования, встроенной в Google Docs.
Для работы с большим количеством структурированной информации удобней использовать таблицы. Они кажутся сложными на первый взгляд, но зато можно быть уверенным, что все детали будут обсуждены, описаны и правильно реализованы. Вот например таблица статусов задач — она логически повторяет схему статусов задач в начале кейса.
Проект написан на Symfony. В декабре мы обновили версию фреймворка до 2.8, по пути починив поломку обратной совместимости в коде компонента Form. Структура проекта обновлена под версию 3.0, но переезд пока не планируется.
В проекте задействованы популярные бандлы:
Мы применяем wkhtmltopdf для генерации pdf-версий документов. Полнотекстовой поиск работает с помощью ElasticSearch через friendsofsymfony/elastica-bundle.
Для тестирования используются phpunit и liip/functional-test-bundle. Сообщения об ошибках на сервере отправляются в наш HipChat через evercodelab/hipchat-monolog-bundle.
Почти всегда на проекте одновременно работали 2 разработчика, каждый из которых занимался и бэкендом, и фронтендом по своим задачам.
Уже через полгода с начала разработки мы получили систему, которая могла заменить прототип и превосходила его по многим функциям. Спустя несколько месяцев после запуска CRM стало понятно, что пользователи приняли ее и уже сами регулярно вносят предложения по ее развитию.
Впереди у нас еще много дел для того, чтобы перенести в «облако» все бизнес-процессы компании и подключить к полноценной работе все филиалы CADFEM CIS.
На вопросы отвечали:
— В каком качестве вы участвовали в работе над проектом?
МБ: — Я был координатором между CADFEM CIS и Evercode Lab, собирал требования к системе и вместе с менеджером описывал задачи, а затем их принимал.
ДМ: — Я не участвовал напрямую в работе над проектом. Михаил и Evercode Lab периодически отчитывались о ходе процесса передо мной, но в большей степени я выступал как один из первых активных пользователей системы, давал обратную связь, делился советами и идеями.
— По каким критериям вы выбирали подрядчика?
МБ: — Надежность, цена, процессы разработки, опыт в подобных проектах
— Почему вы остановили свой выбор на Evercode Lab?
МБ: — Рекомендация знакомого, занимающего программированием. Описание процесса разработки на сайте. Личное знакомство с членами команды и с руководителем компании на базе бизнес-инкубатора QD. Хороший подготовительный процесс по нашему запросу. Соответствие методов работы и процессов нашим ожиданиям. Выгодное предложение по цене.
ДМ: — Выбор делал Михаил, а мне оставалось порекомендовать подрядчика руководству. Я лично не знал до этого Evercode Lab, только у Миши был некий опыт знакомства с ними. Но по изучению сайта, блога и по общему впечатлению сложилось хорошее мнение. Интуиция подсказывала, что компания способна выполнить поставленную задачу, т.е. не было факторов, которые говорили бы об обратном.
— Были ли какие-то опасения? Если были, то они подтвердились?
ДМ: — На обучении MBA у меня был курс по Value Added IT management, на котором преподаватель рассказал нам, что порядка 60% проектов в области IT выходят за рамки бюджета и времени. Я не знал, попадем ли мы в эту статистику. На мой взгляд, опасения не подтвердились. Хотя были моменты, когда желаемых задач было больше того, что можно было сделать, возможно из-за того, что сильного много запланировали. Но в итоге мы получили работающий продукт, есть внутреннее удовлетворение от результата. Может, не на 100%, но точно на 80%. И мы не превысили бюджет: нам не пришлось перед руководством в середине проекта обосновывать увеличение расходов. Это возможно стоило каких-то усилий как Михаилу, менеджеру проекта с нашей стороны, так и команде Evercode Lab, но все с честью и достоинством вышли из сложившейся ситуации.
— Что вам понравилось в работе с Evercode Lab?
ДМ: — Я наблюдал за этим проектом с частотой примерно раз в месяц на личных встречах. Мне понравилось, что все мои замечания и пожелания фиксировались, и по этим вопросам потом была реакция, обратная связь.
Я не был в курсе, так скажем, «внутренней кухни», но наблюдая за системой с точки зрения пользователя, я не заметил каких-то проблем в рабочем процессе.
Если в двух словах, то понравился профессионализм, готовность отвечать за свои слова и за свои обязательства. Стоит отметить и коммуникации — они идут на хорошем человеческом и профессиональном уровне.
МБ: — Безусловно нравится простая коммуникация и гибкость, совместная проработка ТЗ — это самые приятные воспоминания
— А что не понравилось?
МБ: — Каких-то проблем общего уровня не было.
— Вспомните случаи, которые характеризуют Evercode Lab с разных сторон (с хорошей и с плохой).
МБ: — Из отрицательных примеров: когда не успели вовремя подготовить акт выполненных работ по одному из этапов. А позитивных случаев очень много, поэтому нет смысла перечислять или выделять какие-то отдельные.
ДМ: — После того, как мы запустили систему в работу, был момент, когда было большое количество фидбека, который генерировали я и мои коллеги, но нам не было заранее сообщено, что этот фидбек не будет обрабатываться сразу и в нужном объеме. Похоже, на него не было заложено достаточно времени и бюджета.
Я думаю, раз Evercode Lab занимаются подобными проектами, то они должны быть готовы к тому, что системе после запуска нужно какое-то время на выравнивание. Эта ситуация вызвала у меня некоторое недопонимание относительно того, что сейчас происходит, чего стоит ждать.
— Что в процессе создания проекта оказалось не таким, каким вы представляли до этого? Что вас удивило? Что вы почерпнули для себя?
ДМ: — Мне очень понравилась система, когда общение между нами и исполнителями построено через руководителя проекта, т.е. минимизировано прямое общение закакзчика с программистами. У нас же инженеры всегда общаются с заказчиком. Поэтому это было ново и интересно для меня. Теперь я попробую применить так же подход и у нас.
— Как происходило ваше общение с менеджером проекта и командой?
МБ: — Обсуждение шло непрерывно по всем каналам связи: телефон, социальные сети, Trello и т.д. И с точки зрения удобства и скорости, я думаю, общение происходило идеально.
ДМ: — Оно было регулярное, происходило раз в месяц в виде встреч. Кстати, инициатором этих встреч был я, а мне хотелось бы, чтобы было наоборот. Но не знаю, к кому это больше вопрос, возможно, больше к Михаилу, чем к Evercode Lab.
— Вы бы уделяли проекту больше времени, если бы была возможность?
ДМ: — Я как пользователь готов давать еще больше обратной связи по проекту, если буду уверен, что она будет обрабатываться. Поэтому в текущей ситуации не вижу в этом необходимости.
МБ: — С радостью уделял бы больше времени.
— Вы довольны результатом?
ДМ: — Да
МБ: — Да, безусловно
— Что говорят пользователи?
ДМ: — Я не слышал негативных отзывов, для меня это уже говорит о многом. Пользователи с интересом воспринимают новую систему, смотрят на нее как некую загадочную игрушку, но у них есть и желание начать активно ее использовать. Конечно, всегда есть опасение, все ли смогут, все ли станут, но общий фон восприятия положительный.
(отзывы пользователей можно почитать после интервью)
— Что говорит руководство компании?
ДМ: — Руководство компании декларирует, что внедрение CRM-системы является ключевой задачей нашей компании на 2016 год.
МБ: — Руководство удовлетворено результатом, однако системе требуется развитие и более плотное внедрение в наши процессы.
— Как повлиял на ваш бизнес этот проект? По каким объективным критериям это видно?
ДМ: — Он повлиял, несомненно. Тут нужно заметить, что данный проект изначально предполагался как инструмент, с помощью которого мы обновляем наши бизнес-процессы. Но фактически из статуса инструмента проект стал катализатором обновления, и это, на мой взгляд, очень важно. В этом смысле задачу проекта можно считать даже перевыполненной.
МБ: — Повлиял положительно, продолжилось движение по автоматизации и формализации ряда процессов и общения. Из-за того, что система находится на ранней стадии внедрения, пока что преждевременно говорить о каких-то измеримых параметрах.
— Соответствует ли результат вашему изначальному представлению? Если нет, то почему?
ДМ: — Мы начинали проект, имея на руках наш прототип. Поэтому задача в целом была в том, чтобы сделанное на коленке повторить на более высоком уровне. И эта задача, на мой взгляд, выполнена, т.е. проект соответствует изначальному представлению. Если это было бы не так, то это был бы провал.
Нужно учитывать и то, что в ходе работы над проектом естественно появились дополнительные модули, какие-то идеи, которые необходимо было реализовать.
МБ: — Не во всем соответствует изначальному. Однако текущий результат позволяет нам работать в системе и решать текущие задачи. Так как ТЗ менялось очень часто, то многое не сделано или сделано упрощенно, но это скорее к нам вопрос.
Оцените эти качества проекта по 10-балльной шкале и прокомментируйте при желании:
— Скорость работы системы
МБ: — 10, тут вообще вопросов нет, работает очень быстро.
ДМ: — 9.
— Отсутствие ошибок и зависаний
МБ: — 9, есть ряд багов, но я думаю они будут поправлены.
ДМ: — 8, периодически возникают ошибки, но справедливости ради нужно сказать, что сразу же на это идет мгновенная реакция.
— Удобство
МБ: — 6, есть масса функций, которые требуют доработок.
ДМ: — 7, потому что есть ряд очевидных недостатков в интерфейсе, устранение которых привело бы к лучшем баллу.
— Дизайн (внешний вид, красота, эстетичность)
МБ: — 6, для десктопа выглядит в целом неплохо, но для мобильных устройств вообще не оптимизированно. Если глубже копать по дизайну, то тоже есть нарекания.
ДМ: — 8. Я сторонник минималистичного дизайна, и на мой взгляд, этот подход здесь соблюден.
— Итоговая оценка проекту
МБ: — 7,5.
ДМ: — 8.
— Как вы планируете дальше развивать проект?
МБ: — Планируем продолжать работу в 2016 году по новому ТЗ, которое мы сейчас формируем.
ДМ: — Планов очень много. В первую очередь, хочется устранить те мелкие недочеты в интерфейсе и в функциональности, которые лежат на поверхности. Нужно идти по принципу Парето — устранить 20% недочетов, которые приведут к 80% улучшения восприятия системы.
Затем, на мой взгляд, прежде чем развивать систему вширь (например вводить новые сущности), необходимо обеспечить ее использование во всех офисах компании. Надо научить людей пользоваться тем, что есть сейчас, привлечь их всеми возможными способами.
Когда мы выходим на уровень всех пяти филиалов, надо понимать, что потребности у всех будут разными. Поэтому нужно будет активно собирать и обрабатывать фидбек, чтобы всем новым пользователям было комфортно работать с CRM. Чтобы они видели, что к их мнению прислушиваются, что они тоже принимают участие в создании проекта. И только после этого добавлять новые функции.
— Будете ли вы работать с Evercode Lab в дальнейшем?
МБ: — Обязательно.
ДМ: — Да. Я даю положительную оценку руководству компании и выступаю за продолжение сотрудничества.
— Стали бы рекомендовать Evercode Lab своим друзьям или коллегам по бизнесу?
МБ: — Обязательно.
ДМ: — Да.
— В лучшую или худшую сторону изменилась ваша работа после перехода с прототипа на новую CRM осенью 2015?
— Скорее в лучшую. Новая CRM более «доброжелательна» к пользователю, а также имеет бОльший набор функций. Под «доброжелательностью» я понимаю доступность и комфорт в использовании.
— В лучшую сторону. Появилось много новых полезных функций, система составления писем и коммерческих предложений очень удобна. Карточки компаний стали намного более информативнее. Появилась система поиска с сортировко — этот то, чего очень не хватало раньше.
Правда есть ощущение, что в сравнении с прототипом стало больше кликов (функций-то больше), много открывающихся окон и некоторые несовершенства (о которых я стараюсь писать постоянно в Trello) — это немного портит всю картину, но понимаю, что все должно со временем отшлифоваться до максимально удобного интерфейса.
— Что вы думаете про дизайн интерфейса системы? (что нравится и что не нравится в нем)
— Из плюсов отмечу приятные глазу цвета, шрифт. Из минусов — слишком маленький значок уведомления, часто упускаю из вида обновление.
— Дизайн нравится, фон не напрягает и не отвлекает, все очень лаконично. Если про саму структуру, то левая панель удобная, правда чаще всего я использую кнопку с нашим логотипом, чтобы вернуться на главную и кнопку плюса, чтобы добавить новую задачу.
Проведите конкурс среди участников CMS Magazine
Узнайте цены и сроки уже завтра. Это бесплатно и займет ≈5 минут.