Друзья! Продолжаем рассказывать вам о развитии Dodo IS. В этом релизе вас ждёт много интересного. Вперёд!
1. Трекинг
1.1. Автономная работа экрана Экспресс продукты
Экран Экспресс продукты показывает клиентам, сколько времени готовится их пицца. Если пиццамейкер не уложится в 7 минут, клиент получит сертификат на бесплатную пиццу. Когда заказов нет, на экране отображаются рекламные баннеры.
С этой недели экран Экспресс-продукты работает по принципу “включил и забыл”, то есть при потере связи с интернетом не появится сообщение об ошибке. На экране будут отображаться рекламные баннеры. Они сохраняются в памяти браузера — интернет для них не нужен. После восстановления связи экран продолжит свою работу.
1.2. Баннеры на экранах
Скоро откроется пиццерия в Махачкале. Впервые пиццерия открывается в мусульманском регионе. Специально для этого в Dodo IS появилась настройка меню.
Теперь рекламные баннеры выводятся на экран Экспресс продукты в зависимости от типа меню. Например, для халяльного меню не показываются продукты со свининой.
То же самое правило действует для экрана Табло ресторана (табло выдачи готовых заказов).
2. Отчёт “Расход продуктов”: новые параметры для построения
Для выявления потерь/хищений нужно сравнивать фактические данные между двумя последними ревизиям с данными отчёта Расход продуктов. Ревизию (учёт расхода ингредиентов) в пиццериях проводят в разное время суток. Раньше отчёт можно было построить только с 00:00 до 23:59 каждого дня. Это было неудобно, поэтому в той версии мы добавили поля для ввода времени.
Появился выпадающий список Вид списания.
Если выбраны отдельные виды списания, то в отчёт попадают:
- Продажи — продукты из клиентских заказов, т.е. все, за исключением отменённых, забракованных и питания персонала;
- Питание персонала — продукты из заказов персонала, за исключением отменённых и забракованных;
- Брак — все забракованные продукты.
Добавили группировку: по датам и за период.
Разбивка по датам необходима для управляющего ПРЦ для прогнозирования расхода ингредиентов. В таблице результатов отчёта появляется дополнительный столбец Дата.
Отчёт в режиме Расход по калькуляционным картам можно строить только за период.
3. Персонал
3.1. Текучка: расчёт по-новому
Сотрудники приходят и уходят. А как следить за динамикой движения персонала? Раньше показатель текучки был сложный для понимания и расчёта.
Мы упросили. Теперь Текучка считается так: количество сотрудников, уволенных в этом месяце, делится на штат.
Показатель считается за текущий месяц: с 01 по 30 (31) число. Отдельно считается текучка для работников кухни и курьеров.
На странице просмотра статистики данные за текущий месяц:
На странице просмотра динамики:
3.2. Личный кабинет сотрудника: время смены
На странице статистики, в столбце Дата, теперь указывается дата и время начала и окончания смены. Сотрудник сразу увидит, правильно ли ему отметили смену.
4. Ввод сэндвичей
На прошлой неделе в меню сыктывкарской пиццерии появились сэндвичи. Мы ждали новые продукты с нетерпением и готовили Dodo IS к их появлению.
4.1. Новые фразы сервиса печати
Теперь, когда клиент заказывает сэндвич, на кухне женский голос сообщает: “Новый сэндвич! Ещё новый сэндвич!”
4.2. Отчёты: Время изготовления
Сэндвич — не простая закуска. Пиццамейкер начиняет его дважды: мясом на горячей линии, а затем овощами на холодной. Такого ещё не было! Новая схема производства привела к тому, что отчёт Время изготовления пришлось изменить.
Исчез столбец Ожидание. Появилось два столбца Начинка: Начинка, горячий и Начинка, холодный. В первом столбце показывается время изготовления продукта на горячей линии, а во втором — на холодной.
5. Обновлённый сервис печати
Сервис печати — приложение, которое отвечает за печать накладных и оповещение о новых заказах на кухне. Иногда женщина из динамиков (оповещение на кухне) вела себя странно: то слишком много “болтала”, то вообще молчала.
В новой версии сервис печати стал реагировать на новые заказы быстрее, а также перестал оповещать о новом продукте несколько раз подряд.
6. Питание персонала
При оформлении отложенного обеда сотруднику менеджер выбирает не время начала изготовления продукта, а время его готовности. Фраза Отправить на кухню вводила заблуждение. Мы её изменили на Приготовить к… Отложенный обед попадает на трекинг за 30 минут до указанного времени.
7. Контакт-центр
7.1. Оповещение о халяльном меню
Добавили оповещение о халяльных и полухаляльных подразделениях рядом с названием города.
Также сообщение о халяльных продуктах выводится в меню.
7.2. Чёрный список
Нельзя оформить заказ для клиента, чей номер находится в чёрном списке.
Переход к меню в таком случае невозможен.
8. Система лояльности: новая концепция
Некоторое время назад систему лояльности была запущена для нескольких городов. Мы проанализировали статистику и обратную связь от клиентов, сделали выводы. И теперь готовы представить вам новую, более выгодную и интересную концепцию!
Отличительные особенности новой концепции:
- Переименовали Додоллары в Додо-рубли;
- Приглашающий будет получать Додо-рубли сразу после регистрации приглашенных друзей (ранее нужно было ждать, пока друг совершит первый заказ);
- Приглашенный получает не промо-код на скидку (которые терялись у 90% приглашенных). Теперь мы начисляем приглашенным Додо-рубли, которые можно потратить в любое время;
- Мы отказались от больших и тяжёлых лэндингов — теперь всё происходит внутри сайта;
- Сделали систему гораздо более понятной и открытой.
9. Сайт
9.1. Клиенты: опытные и новички
Делим клиентов на новичков и опытных. Для новичков на сайте показываем маленькие пиццы, для опытных — большие.
9.2. Фильтр пицц
Если для фильтра нет ни одной подходящей пиццы, то он не отображается на сайте.
10. Румыния
10.1. Починили отчёт
Не открывался отчёт Продажи при выгрузке в Excel. Мы его укротили. Теперь открывается.
10.2. Буквенные номера
Теперь наши клиенты в Румынии получают SMS с красивых номеров Dodo Pizza.
11. Казахстан
Продолжаем адаптировать Dodo IS к открытию пиццерии в Казахстане.
Теперь для добавления в систему организации необходимо выбрать страну. В зависимости от страны подгружаются необходимые поля для заполнения.
Например, для Казахстана, вместо российского ИНН, необходимо заполнять реквизит БИН/ИИН.
12. Стабильность работы с SMS-шлюзами
Ранее, при рассылке SMS-сообщений мы делали всего 1 попытку, и не анализировали результат отправки SMS-сообщения (было ли сообщение отправлено и доставлено). Часть SMS при этом не доходили до получателей, как правило, по вине поставщиков услуг.
Сейчас же мы сделали механизм, который проверяет и анализирует статус отправленного сообщения. Если поставщик услуг SMS-рассылки, к примеру, не доступен, механизм совершает повторную попытку, пытается отправить через резервный шлюз. Мы будем развивать данный механизм, стремясь обеспечить максимально высокий показатель доставки SMS-сообщений.
13. Борьба с “багами” и ошибками
13.1. ТВ-борды: время обновления слайдеров
Починили время обновления макетов слайдера. Теперь они снова меняются в зависимости от указанного значения.
13.2. Трекинг: исправлены цвета и сортировка
На экране Экспресс продукты восстановлены цвета ячеек и исправлена сортировка: заказы располагаются в порядке увеличения номера.
13.3. Контакт-центр: поиск пиццы
Поправили поиск на английской раскладке. Теперь он находит пиццу Четыре сезона.
На сегодня всё :-)
Задавайте свои вопросы, оставляйте комментарии.
Ждите следующий релиз ровно через неделю.
Над этим релизом работали:
Директор продукта Dodo IS: Мамон Андрей.
Аналитики:
- Анфёрова Анастасия;
- Большакова Александра;
- Горин Александр;
- Давлетова Галия;
- Макуха Павел;
- Скворцов Артём;
Программисты:
- Абрамов Максим;
- Аминов Вадим;
- Видякина Елена;
- Лифантьев Андрей;
- Моревский Андрей;
- Муравлюк Александр;
- Нестеров Игорь;
- Обухов Иван;
- Пирязев Дмитрий;
- Степанов Денис;
- Стриб Александр;
- Чирков Никита;
Фронтэнд-разработчики:
- Запарий Анастасия;
- Костин Константин;
- Фурутин Михаил;
Системный администратор: Кравченко Арсений.
И я:
Игушева Екатерина, технический писатель.
Почитать больше про Dodo IS:
- Путь Додо
- Наша бизнес-идея
- Подход к разработке Dodo IS
- Dodo IS — общая информация, структура
- Трекинг заказов — концепт
- Модуль Персонал и Учет
- Трекинг — dodo-эффект
- Две компетенции — как ИТ-система может влиять на вкус пиццы?
- Прием заказа, трекинг, маркетинг
- Время изготовления продуктов
- Кассовый модуль
- Сайт
Екатерина, спасибо за рассказ.
А кто то будет отвечать на комментарии? А то так скучно! :)
Ответим, конечно!
Екатерина, давно наблюдаю за развитием Додо-Пицца, не устаю восхищаться!! Спасибо, это реально здорово и интересно!!!
Екатерина, несколько вопросов.
1. Опишите пожалуйста, принцип, по которому вы нумеруете свои версии?
2. У Вас очень интересная должность, технологический писатель. Что она означает?
Сразу бросилось в глаза на первом же скрин-шоте (1.2. Баннеры на экранах) выбор между “халяльное” и “полухаляльное”. Я понимаю, что это корпоративный “птичий язык” который имеет весьма косвенное отношение к религиозным убеждениям мусульман, но все же напомнило булгаковское “первая свежесть”. :о)
…а если без шуток, то если это попадется на глаза правоверному мусульманину то он может это трактовать весьма неоднозначно.
ИМХО — лучше исправить
Екатерина,
Расскажите подробнее как происходит разработка продукта Додо ИС.
Как попадают задачи в стек задач.
Как принимается решение и анализ что и как делать, в какую очередь.
Как происходит оценка затрат на данную задачу — сроки, трудоемкость?
Как происходит тестирование и поддержка программы?
Может быть и здесь Фёдор придумал что то свое, интересное!
Тут всё просто. Dodo IS обновляется еженедельно. Каждый раз номер версии увеличивается на единицу (104.0 -> 105.0 -> 106.0 и т.д.) Но в какой момент начался этот отсчёт, история умалчивает :-)
Технический :-) Основная задача технического писателя — разработать документацию к программному продукту и поддерживать её в актуальном состоянии. Например, я создаю инструкции к Dodo IS, пишу релизы и статьи о нашей системе. Обрабатываю заявки, которые поступают в техподдержку. Знаю о Dodo IS практически всё ;-)
Очень интересную тему вы затронули. Думаю, статья о разработке Dodo IS не заставит себя долго ждать.
Не в плане критики, но может быть пригодиться в работе.
Слишком часто менять номер рабочей версии плохо, непонятно чем отличается версия 22 от версии 23. Лучше выделить большой пул связных задач в одну версию, с объемом работ примерно на 3 месяца. Каждую неделю выпускать новый билд, фиксить ошибки, на рабочую версию ставить какой то промежуточный патч, прошедний тестирование.
Тогда получается удобно вести нумерацию типа 22.123.234.
Екатерина,
если вы всё знаете о додо ис, то интересно было бы полушать:
1. ЯП, на котором сделана додо ис, и фреймворк соответственно. Судя по вылетающим ошибкам — что-то питонообразное.
2. Как выглядит алгоритм по поиску и исправлению багов?
3. Как масштабируется додо ис? Используются ли приблуды вроде шардинга?
4. Используете ли вы машинное обучение или big data в додо ис? Планируете ли? Если да, то какие алгоритмы требуются?
5. Используете ли вы а/б тестирование в интерфейсах сайта или интерфейсах повара(пиццамейкера)?
6. Что вы используете для обновления информации страницы на лету (сокеты, ajax, faye)
7. Какой css-framework вы используете в вашей системе?
8. Какая у вас система контроля версий?
Ну это для затравки, так сказать ;) Чего симпатичных девушек так мучать?
Евгений, мы тоже раньше нумеровали как заведено у нас программировании мажор.минор.ревизия, но потом поняли, что большого смысла в этом нет и просто оставили номер.
Отчет начался с самого начала создания Dood IS.
Вкратце планирование и всё что с этим связано, осуществляется по принципам Agile (гибкой) методологии разработки. (Погуглите Agile, Scrum, XP)
Это потому что вы это делали сами для себя.
Программистам это не надо.
Планирование функционала и сроков надо бизнесу.
Ну еще для истории — была Додо-ИС версии 1.0, потом … Сейчас какая? 2.0? Надо делать какие то крупные вехи, на перспективу.
Программистский подход тоже очевиден.
Но я спросил о большем.
Кто и как принимает решение — какая функциональность будет в новом релизе? Что делаете в первую очередь, что потом? Всякие интересные фишечки добавляете на свой вкус или от запроса? Это иногда мелькает в теме Додо-ИС.
Фёдор делает постановку задачи, какой будет система через год?
Где то год назад он описывал основные функциональные задачи системы.
П.С. Только не говорите мне, что как вырастет так и вырастет.
Нельзя архитектуру пускать на самотек, так некоторые важные вещи вообще не появятся, а что то придеться несколько раз переделать.
Это не эволюция, это просто неумелое управление.
Евгений, спасибо за советы и развернутый комментарий. Если Вы почитаете про упомянутые методологии, то узнаете, что есть такая роль как product owner — это вполне себе человек из бизнеса, т.е. Scrum это не исключительно программистский подход.
В целом у нас баланс — есть стратегические цели, в рамках которых аналитики формируют задачи, но также бывают и хотелки, особенно, когда дело касается чего-то срочного, к примеру, открытия нового формата пиццерий или ввода нового типа продукта.
Александр, я тоже из программистов. :)
Но все же хотелось бы конкретики и примеров.
Как зовут вашего product owner?
Антонов Александр, вы хотите показать, что много знаете?)
Евгений Кузнецов, у каждого блока свой product owner, и у системы в целом есть product owner.
Фёдор,
во-первых да, так как сам веб-кодер,
во-вторых, мне действительно очень интерено, как устроен процесс,
в-третьих, размышляю сам о ресторанном бизнесе, вот интересно посмотреть, как люди дела делают.
Выпытывать надо по честному, есть полезные идеи — делись.
Федор молодчик ))) “Срезал” Василий Шукшин.
Добрый вечер!
А через какого оператора отправляете SMS рассылки?
У Федора в блоге есть Белый список, хотелось бы увидеть проверенного SMS провайдера.
Ну так а как я буду делиться, если даже таких мелочей не знаю, как ЯП, на котором написан сайт? Нет, я конечно могу подумать, что питон по вылетающим исключениям или джава по любви к писанию с большой буквы, но гадать на кофейной гуще — не лучшее из занятий.
Антонов Александр, а вам сколько лет? Какой опыт в программировании? Писали ли вы когда-либо на СИ, Ассемблере?
У Федора есть отличные программисты, которые все могут с нуля сделать, поэтому, думаю они все с нуля и делают. О каких фреймверках может идти речь, если ты пишешь огромнейшую систему для себя, для своего бизнеса?
Языки стандартные PHP, JavaScript, MySQL, HTML, сервера на Линуксе. Питон, CGI и все остальное по желанию.
Думаю так.
А просто внимательнее блог почитать ? Не судьба ?
/2014/03/28/dodo-developers/
вот требования:
Я таких слов то и не знаю. :)
Очевидно все это нужно для ускорения разработки, работы в команде и еще чего.
Подозреваю, что размер конечного кода весьма и весьма внушительный. Но, поскольку, пользуются конечным продуктом небольшое количество пользователей, то, возможно это и оправдано. Однако, может привести к ситуации потери контроля над работой программы.
Фреймворки — зло. Вместо того, чтобы изучать синтаксис фреймворков лучше изучить синтаксис языка на котором этот фреймворк написан и писать самому то, что тебе нужно.
ИМХО, конечно!
23. Ruby, Javascript. C было немного, не совсем понимаю, какое предназначение у ассемблера в веб-разработке.
Например, есть ЯП — ruby. Фреймворк — ruby on rails. Twitter и Yellow Pages тоже пишут гигантскую систему под себя, и не занимаются изобретательством. Вероятно, вы путаете понятия CMS и фреймворк.
Тут несколько тысяч публикаций. Прочесть всё из этого — невозможно.
Вообще не мой стэк, я во всём этом плаваю. Хотя ответы на мои вопросы получить бы хотелось. Не могу понять, почему нельзя взять и ответить. Ответы на все вопросы односложные, и на 9 вопросов — 9 строк ответов.
Александр, тот, кто знает ассемблер, си, java куда более сильный программист, чем тот, кто знает 1с битрикс, jQuery и всякие другие “надстройки”. Потому что все остальное — лишь синтаксис.
зная ассемблер — понимаешь как работает процессор и почему он так работает.
зная СИ — избавляешь себя от необходимости кодить на ассемблере
зная Java — пишешь в ООП
Это фундамент, который нужно знать.
Если человек пишет на jQuery не понимая JavaScript и не вникая в него — это безобразие. Но в этом нет ничего страшного, пока человек не начинает учить делать так же других !
Я спросил про ваш опыт и возраст только потому, что вы задали 9 вопросов из которых я понял лишь 10% от силы.
PHP, HTML, JavaScript,CSS, MySQL, Notepad++ — это все, что нужно для разработки сайтов. Всё остальное в топку.
Слишком толсто
:)
что значит толсто?
Слишком много приходиться самому писать ручками? Проще воспользоваться шаблонами и сделать побыстрому?
Слишком глобальные вопросы. Команда Додо-ИС — человек 20–30, вряд ли они используют какую то навороченную систему разработки. Как написал Александр — это Скрам.
Если постоянно писать (а как еще получить опыт), то накапливаются готовые решения в виде процедур, функций, объектов, методов, которые в последствии используются методом copy-paste. Это, поверьте, очень быстро. Проблема правильно организовать логику работы программы, а это уже на любом языке самое сложное.
Чтобы использовать готовые шаблоны нужно изучить эти самые шаблоны, чтобы правильно их использовать, а не лучше ли изучить сам язык и написать эти самые шаблоны для себя?
Лично мой опыт говорит мне, что готовые шаблоны позволяют быстро сделать, что-то стандартное, такое, что учли те, кто сделал эти шаблоны. Если шаблон не учитывает чего-то, то нужно менять этот самый шаблон и вот здесь приходит понимание, что лучше было бы самому все написать, а время уже упущено и приходится использовать костыли или платить деньги за исправление шаблона.
ИМХО на личном опыте.
Мне вот интересно, как команда ДОДО ИС определяет, что програмный продукт (определенный функционал) закончен? Потому, как у меня лично есть проблема и я могу бесконечно долго улучшать, “вылизывать” какой-то функционал программы (его логику или внешний вид, удобство пользования…), и всегда сложно понять, что вот, теперь все готово и можно остановиться?
Практически всё :-) В разработку я не лезу, инструкциями занимаюсь.
Если это совсем новый блок, то разрабатывается сначала MVP. Затем тестируется в сыктывкарской пиццерии, потом в нескольких пиццериях разных городов. Изучается обратная связь, функционал дорабатывается, затем уже выпускается на всю сеть. Со временем, конечно, копятся новые задачи по доработке. Но приоритет всегда имеют задачи, которые приносят профит для бизнеса. Так что работа не останавливается никогда :-)
Посмотри, как этот вопрос решают в Теории Ограничений.
Екатерина Игушева спасибо за подробный ответ.
Кузнецов Евгений спасибо за пинок в нужном направлении. Очень интересно.
Там суть простая — если ты делаешь задачу не на критическом пути, и сам никого не держишь — полируй ее хоть до посинения, пока есть буфер. :)
Александр,
Dodo IS разрабатывается на языке C#.
1. Баг обнаруживают
2. О баге сообщают ответственному лицу
3. Баг фиксируют в трекере
4. Баг исправляют
Шардинг мы не используем.
Пока подобных задач нет, возможно в будущем.
Для производственных интерфейсов А/Б тестирование не применяется, т.к. это бессмысленно. На сайте пока тоже не применяем — эта затея требует много ресурсов.
ajax
bootstrap :)
hg
Андрей,
благодарю за ответ. Очень познавательно.
> Dodo IS разрабатывается на языке C#
Очень интересный выбор! Почему не были выбраны на то время новомодные рельсы или питон или постарше и потрадиционнее java или php? Что решает c#, что не могут решить они? Сам вообще не знаю о си шарп ничего, интересно узнать просто.
> 3. Баг фиксируют в трекере
Pivotal или redmine?
> Шардинг мы не используем.
Да ладно. Неужто такую кучу запросов может выдержать один сервер?
> Для производственных интерфейсов А/Б тестирование не применяется, т.к. это
> бессмысленно.
Зря вы так. Неужто не интересовались, как изменится качество работы персонала в зависимости от, например, цветовой гаммы dodo is или положения кнопок? Возможно, введение каких-либо новых функций с а/б поможет лучше понять систему и требования к ней.
> hg
Это в смысле mercurial? А почему не git? Опять же, интересно, как практику.
Все, ответов больше не будет? Пишем в новой ветке?
Интересовались в интерфейсе контакт-центра и кассы ресторана.
Переезжаем в релиз 106.0 :-) Там тоже много интересного.
А неотвеченные вопросы дублировать?