Система распознавания лиц для ритейла

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

Итак, какие задачи решит данный продукт:

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

Анализ поведения покупателей. Отслеживание перемещения и поведение покупателей в магазине для анализа эффективности размещения товаров, оптимизации маршрутов движения покупателей.

Повышение качества обслуживания. Идентификация постоянных клиентов на основе предоставленных ими данных в системе.

Управление очередями. Магазины могут автоматически регистрировать входящих клиентов и предупреждать о кассовых аппаратах, которые освободились, чтобы клиенты могли получить быстрое обслуживание.

Безопасность. Обнаружение и предотвращение краж и мошенничества. Сравнение лица посетителей с базой данных подозреваемых лиц и отправлять предупреждения о потенциальных преступниках сотрудникам охраны.

Заинтересовал продукт? Оставьте ваш контакт, и мы с радостью свяжемся с вами.

Разработка ПО: как сделать этот путь менее тернистым

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

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

 

Нанять программистов недостаточно; заказчику также необходимо вникнуть в техническую терминологию и быть в курсе процесса. Разработчики часто используют узкоспециализированную терминологию, и им кажется, что некоторые вещи очевидны и не требуют объяснений. Однако, если заказчик не запрашивает пояснений в нужный момент, разработчики могут предположить, что все ясно, и упустить критически важные детали проекта. Активно задавайте вопросы и уточняйте непонятные моменты, чтобы обеспечить полное понимание проекта. Полезно на базовом уровне разбираться в технологическом стеке, выбранном командой разработчиков. Понимание стека программного обеспечения, включающего фреймворки, языки программирования и используемые сервисы, поможет быть в курсе процесса разработки и эффективно общаться с командой. Соответственно вам нужен человек, который будет курировать проект и планировать работу команды в соответствии с бизнес-видением, быть активным связующим звеном между бизнесом и технической реализацией.

 

Отдавайте приоритет качеству, а не количеству функций. Важно создать продукт, легко поддерживаемый и удобный для конечных пользователей, а не перегружать его множеством ненужных функций. Лучшим подходом к внедрению новых функций является использование обратной связи от пользователей и проведение A/B-тестирования. Это поможет оптимизировать бюджет и избежать его необоснованного расходования. Поэтому предложение команды разработчиков создать минимально жизнеспособный продукт (MVP) для тестирования и оценки заслуживает пристального внимания.

 

Если вы являетесь генеральным директором или владельцем бизнеса, вашей главной целью является развитие вашего бизнеса, а не непосредственное управление разработчиками. Найти команду, способную обеспечить бесперебойный процесс разработки, — это то, что вам нужно. Допустим, вы планируете создать мобильное приложение. Вероятно, вам потребуется дизайнер для разработки пользовательского интерфейса и пользовательского опыта, а также два инженера: iOS-разработчик и специалист по бэкенду. Важно понимать, что нет универсальных специалистов, способных выполнять все задачи. Разработчики программного обеспечения специализируются на определенных областях и должны работать в команде, чтобы создать жизнеспособный продукт. Дополните команду Scrum-мастером и бизнес-аналитиком, и вашу команду уже не назвать малочисленной. Нужна ли вам такая команда? Однозначного ответа на данный вопрос нет, это зависит от конкретных особенностей проекта. Однако необходимо помнить, что каждый участник команды должен приносить явную пользу процессу разработки, иначе его присутствие может стать излишней тратой времени и денег.

 

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

 

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

 

В мире разработки информация играет ключевую роль. Открытое общение в команде разработчиков является неотъемлемым элементом успешного процесса. Чем больше деталей вы донесете до команды, тем более подготовленной она будет для работы. Отсутствие информации или неполное понимание изменений в бизнес-приоритетах может привести к реализации ненужных функций и потере времени, которое могло быть использовано более эффективно. Так, например, идеи, которые еще не сформировались полностью, могут стать ценными новыми функциями, способными поднять проект на новый уровень.

 

Закладывайте риски. Хотя вы можете создать идеальный план разработки, внедряя лучшие практики и учитывая даже малозаметные детали, такие как время на тестирование, рефакторинг, официальное время на отдых, реальность в большинстве случаев преподнесет непредвиденные ситуации. Например, новая функция может потребовать больше времени, чем ожидалось, или возникнет острая необходимость более раннего релиза. Именно здесь Agile-подход к разработке программного обеспечения становится бесценным. И снова правильная коммуникация и открытость внутри проекта помогают преодолеть подобные препятствия.

 

