Процесс создания любого софта состоит из нескольких этапов. Пропуск хотя бы одного ведет к переделкам и срыву сроков.
Исследование и требования
Перед началом разработки приложения выявляются:
- Проблема пользователя.
- Бюджет.
- Главная метрика (например, время выполнения действия, покупка и пр.).
- 2-3 основных конкурента и их слабое место.
На этом этапе формируется документ со всеми ответами на эти вопросами и выводами из них.
Проектирование
Тут идея превращается в конкретный сценарий. На этом этапе создаются прототипы экрана, в них содержатся только самые важные элементы (кнопки, поля и пр.). Это быстро и помогает удалить лишнее и спроектировать действия реального пользователя.
Архитектура и дизайн интерфейсов
Чаще всего используют следующие решения:
- Нативное (iOS/Android) — максимальная производительность для каждой ОС.
- Кроссплатформа (Flutter, React Native) — быстрее и дешевле для двух платформ.
Далее дизайнер рисует прототипы, прорабатывает каждую кнопку: как выглядит обычно, при нажатии, при ошибке, когда грузится.
Перед тем как писать код, делают кликабельный макет в Фигме. Дают его протестировать группе людей, дают настоящее задание. Это лучший способ не потратить деньги зря.
Написание кода и тестирование
Код пишется циклами. Каждый из них заканчивается демо работающей функции заказчику. Автоматические тесты запускаются после каждого изменения — это ловит 70% багов до того, как их увидит человек. Проводится несколько видов тестирования:
- Ручное — человек проходит все сценарии из ТЗ.
- Автоматическое — скрипты проверяют, не падает ли приложение при определенных действиях.
В конце продукт тестирует сам заказчик. Заказчик лично подтверждает, что всё работает как ожидалось.
Релиз
Перед публикацией в сторах (App Store, Google Play, RuStore) подготавливаются иконка, скриншоты, описание приложения. Сразу после запуска обязательно устанавливают систему сбора ошибок. Она пришлет отчет с телефонов пользователей, если что-то упало — не придётся ждать их звонков.
После релиза может потребоваться доработка функционала – часто это выясняется только на этапе, когда пользователи активно взаимодействуют с софтом.
Никакое идеальное планирование на берегу не работает. Требования меняются часто меняются на ходу, когда вы видите работающий прототип. Главное – отслеживать работу вашего продукта, считаться с обратной связью пользователей и оперативно исправлять баги.
