Как ПИК запустил мобильное приложение для технадзора за месяц
Привет, это Максим Павлов из KTS. Мы создаём веб-сервисы и мобильные приложения для бизнеса.
Мобильное приложение для ПИК упрощает контроль качества в строительстве. Рассказываем, как разработали приложение за месяц, какие функции вошли в первый релиз и как ПИК успешно внедрил его среди сотрудников, которые не особенно этого ждали.
Кейс компании ПИК — не новый. Мы запустили MVP в 2017-ом году всего за месяц, а после прошли с клиентом полный цикл: помогли перейти от ведения бумажных документов в цифру, автоматизировали и полноценно цифровизировали систему учета замечаний проверяющих.
Этот проект стал одним из первых значимых для нас кейсов по разработке offline-first приложений для полевых сотрудников.
Разработка для ПИК шла в три этапа по году, сегодня расскажу о первом из них.
Как организован технадзор в ПИК
ПИК — лидер рынка недвижимости, который строит десятки жилых комплексов одновременно. За каждым из комплексов закреплены проверяющие. Они приезжают на стройплощадку и оценивают качество строительства.
Раньше проверяющие ходили по объектам, записывали все замечания на бумаге и отправляли их на рассмотрение и согласование.
В рамках такого процесса сложно определить, качественно ли проверяющие делают свою работу. К тому же из-за бумажных отчетов замечания приходили с опозданием.
В 2017 году ПИК обратились к нам с задачей автоматизировать работу проверяющих технадзора — то есть, помочь упростить проверку качества строительства.
ПИК решили разработать приложение для мобильных устройств, чтобы проверяющие могли оставлять замечания на улице. Все замечания собрали в единую информационную систему, и руководству стало удобнее отслеживать работу технадзора.
Как приложение может решить проблемы технадзора
Первым делом нам было важно узнать, с какими ещё проблемами сталкивается руководство компании. Их было четыре. Конкретизирую:
Начало работы над MVP: пользовательский сценарий
Чтобы уложиться в сроки, дизайн сделали максимально простым. Так выглядела первая версия приложения, запущенная через месяц:
Проверяющий заходит в приложение, выбирает нужный ЖК, стадию строительства и объект, видит старые замечания и оставляет новые. Все данные сохраняются и при появлении сети отправляются на сервер.
Как ПИК внедряли приложение
Разработать приложение — это ещё полдела. Чтобы получить эффект для бизнеса, надо его внедрить в рабочий процесс. Вот, что сделала команда продукта на стороне заказчика, чтобы успешно внедрить приложение:
В итоге проверяющие старались вносить больше замечаний, но писали только существенные пункты.
Обновление MVP: новые функции
После внедрения ПИК собрал фидбек от пользователей. Постепенно пришли идеи того, что можно добавить и улучшить.
Так появились:
- Возможность прикрепить медиа: фото, видео, чертежи
- Редактор фото: рисование, линейки, надписи
- Редактор видео: обрезка, изменение качества. За основу взяли open source плеер Телеграма
- Возможность выбрать подрядчика, который должен устранить замечание
Как эффективно доставлять обновления сотрудникам
Приложение активно развивалось, поэтому нужно было позаботиться о том, чтобы обновления быстро доставлялись до сотрудников. Причем так, чтобы минимально отвлекать их от работы. Для распространения приложения мы выбрали платформу HockeyApp (сейчас она называется Appcenter).
По сравнению с Google Play, у HockeyApp был ряд преимуществ:
- Возможность скачать нужную версию приложения. Пользователь видит список всех версий и может скачать обновление за пару кликов. А при ошибках обновления может откатиться до предыдущей версии и продолжить работу.
- Надежное оповещение о новых версиях. Информация о наличии новой версии всплывает прямо на главном экране приложения. Это фича «из коробки» HockeyApp.
- Есть принудительное обновление. Версию можно отметить обязательной для установки. Тогда пользователь просто не пройдет дальше первого экрана, пока не обновит приложение. Так легче установить критически важные обновления принудительно всем пользователям.
- Удобно тестировать. HockeyApp позволяет тестировщикам проверять новые функции изолированно друг от друга. Для тестирования каждой фичи разработчики собирают полную копию сервиса, который сейчас доступен пользователям. Но к этой копии применены изменения, касающиеся только одной новой фичи.
Эта история типична для тестирования веб-проектов на отдельных фича-серверах — недавно писали, как фича-серверы ускоряют Time to Market.
Главные результаты
Уже через месяц мобильное приложение дало ПИК несколько ключевых преимуществ: информатизация системы, систематизацию в работе с замечаниями и обеспечение прозрачности процессов.
- Информатизация: замечания переехали из бумажных бланков в информационную систему, улучшилась структура и методики анализа данных. Передача данных стала быстрее.
- Систематизация замечаний: теперь у заказчика есть возможность системно работать с замечаниями. В головном офисе видят все недочеты на стройках, а проверяющие работают быстрее и гораздо более организованно.
- Прозрачность процессов: все недостатки можно увидеть на фото и видео, а информация о них остается в приложении, пока замечания не исправят.
Техническая сторона
Проектирование синхронизации
Обычно синхронизация запускается автоматически, и это удобно. В 2017 году стандартным методом для Android был SyncAdapter. Но при проверке выяснилось, что он запускает синхронизацию при малейшем появлении сети.
Такой вариант нам не подошел: если на объектах стройки и появлялась связь, она была слабой и кратковременной. Поэтому идея оказалась нерабочей.
При каждой синхронизации проверяющий должен скачать большое количество данных. Этот процесс идет долго, а замечания во время синхронизации вносить нельзя, иначе пострадает их согласованность. Чтобы это решить, на все время процесса мы добавили блокировку интерфейса. Так проверяющий точно не мог случайно внести замечания в записи в момент их синхронизации.
В итоге остановились на ручной синхронизации. Сотрудникам она подошла, потому что выгружать данные из офиса удобно. Утром проверяющий приходит в офис и вручную синхронизирует замечания. Затем работает с ними в течение дня без доступа к сети, используя уже загруженные данные. Вечером возвращается в офис и снова синхронизируется.
А чтобы ускорить синхронизацию, сделали ее многопоточной. Данные, полученные разными потоками, не должны конфликтовать. Мы привязали потоки синхронизации к корпусам: их данные не зависят друг от друга.
Как организовали сбор ошибок
Получившийся продукт автоматизирует один из ключевых процессов компании, поэтому было важно максимально быстро узнавать о багах и устранять их. Причем было необходимо определять конкретного сотрудника, у которого они возникли, чтобы проблемы приложения не стали причиной его оправданий в отказе работать с ним.
Мы использовали инструмент Fabric — сейчас он называется Firebase Crashlytics. Он помогает узнать, у какого пользователя ошибка.
Чтобы не тратить время разработчиков на некритичные ошибки, согласовали с заказчиком правило: исправляем только те ошибки в приложении, которые встречаются более чем у 3 человек, или у одного человека более 10 раз.
Этап 2017 года — самый первый. В дальнейшем мы развивали и улучшали приложение, оптимизировали каждый процесс с учетом его особенностей. Как именно — расскажем в следующих статьях.
Быстро вы сориентировались по работе, молодцы! Я думаю, заказчик сэкономит так много денег.
Спасибо:)
Интересно, спасибо!
П.с можно интерфейсы просто картинками пж😊 Видосом как-то очень неудобно
Столько фичей и всего за месяц? Где вы нашли таких мощных разработчиков?
В основном по рекомендациям:)
KTS основали разработчики, поэтому поиск разработчиков по рекомендациям был основным каналом привлечения сотрудников в то время
Сейчас набираем с рынка, по рекомендациям и через собственную школу, писал о ней в отдельной статье https://vc.ru/life/639896-kak-nanimat-razrabotchikov-cherez-shkolu-nashi-vyvody-za-6-let-obucheniya-2600-studentov-i-50-nanyatyh-stazherov
Привет! Отличная история, Максим! Скажи, пожалуйста, а на данный момент Ваша Компания все еще занимается разработкой и сопровождением этого продукта? Если да, то всеми силами буду стараться попасть на этот проект в качестве фронтенд- разработчика)).
Стройка - моя большая страсть и я имею в этом деле неплохой уровень экспертизы, поскольку в недавнем прошлом руководил небольшой строительной компанией по строительству частных коттеджей (ИЖС).
Разбираюсь в нюансах технологий строительства, умею читать проектную документацию, работать с ней, читать нормативную документацию (СП, ТУ, ГОСТ, Технические карты производителей материалов).
Разбираюсь в свойствах материалов:
- прочность материала на сжатие, срез, разрыв, смятие, изгибающие и деформационные нагрузки;
- жесткость;
- сопротивление теплопередачи;
- инерционность;
- сорбционность;
- паропроницаемость;
- влагонакопление;
- гидрофобность;
- циклы промерзания;
- продуваемость ветром;
- пластичность;
и других.
Разбираюсь в физических процессах внутри материалов и возведенных из этих материалов конструкций, связанных с особенностями эксплуатации зданий и климатическими зонами:
- паропроницаемость и парциальное давление;
- капиллярный подъем влаги;
- диффузия;
- теплосопротивление и теплопроводность;
- сорбция;
- удельная площадь поверхности и трещинообразование;
- инерционность и теплоемкость;
и других.
Владею пониманием современных технологий строительства зданий:
- конструктив здания и нагрузки (умею собирать и считать будущие нагрузки);
- монтажа скатных и плоских кровель;
- фасадов (мокрые, вентилируемые, трехслойные системы);
- утепления здания в целом и отдельных его элементов;
- коммуникации.
Умею выполнять теплотехнический расчет ограждающих конструкций.
Также могу выполнить технико-экономический расчет предстоящего объекта строительства.
Разбираюсь в нюансах электромонтажа, слаботочных систем, систем вентиляции, отопления, водоснабжения, канализации.
Владею технологией внутренней отделки: современные тенденции, материалы, их свойства и технология применения.
Понимаю принципы эргономики и связанные с антропологическими особенностями нюансы планировок и меблирования помещений.
Разработка - второе направление, в котором активно развиваюсь!
Мой стек: JS, TS, React, RTK, SCSS, Tailwind.
Также работал с NodeJS, PostgreSQL, Sequalize, Express.
Да, это не самое лучшее место для самопрезентации, но тут, скорее, сработал эффект эмоций))) Когда что-то отзывается внутри, откликается))
Оригинальный отклик:)
Очередная самохвалительная хвальба. На этот раз ПИка...
И нет им конца и нет им края, увы.
Наоборот старались рассказать полезную информацию про крутой кейс
Должно быть полезно для тех, кто задумывается о разработке мобильного приложения для технадзора или для других полевых сотрудников
Комментарий удален модератором
С Никитой Литвинковым