Интегратор digital‑сервисов
Интегратор digital‑сервисов
Пятёрочки
Мобильное приложение для компании
Сервис для
проверяющих
качество работ
на стройке
Рассказываем, что сделали, зачем и как
Проблемы и решения
В июне 2017 года группа компаний ПИК пришла к нам с задачей: нужно было автоматизировать работу проверяющих на стройке. У ПИК была своя команда разработчиков: руководитель проекта, бэкендеры, дизайнеры, тестировщики. Они уже разрабатывали веб-версию сервиса автоматизации, и в дальнейшем мы работали совместно.
«ПИК ведет одновременное строительство десятков жилых комплексов, за каждым из которых закреплены проверяющие. Это люди, отвечающие за качество выполненных работ. Раньше они ходили по домам, записывали все замечания на бумаге, а потом отправляли на рассмотрение и согласование».

Роман Жуков
Руководитель проектов
в 2017-2019 гг
Непонятно, выполняют ли сотрудники технадзора свои обязанности
Решение: собирать данные в одном месте и передавать замечания на исправление
01
Проблемы приходят с опозданием
Пока замечание про трещину в стене дошло до этапа исправления, эту стену уже заштукатурили и провели электрику.

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

Решение: нужно собирать подробную статистику со всех жилых комплексов и анализировать её.
04
Начали работу
и выпустили MVP
Заказчик написал нам 11 июня.

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

Наше приложение взаимодействовало с действующим бэкендом, который разрабатывали в команде заказчика. Для MVP мы совместно определили следующий сценарий работы приложения:

Сценарий работы на MVP
Язык программирования
Приложение решили писать на языке Kotlin. К моменту начала разработки он только вышел в релиз, но у нас уже был опыт работы с ним. Писать код на Kotlin быстрее и удобнее, чем на Java, но у него был еще один важный плюс.

Проект стартовал в 2017 году и развивался еще несколько лет. Если в 2017 найти разработчиков на Java под Android было несложно, то в 2019 это стало уже затруднительно: Google стал рекомендовать Kotlin как предпочтительный язык для Android. Новые разработчики сразу начинают с него. Своевременное внедрение актуальной технологии позволило не тратить время на поиск разработчиков под устаревшую.
Как мы проектировали синхронизацию
При каждой синхронизации проверяющий должен скачать большое количество данных. Этот процесс идет долго, а замечания во время синхронизации вносить нельзя — иначе пострадает их согласованность.
Сначала на все время процесса добавили блокировку интерфейса. Так проверяющий точно не мог случайно внести замечания в записи в момент их синхронизации.
Блокировка
интерфейса при
синхронизации
Чем ближе срок сдачи корпуса, тем больше накапливается замечаний. Их синхронизация может длиться очень долго.

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

Максимальное количество потоков — 64. Обычно этого достаточно: редкий проверяющий скачивает данные по большему количеству корпусов. Но зато это ограничение позволяет не плодить лишние потоки и открытые HTTP-соединения, не увеличивать количество потребляемой памяти приложением.
Многопоточность
Обычно синхронизация запускается автоматически, и это удобно. В 2017 году стандартным методом реализации автоматической синхронизации на Android был SyncAdapter. Но при проверке выяснилось, что он запускает синхронизацию при малейшем проявлении сети.

Нам этот вариант не подошел: если на объектах стройки и появлялась связь, она была слабой и кратковременной. Таких периодов появления связи не хватало для полноценной синхронизации, поэтому она проваливалась.

Поэтому мы выбрали ручную синхронизацию. Она хорошо ложится на режим работы сотрудника. Утром он приходит в офис и вручную синхронизирует замечания. Затем в течение дня без доступа к сети работает с ними на основе загруженных данных. Вечером возвращается в офис и снова синхронизируется.





















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

Для распространения приложения мы выбрали платформу HockeyApp. Сейчас она называется Appcenter. Для достижения наших целей у HockeyApp есть ряд преимуществ по сравнению Google Play:

Распространение обновлений
Простое распространение обновлений
Пользователь видит список всех версий и при ошибках обновления может откатиться до предыдущей
Удобство тестирования
Тестировщикам HA позволяет отдельно проверять несколько фичей, которые разработчики собрали в разных версиях
Наличие новой версии видно прямо в приложении
Пользователи сразу могут обновиться. Это фича «из коробки» HockeyApp. К сожалению, с этой активированной функцией нельзя выпускать приложение в Google Play в дальнейшем

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

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

Таким образом система сбалансировалась: проверяющие старались вносить больше замечаний, но писали только существенные пункты.
Протестировали MVP на пользователях
По результатам тестирования добавили:
Результат
Цифровизация
Замечания переехали из бумажных бланков в информационную систему
Систематизация замечаний
Теперь у заказчика есть возможность системно работать с замечаниями: в головном офисе видят все недочеты на стройках, а проверяющие работают быстрее и гораздо организованнее
Прозрачность процессов
Все недостатки можно увидеть на фото и видео, а информация о них остается в приложении, пока замечания не исправят
Развитие
В дальнейшем мы усовершенствовали приложение: добавили новые функции и оптимизировали каждый процесс с учетом его особенностей
Заказать разработку мобильного приложения
Не хотите писать? Позвоните нашему менеджеру по телефону +7 926 735-45-32 и расскажите про ваш проект