Мобильный сомелье iSimple: как выпустить качественное приложение в короткие сроки

# Из нашей практики
Октябрь 2018 г
SimbirSoftMobile

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

У нас тут проблемы, люди жалуются, посмотрите?

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

Ревизия и проведенное в короткие сроки приемочное тестирование выявило следующие направления для работы:

  • наличие достаточно критичных дефектов в зависимости от операционной системы (iOS, Android);
  • ошибки в базе данных;
  • рекомендации по улучшению usability;
  • различия функционала (или отсутствие) на разных платформах;
  • небольшие пробелы в логике пользовательских сценариев.

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

Мы вам доверяем, давайте сделаем еще

Необходимо было разработать экран авторизации и профиля для Android и Карту лояльности для обеих платформ.

Исходя из собственного опыта и анализа существующего приложения мы выбрали следующие принципы:

  • первым делом аналитика! Стоит договориться “на берегу”: какие задачи будет решать функционал, чтобы избежать излишней разработки;
  • ревью дизайна QA-экспертами до начала разработки;
  • не забываем про нефункциональные требования при постановке задач;
  • проработка логики по пользовательским сценариям.

Переговоры и аналитика

Для того, чтобы понять, какие задачи будет решать функционал, в результате брифа мы выяснили, какие методы запросов будут использоваться и какие ответы должны быть получены. Эксперты QA, изучив присланные шаблоны методов, составили каверзные вопросы:

  • Может ли прийти ответ без телефона?
  • Является ли обязательным поле ввода email или только поле номера телефона?
  • Может ли пользователь оформить карту самостоятельно? и многие другие.

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

Ревью дизайна

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

В рамках ревью может быть выявлено:

  • влияние на дизайн ввода в поле длинной фамилии;
  • удобство заполнения формы, если открыта клавиатура у пользователя;
  • “дизайнерские фишки”, которые усложняют разработку и изначально не учитывались.

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

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

Постановка задач с учетом нефункциональных требований

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

Результат

Качество нашей совместной работы было подтверждено отзывом Заказчика: “... Всё сделано по фен-шую...” Миссия по стабилизации продукта в короткие сроки выполнена. Команда продолжила улучшать продукт и решать новые бизнес-задачи.