Разработка не останавливается после успешного релиза. Необходимо поддерживать и обслуживать продукт. Важно решить вопросы, связанные с наличием команды DevOps, которая будет обеспечивать автоматическую работу ПО. Также стоит учесть, кто будет отвечать за дальнейшее развитие. Если текущая команда разработчиков не будет участвовать в пост-релизной деятельности, нужно подготовить все необходимое для успешной передачи кодовой базы следующей команде.

 

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

Идеальное собеседование в ИТ: миф или реальность?

Существует ли стандартный сценарий собеседования и как вывести идеальную формулу успеха, чтобы среди множества кандидатов найти того самого, который станет звездой вашей команды? На эту тему поговорили с ведущим рекрутером Бизнес-Азимут Станиславом Наркевичем.

Конференция «Перспективы Open Source в России»

Сейчас очень много говорят про разработку на базе Open Source. Существуют прогнозы, что к 2026 г. более 90% российских компаний будут использовать открытое ПО, особенно учитывая необходимость замены продуктов ушедших с рынка вендоров. У Open Source много преимуществ.  Большинство Open Source продуктов доступны бесплатно. Исходный код открыт, поэтому пользователи могут изменять его и адаптировать под свои нужды, что дает большую гибкость и возможности для индивидуальной настройки. Сообщество, использующее и разрабатывающее Open Source проекты, может обнаруживать и исправлять ошибки и уязвимости гораздо быстрее. Open Source стимулирует инновации и ускоряет развитие технологий благодаря свободному обмену знаниями и опытом между разными разработчиками. Это не полный список преимуществ, но он показывает, почему использование Open Source может быть выгодным для компаний и индивидуальных пользователей.

Однако несмотря на все эти преимущества, необходимо крайне внимательно отнестись и к существующим подводным камням. 25 мая Бизнес-Азимут примет участие в конференции CNews «Перспективы Open Source в России», где наши эксперты расскажут о том, какие риски и возможные ошибки необходимо учесть при использовании свободного ПО в ИТ- проектах.

 

Recruitment Day

Мы все знаем, что ИТ-проекты являются одними из самых сложных и динамичных в бизнесе. Поэтому формирование правильной команды – это один из ключевых факторов успеха. Но как правильно собрать команду ИТ-проекта, чтобы она была не только компетентной, но и эффективной?

24 мая на конференции «Recruitment Day. Современные подходы и инструменты» HR директор Бизнес-Азимут Любовь Малиновская расскажет, как собрать команду для ИТ-проекта, какие этапы нужно пройти, как правильно определить роли и задачи в команде, как подобрать кандидатов, учитывая их профессиональные и личностные качества. Кроме того, Любовь отдельно остановится на ошибках, которые могут свести на нет всю проделанную работу.

 

Формируем команду для ИТ-проекта

Если перед вами когда-либо стояла задача собрать команду для ИТ-проекта, вы знаете, что это многогранный и достаточно сложный процесс, где ошибка может стоить очень дорого. Вот несколько базовых этапов формирования команды, которые лежат в основе наших проектов:

Определение ролей и задач команды

Это важно, потому что каждый член команды должен понимать свои обязанности и как его работа вписывается в общие цели проекта. Определение ролей в команде начинается с фиксирования целей и задач проекта. Необходимо понять, какие компетенции и навыки нужны для их достижения.

После определения ролей необходимо поставить задачи для каждой роли. Задачи должны быть конкретными, измеримыми и выполнимыми в рамках сроков проекта.

Поиск и отбор участников

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

+ Компетенции и опыт

+ Личностные качества. Каждый член команды должен быть готов работать в коллективе, быть коммуникабельным, готовым к общению и сотрудничеству.

+ Совпадение ценностей. Важно убедиться, что кандидаты в команду разделяют ценности и цели проекта. Это поможет создать единый командный дух и сформировать единое видение.

Разработка процесса коммуникации

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

Разработка плана работы

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

Непрерывная поддержка и развитие команды

После формирования команды необходимо продолжать ее поддерживать и развивать, обеспечить всем необходимым оборудованием и ПО, а также предоставить доступ к обучающим материалам и тренингам.

 

