Мысль заказать приложение для команды приходит, когда сотрудники устали носить с собой бумаги, звонить диспетчеру по каждому заказу или искать документ в почте. Телефон всегда под рукой, и кажется, что приложение решит всё. Но это один из самых дорогих способов закрыть задачу, и часть таких проектов умирает через полгода: сотрудники продолжают работать по старинке. Ниже - как понять, нужно ли приложение именно вам, готовое это или своё, что взять в первую версию и как принять работу.
Коротко: приложение нужно, когда сотрудник работает с телефона в поле, на объекте или на складе и ему требуются камера, сканер, работа без сети или push-уведомления (всплывающие сообщения от приложения). Если задача закрывается веб-кабинетом в браузере или ботом в мессенджере, приложение дороже без выгоды.
Наши проекты собраны в разделе работ.
Когда приложение для сотрудников нужно, а когда хватит бота
Коротко: тут решает характер работы, размер компании вторичен. Сотруднику за компьютером приложение почти всегда лишнее. Сотруднику с инструментом в руках и в движении оно нужно.
Три признака, что приложение оправдано:
- Работа вне офиса. Курьер, монтажник, обходчик, кладовщик, торговый представитель, механик. Рабочий компьютер - это телефон, иногда перчатки на руках и плохой интернет.
- Нужны возможности телефона. Сфотографировать дефект, отсканировать штрихкод, поставить подпись на экране, приложить геометку, отправить голосовое. В браузере камера работает, а встроенного сканера штрихкодов в Safari на iPhone нет - его подключают отдельной библиотекой.
- Плохая связь на объекте. Склад в подвале, стройка за городом, рейс. Данные нужно принять сейчас, а отправить, когда появится сеть.
Признаки, что пока хватит бота в мессенджере:
- Всё происходит за столом: отчёты, согласования, работа с документами. Это веб-кабинет, он открывается и на компьютере, и на телефоне.
- Задачи простые и редкие. Отметить приход раз в день или получить напоминание закрывает бот, который у сотрудника уже стоит.
- Нет человека, который будет вести приложение. Тогда даже удачный запуск быстро устаревает.
Приложение, веб-кабинет или бот: как выбрать
Коротко: смотрите на главные критерии - работа без сети, доступ к камере и сканеру, push-уведомления и стоимость владения. Приложение выигрывает на первых трёх и проигрывает в цене поддержки.
| Критерий | Мобильное приложение | Веб-кабинет | Бот в мессенджере |
|---|---|---|---|
| Работа без сети | Да, данные копятся и уходят при связи | Нет, нужен интернет | Нет |
| Камера, сканер, подпись | Полноценно | Камера есть, сканер штрихкодов - нет | Фото и файлы, без сканера |
| Push-уведомления | Да, штатные | Web Push; на iOS - после добавления на экран «Домой» | Только сообщения в чате |
| Установка | Из магазина приложений | Открыть ссылку | Уже установлен |
| Скорость запуска | Дольше: две платформы и модерация в сторах | Быстрее | Быстрее всего |
| Что стоит после запуска | Обновления под новые версии, сервер, поддержка | Сервер и веб-обновления | Поддержка бота |
Простое правило: если нужны хотя бы два из первых трёх критериев - берите приложение. Если нужен только последний столбец - начинайте с бота. Чем мини-приложение внутри мессенджера отличается от обычного бота, разбирается в статье про мини-приложение в Telegram.
А если взять готовое решение?
Своё приложение - не единственный путь. На рынке хватает готового: трекеры задач, сервисы для выездных сотрудников, системы обхода объектов, конструкторы приложений без программиста.
- Готовое подходит, когда процессы у вас типовые: ставить задачи, отмечать выполнение, прикладывать фото. Берёте подписку, настраиваете и работаете почти сразу.
- Готовое мешает, когда процесс свой и отличается от шаблона. Тогда вы либо подстраиваете работу под чужую логику, либо платите за доработки, которых в продукте не было.
- Своё писать стоит, когда нужны интеграции с вашими системами, работа без сети, свои права доступа или свой порядок данных.
Плата за готовое - обычно за каждого пользователя в месяц, и данные лежат у поставщика. Плата за своё - один раз за разработку и потом за поддержку, зато продукт ваш. Про то же решение для учётной системы мы разбирали в статье про разработку CRM на заказ.
Если готовое закрывает большую часть задач и вы готовы подстроиться - берите готовое. Своё пишите под то, что действительно отличается.
Какие задачи отдать в приложение, а какие не стоит
В приложение идут короткие задачи с телефона в момент работы:
- принять или закрыть заявку на объекте;
- отметить выполнение работы с фото и подписью;
- отсканировать товар или документ;
- сверить остатки на складе;
- сообщить о поломке или нехватке;
- показать список задач на день.
Не стоит тащить в приложение отчёты и выгрузки для руководителя, настройки справочников и тарифов, переписку внутри компании (для неё есть мессенджер) и работу, где нужен большой экран с таблицей на десяток колонок.
Что берём в первую версию
Коротко: одна-две роли и пять-восемь задач, которые закрывают самую частую работу. Остальное ждёт второго этапа.
Порядок сбора:
- Выпишите десять самых частых действий сотрудников за неделю.
- Отметьте те, что делают с телефона или могли бы.
- Оставьте пять-восемь самых частых.
- Определите роли: кто заходит в приложение и что видит каждая роль.
- Опишите по каждой задаче, что делает сотрудник и что видит руководитель.
- Согласуйте, что именно означает «готово».
Роли считайте по действиям, а не по должностям. Пример для склада: кладовщик принимает и отгружает товар, водитель отмечает доставку, руководитель смотрит статус. Это три роли, хотя должностей в штате может быть больше. Если две роли делают почти одно и то же, объедините их.
Если задача сегодня разбросана по таблицам и группам в мессенджере, начать стоит с наведения порядка в данных, а приложение подождёт. Похожий путь - в статье про дашборд отдела продаж.
Что в первую версию брать рано
Копия компьютерной системы со всеми разделами, которую неудобно листать на телефоне. Раздел «для всех», где разные службы видят чужие данные. Чаты внутри приложения. Сложная отчётность и графики, которые никто не открывает. Умные подсказки, пока не решены базовые задачи.
Лишние экраны удлиняют разработку, а сотрудник открывает приложение, чтобы сделать одно действие за минуту, и не хочет изучать меню.
За что вы платите: до запуска и после
Коротко: смету двигают не «красивый дизайн», а число ролей и задач, работа без сети, интеграции и две платформы. После запуска остаются обновления, поддержка и сервер.
Что сильнее всего влияет на цену разработки:
- Число ролей и задач. Каждая роль - отдельные экраны и права. Пять задач и две роли стоят заметно меньше, чем двадцать задач и пять ролей.
- Работа без сети. Синхронизация и разрешение конфликтов - отдельный крупный кусок работы.
- Интеграции. Связь с вашей учётной системой, складом или CRM удлиняет проект и требует доступа к данным.
- Две платформы. Нужны и iPhone, и Android - работы больше, чем под одну.
- Доступ и безопасность. Раздельные входы, права, шифрование и журнал действий добавляют этап.
Отдельно идут расходы после запуска:
- Обновления под новые версии iOS и Android. Магазины приложений поднимают требования к сборкам, и старые перестают приниматься.
- Поддержка и мелкие доработки. Пожелания сотрудников не заканчиваются после релиза.
- Сервер и хранение данных. Приложению нужна серверная часть, которая тоже требует присмотра.
- Публикация и обновления в сторах. Учётные записи, ревью, сопровождение - отдельная работа.
Точную сумму подрядчик назовёт после списка задач. Просите в ответе не только сумму, но и состав работ по этапам и что входит в поддержку. Мы присылаем состав работ и смету за 24 часа - опишите задачу.
Работает ли приложение без интернета?
Коротко: да, если это заложено заранее. Офлайн требует отдельной работы над синхронизацией и конфликтами данных, сам по себе он не появится.
Телефон без сети сохраняет данные локально и отправляет их на сервер, когда связь появится. Тут всплывают вопросы, которые решаются на этапе проектирования:
- чья версия записи считается главной, если её меняли двое;
- чем отличается «данные не ушли» от «данные ушли, но ответ не пришёл»;
- как сотруднику показать, что запись сохранена и ждёт отправки.
Если работа без сети нужна, скажите об этом подрядчику в начале. Дописать её в готовое приложение трудно и дорого.
Данные и доступ: как не отдать всё общим логином
Коротко: у каждого сотрудника должен быть свой вход. Общий аккаунт на бригаду появляется из удобства, но обнуляет всю защиту данных.
Что заложить:
- Личный вход для каждого, при необходимости - по коду из SMS или по отпечатку.
- Права по ролям: кто что видит и кто что может изменить.
- Пароли и ключи в защищённом хранилище, отдельно от кода приложения.
- Шифрование данных на телефоне, чтобы потерянный аппарат не открыл доступ.
- Журнал действий: кто и когда менял важные записи.
Если сотрудники работают с корпоративных телефонов, часть контроля берёт на себя управление устройствами (MDM) - это отдельная настройка, о ней стоит поговорить с подрядчиком.
Задание подрядчику: что в нём должно быть
- Кто пользователи. Роли и что делает каждая.
- Список задач первой версии. По пунктам, с результатом по каждой.
- Что происходит без сети. Нужен офлайн или нет.
- Какие данные вводятся и откуда. Справочники, интеграции, источники.
- Требования к доступу. Раздельные логины, права, хранение данных.
- Критерии приёмки. Что вы будете проверять перед оплатой.
Чем конкретнее этот список, тем меньше споров на приёмке.
Приёмка: что проверить до оплаты
Коротко: принимайте по заранее описанным сценариям, каждый пункт - на реальном телефоне. Фраза «теперь работает» ничего не подтверждает.
- Пройден каждый сценарий из задания на настоящем устройстве, а не только на демонстрации.
- Проверен вход для каждой роли: сотрудник видит только своё.
- Отключили интернет и повторили сценарий: данные сохранились и дошли после связи.
- При ошибке сотрудник видит понятное сообщение, и данные не теряются.
- Есть доступ к исходному коду, документации и серверу приложения.
- Понятно, как ставить обновления и что входит в поддержку.
Отдельно проверьте мелочи, которые ломают ежедневную работу: мелкий текст на маленьком экране, кнопки вне зоны большого пальца, долгую загрузку.
Признаки, что проект идёт не туда
- Нет письменного списка задач первой версии, работа идёт «как у всех».
- Подрядчик ни разу не показал работу на настоящем телефоне.
- Вопрос о работе без сети всплывает в конце, а не в начале.
- Исходный код, документация и сервер остаются закрытыми.
- После запуска в компании нет человека, который ведёт приложение.
С чего начать
Соберите список задач первой версии, посчитайте роли, определитесь с работой без сети и доступом. Это займёт несколько вечеров, но окупится: подрядчик увидит конкретную задачу и даст внятную оценку, а не размытое «зависит». Примеры проектов, где мы готовили архитектуру и ТЗ с такого списка требований: wellness-приложение и продукт на общем фундаменте.
Источники
- Apple Developer, «Volume Purchase and Custom Apps» - как распространять приложение только внутри своей организации через Apple Business Manager и MDM: Custom Apps
- Google Play, «Distribute private apps» - закрытая публикация приложения для сотрудников и раздача через Managed Google Play: Private apps
- Android Developers, «Offline-first» - как строят приложение, которое работает без сети: Offline-first
- OWASP, «Mobile Application Security Verification Standard» - проверки защиты мобильного приложения и хранения данных: MASVS
- NIST, «Guidelines for Managing the Security of Mobile Devices in the Enterprise» - общие принципы защиты корпоративных телефонов и данных: SP 800-124
- MDN Web Docs, «Progressive web apps» - что умеет веб-приложение и где его границы на телефоне: Progressive web apps
Если решили, что приложение нужно, не начинайте с подбора исполнителя - соберите список задач и покажите нам: вернёмся с составом работ и сметой за 24 часа.