Разработка
Чтобы сделать проект с нуля нужно как минимум 2 этапа — планирование и разработка. Что касается этапа планирования, то наш менеджер по продажам и системный аналитик собирают все необходимые требования и предоставляют клиенту набор пользовательских историй для оценки с разработчиком. Мы придерживаемся подхода пользовательских историй, поскольку он может представлять всю необходимую часть приложения для всех ролей в проекте и использоваться либо клиентом в целях определения специфики проекта, либо разработчиком для оценки проекта и разделения на этапы или итерации. Мы также обсуждаем каналы коммуникации, форму отчетности и коммуникации, чтобы прояснить все важные организационные моменты прежде чем двигаться дальше.
На этапе разработки мы прикрепляем менеджера по управлению проектом, чтобы клиент мог регулярно получать обновления о ходе работы и знал с кем связаться, если возникнут какие-то вопросы. Мы используем целый ряд инструментов для управления проектами: например, Redmine и Coda являются хорошим выбором для планирования и управления задачами, а Slack, Skype и Zoom отлично подходят для регулярных звонков и обмена обратной связью. Для этого проекта мы используем кастомный шаблон, созданный в Coda, а также организуем звонки в Zoom, чтобы раз в две недели получать информацию о ходе выполнения каждого этапа.
Что касается технической части, то проект представляет собой приложения как для пользователей iOS, так и для Android, написанного на React Native, и серверной части Laravel, в частности для управления API, так как мы используем Vimeo для хостинга видео. Эти решения позволяют нам создать приложение, которое будет эффективным как с точки зрения загрузки, так и с точки зрения работы с большим количеством пользователей в приложении. Серверная часть также позволяет администраторам и редакторам добавлять и редактировать контент, управлять пользователями и статусом их подписки, устанавливать требования к достижениям в системе испытаний и разбивать тренировки на секции, чтобы пользователь мог легко перемещаться по ним. Приложение поддерживает разработанный нами пользовательский видеоплеер, который предлагает более удобную навигацию для пользователей посредством секций. Мы также интегрировали языковую систему в серверную часть, поскольку приложение поддерживает два языка даже на стадии MVP.