Доделай мне приложение, разработчик! Там осталось чуть-чуть
Однажды наш партнёр прислал мне контакт со словами “нужна помощь одному клиенту доделать приложение, там немного осталось”. Знакомо? Рассказываем от А до Я, как мы реализовали приложение для главного поставщика бананов в России, и как мы защищались от клиента. А в конце статьи ссылка на видео-интервью с клиентом и его взгляд на процесс.
О проекте и клиенте
Banana Traders, компания из Эквадора, которая поставляет в Россию 97% всех бананов. Рынок производителей бананов очень простой: это плантации с обычными трудягами, которые руками создают продукт и очень далеки от информационных технологий.
Banana Traders решили разработать супер-простое приложение условно в “один экран”, на котором была бы вся необходимая информация о ценах на бананы в регионах и стране, для того чтобы поставщики и покупатели могли гибко реагировать на изменение рынка.
Требования к проекту были минимальные: графики и таблицы на главной странице, платная подписка на приложение с открытием доступа к контенту, загрузка приложения в сторы.
Наследие ex-разработчика
Перед нами приложением занимался фриланс-разработчик по всем канонам жанра: без ТЗ, с ошибками, недооценкой проекта и исчезновением вместе с половиной доступов к проекту.
Когда мы проанализировали приложение и сделали ревью кода, стало понятно, что он сделал только вёрстку страниц и некоторую хромую логику на главном экране, которую проще переписать с ноля.
Переговоры
Разговор с клиентом был очень короткий и начался сразу после приветствия:
- Значит так. Я вам платить сейчас ничего не буду. Сначала вы доделываете приложение, после этого я вам оплачу и не больше той суммы, которую мы вам называли до этого. Если нет - “до свидания!”
- До свидания!
Разговор меньше минуты.
И понять клиента можно было: ведь он уже потерял деньги на проекте и доверия у него больше не было ни к кому.
Но как вы понимаете, раз проект завершен, значит переговоры всё-таки прошли успешно.
Следующим звонком с представителем клиента мы уже обсудили их реальную ситуацию, что было сделано предыдущим разработчиком, и какой объем работ нужно сделать на самом деле. К примеру: никто не задумывался о том, что в приложении как-то должны появляться новые цены, которые собирает вручную менеджер компании, а как они будут попадать в систему?
И так мы договорились с клиентом на поэтапную работу, небольшое увеличение бюджета с их стороны (хотя на выходе у клиента получилась 55% скидка) и приступили к работе.
Откровенно скажу: сработали мы в минус по проекту, но мы пошли в него осознано - это был стратегический заказ. Мы знали, что выполним эту работу качественно, а клиент будет развивать свой бизнес и не захочет больше искать других исполнителей, когда есть “свои”, проверенные.
Защита от клиента
После жестких переговоров, чёткое техническое задание (ТЗ) было жизненно необходимым. Иначе мы бы стрессовали на переговорах с клиентом о его ожиданиях и наших.
Клиент и Разработчики - люди с разных планет. Даже если они говорят на одном языке, это не значит, что они друг друга понимают. Поэтому мы простое ТЗ описывали 2-3 дня, делали 2 встречи, задавали клиенту вопросы, о которых клиент даже не задумывался:
- как будут регистрироваться пользователи в приложении?
- какие цены должны отображаться на графиках: дневные или средние значения за неделю?
- нужна ли аналитика по пользователям в приложении?
В результате получился текстовый файл, в котором была зафиксирована структура приложения, клиентский флоу (последовательность переходов между экранами) и главное все тексты кнопок и экранов на испанском языке.
По итогу мы не учли только 2-3% в ТЗ, которые исправили без проблем в ходе работы. Ним и не потребовалось встреч и созвонов - всем всё было очевидно.
Разработка и тестирование (текст разработчиков)
Для разработки приложения мы использовали конструктор Flutter Flow и фреймворк Flutter, чтобы ускорить процесс разработки и получить качественный продукт.
Главный экран приложения был создан с использованием библиотеки fl_chart, которая позволяет отображать графики истории рыночной стоимости бананов.
Экран с таблицей производителей был создан с использованием виджета Table, чтобы пользователи могли легко просматривать информацию о рыночной стоимости бананов по дням и среднюю стоимость за неделю.
Мы также интегрировали в приложение in-app покупки через AppStore и Google Play, чтобы пользователи могли оформить подписку на получение информации о рыночной стоимости бананов. Для обработки платежей мы использовали сервис RevenueCat.
Для управления и обновления данных в приложении мы создали CMS-систему, которая позволяет заполнять информацию о рыночной стоимости бананов и отображать статистику по пользователям.
Завершив разработку, мы провели тестирование приложения, чтобы убедиться в его качестве и надежности. Мы использовали инструменты для автоматического тестирования, а также провели ручное тестирование на различных устройствах.
Шаг 3: Релиз и поддержка
Разработка приложения заняла чуть больше месяца, а его публикация почти 2!!! Было очень странно получать от платформ отказы типа “мы не нашли у вас функции удаления аккаунта”, когда у тебя в приложении 1 экран с 2 кнопками…
Но в результате мы всё равно опубликовали его на AppStore и Google Play, и сейчас пользователи из Эквадора могут скачать его бесплатно.
Приложение находится у нас на поддержке: мы отслеживаем стабильность работы продукта, смотрим за обратной связью и обращениями клиентов и консультируем клиента по вопросам управления приложением.
Результат
Мы ещё не успели опубликовать статью и видео-отзыв о проекте, а клиент уже вернулся с новыми задачами: добавления мультиязычности в приложении и вывод его на рынок России.
Считаю, что проект завершился успешно и приложение станет важным рабочим инструментом для всего рынка Эквадора. Так что в следующий, раз, когда будете покупать бананы 🍌 в магазине, знайте, что цену для этой сделки смотрели в нашем приложении 😄
И будем рады вашим лайкам и комментариям 👍🏻