Разбираемся, что такое CI/CD

Cегодня мы хотим поговорить о CI/CD, что означает Continuous Integration/Continuous Delivery.

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

Сегодня CI/CD является неотъемлемой частью DevOps, что означает совмещение разработки и операций. Это позволяет командам разработчиков быстрее реагировать на изменения, уменьшить количество ошибок и сократить время, необходимое для доставки новых функций до пользователей.

  • Интеграция кода в общий репозиторий на регулярной основе
  • Сборка и проверка кода на наличие ошибок и конфликтов с другим кодом в автоматическом режиме
  • Выявление ошибок на ранней стадии разработки, когда их исправление является менее затратным по времени и ресурсам

  • Автоматическая доставка программного обеспечения в тестовую или производственную среду
  • Новый код быстро и безопасно попадает в производственную среду, что позволяет быстрее отвечать на изменения требований пользователей или рынка

Преимущества использования CI/CD очевидны:

Контроль версий. Система управления версиями исходного кода позволяет отслеживать изменения в коде, вносить изменения в разных ветвях, а также сливать изменения из разных ветвей.

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

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

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

Мониторинг и логирование. Процесс отслеживания работы приложения и сбора данных о его работе позволяют быстро обнаруживать проблемы в работе приложения и их причины.

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

Система обезличивания данных для тестовых полигонов банка

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

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

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

В 2021 году ВТБ внедрил платформу обезличивания данных на базе алгоритмов машинного обучения. Это позволило повысить уровень защищенности персональной клиентской информации, а также банковской и коммерческой тайны.

Компания «Бизнес Азимут» приняла участие в проекте по разработке системы создания и распространения обезличенных баз данных, используемых в процессе тестирования технологических продуктов. Продукт работает уже около 2 х лет и зарегистрирован в реестре российского ПО.

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

Прежде всего, была создана модель профилирования баз данных, которая
позволила определить список атрибутов персональных данных, то есть какая именно информация в базе относится к конфиденциальной и должна быть обезличена. В основе платформы используются Open Source решения в части ETL, UI, ML. Точность классификации данных составляет более 96%.

Важным критерием при использовании обезличенных данных при тестировании функциональности программного продукта является сохранение не только объема, но и формата данных. Для этого используется алгоритм шифрования с сохранением формата FPE (Format preserving encryption). Например, номер телефона должен остаться набором цифр идентичной размерности, а имя и фамилия должны быть переведены в
данные с идентичным форматом и смыслом. Кроме того, критичным было
сохранить прослеживаемость данных внутри и между системами. Например, один и тот же номер ИНН должен измениться на один и тот же обезличенный номер везде, где он фигурирует.

Функциональность системы позволяет в кратчайшие сроки создавать еще более безопасные среды разработки и тестирования и сокращать время вывода продуктов и сервисов банка на рынок. В настоящее время мы осуществляем следующий этап этого проекта развитие и модернизацию системы, более точно затачивая ее под требования заказчика.

Аутсорсинг или разработка собственными силами

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

Плюсы аутсорсинга разработки ПО:

  • Экономическая эффективность. Аутсорсинг может быть более выгодным, чем создание команды внутри компании, особенно для небольших и средних бизнесов.
  • Быстрый доступ к экспертизе. В условиях дефицита ИТ-специалистов, критичен оперативный сбор команды, которая максимально точно соответствует требованиям проекта.
  • Уменьшение затрат на оборудование и программное обеспечение. При аутсорсинге не нужно тратиться на покупку и обучение персонала работе с новым оборудованием и ПО.
  • Гибкость в использовании ресурсов. Аутсорсинг позволяет гибко реагировать на изменения в проекте, например, уменьшать или увеличивать количество специалистов в команде, дополнять команду экспертами с узкой специализацией.

Но при выборе модели аутсорсинга стоит учитывать следующие аспекты:

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

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

 

Запись вебинара «Как успешно реализовать проект по разработке ПО»

Три основных составляющих успеха проекта по разработке ПО:

+ ТЗ
+ Команда
+ Четко организованные процессы

На что обратить внимание по каждому из направлений, мы рассказали на вебинаре «Как успешно реализовать проект по разработке ПО»

Мы всегда на связи!

    Нажимая кнопку «Отправить», Вы соглашаетесь на обработку предоставленных Вами персональных данных.