В этой статье мы подробно разберем каждый этап разработки мобильного приложения — от идеи до публикации в сторах.
Каждый проект имеет свой уникальный набор требований, необходимых ресурсов и специалистов для воплощения, однако существуют шаги, через которые проходят практически все проекты. Знание этих шагов позволяет клиенту составить понимание о том, как будет идти работа над его проектом, сколько времени занимает тот или иной этап разработки, и решить важные вопросы заранее, чтобы впоследствии избежать недопониманий с командой разработчиков.
Разработка мобильного приложения может быть начата как с готового технического задания, так и с одной идеи. Если в первом случае разработку приложения можно начать практически сразу, то во втором потребуется провести дополнительную работу по составлению верхнеуровневых бизнес-требований. Клиенту необходимо проанализировать свой будущий проект и описать основные его аспекты, в которые могут входить:
С помощью этих данных компания-разработчик с достаточным опытом сможет составить подробное техническое задание и запустить проект в разработку.
После того, как была собрана минимальная необходимая информация о проекте, время переходить к основным этапам разработки:
Данный этап является основой всей последующей разработки. Некачественно проведенная на этом этапе работа может повлечь непредвиденное увеличение бюджета, задержку сроков выполнения работ, и привести к некачественному продукту на выходе.
Основной целью данного этапа является определение сроков, объема работ и бюджета, а также их фиксирование в специальном документе. Ставятся основные цели и задачи, оцениваются фичи в часах работы, рассчитывается стоимость, подбираются технологии, описываются основные риски, составляется график этапов работ.
Успех данного этапа зависит от квалификации аналитиков, опыта работы компании-разработчика (чем больше похожих приложений разрабатывала команда, тем точнее и быстрее будет проведена оценка приложения). На данном этапе основной диалог с клиентом ведут сотрудники отдела продаж, являющиеся посредниками между клиентом и командой аналитиков, разработчиков и дизайнеров.
Результатом этапа оценки является документ, содержащий в себе подробное описание приложения, список технологий, требующиеся человеческие и временные ресурсы, а также оценку стоимости разработки.
После того, как основные детали проекта согласованы с клиентом, начинаются подготовительные работы, предшествующие непосредственному началу работ над проектом. На данном этапе составляется и подписывается договор, формируется команда, выбираются способы коммуникации с клиентом.
Договор является официальным подтверждением желания клиента работы с выбранной компанией-разработчиком. Как правило, договор о разработке содержит в себе список услуг, их стоимость, этапы работы, сроки, правила отчетности. При необходимости заключается договор о неразглашении, позволяющий клиенту ограничить доступ к информации о проекте от третьих лиц.
В договоре также описывается формат работы и форма оплаты услуг. Разные компании предлагают разные условия работы, мы в AEX Soft предлагаем следующие форматы сотрудничества:
Формы оплаты также могут различаться, вот как работаем мы:
Команда специалистов подбирается исходя из требований проекта, используемых технологий и срочности: чем меньше времени на разработку, тем больше разработчиков потребуется вовлечь. Руководителя проекта можно назвать константой, ведь именно этот человек руководит разработкой в целом и взаимодействует с клиентом.
Типичная команда по разработке мобильного приложения может выглядеть следующим образом:
Правильный выбор способа отчетности может значительно облегчить процесс согласования работ для разработчиков и сделать процесс разработки прозрачным и понятным для клиента. На этом шаге обсуждаются наиболее удобные и эффективные способы отчетности: выбираются удобные каналы для коммуникации, в какое время команда находится на связи, с какой частотой предоставляются отчеты о проделанной работе.
Выбор стратегии коммуникации зависит от требований и желаний клиента. Кому-то достаточно получать отчет о проделанной работе раз в неделю на электронную почту, а кто-то хочет каждый день участвовать в планерках команды и иметь права на редактирование планировщика задач.
Данный этап призван подробно описать проект и подготовить техническое задание для группы разработчиков. Описываются бизнес-процессы, функции приложения, требования к безопасности, производительности, масштабируемости, отказоустойчивости. В процессе разработки команда может возвращаться к этому этапу несколько раз в зависимости от готовности проекта.
Основной целью данного этапа является изучение предметной области и способов решения проблемы заказчика. Например, бизнес-аналитик может изучить как решают подобные проблемы конкуренты, описать возможные подводные камни и потенциальные сложности. Бизнес-аналитик описывает пользовательские сценарии, продумывает все варианты развития событий при взаимодействии пользователя с приложением.
Результатом работы является описание бизнес-требований верхнего уровня, техническое задание в формате user stories.
На данном этапе придуманная клиентом и бизнес-аналитиком логика приложения соотносится с реальностью, а именно оценивает возможность технической реализации той или иной функции. На данном этапе происходит подбор API сторонних систем, продумывается архитектура приложения, определяется оптимальный способ реализации.
В качестве результата может быть спецификация API, схема интеграций, модель данных.
С помощью продуктовой аналитики определяются показатели, по которым можно будет отслеживать эффективность разработанного приложения, создается система отслеживания результатов, которая позволит отслеживать взаимодействие пользователей с приложением. Внедрение такой системы позволит сделать информированный выбор о корректировке курса развития приложения, внедрении новых функций.
Результатом работы на данном этапе будет список показателей для отслеживания, способов отслеживания, а также гипотез и предположений на основе полученных результатов.
Как правило, дизайнеры работают в тандеме с аналитиками и разработчиками, чтобы дизайн подходил не только под требования клиента, но и был технически реализуем в рамках ограничений проекта.
UX, или user experience, описывает пути пользователя внутри приложения. Целью дизайнера на данном этапе является разработка понятного для пользователя интерфейса в виде прототипов — схематичных изображений экранов приложения, показывающих общую концепцию и пользовательские пути.
UI, или user interface, является красивой оболочкой приложения, а также его общей концепцией. На данном этапе дизайнер преобразует прототипы в полноценные экраны приложения с узнаваемым дизайном, определяет все визуальные и интерактивные элементы интерфейса продукта.
Здесь в работу вступает техлид, который разбивает описанные на предыдущих этапах блоки приложения на задачи для разработчиков. Каждый модуль, например, корзина, каталог товаров, онлайн оплата, разрабатывается отдельно.
На данном этапе может происходить корректировка стека технологий, подхода к разработке архитектуры, выбранных API сторонних приложений и их способа интеграций, в связи с чем команда разработчиков, включая техлида, работают в тесном сотрудничестве с остальными участниками процесса, что помогает внести правки в проект максимально оперативно, без вреда для времени и бюджета.
Тестирование является частью любого проекта, в том числе и разработки мобильного приложения. QA-инженеры проводят ручные и автоматические тесты, чтобы убедиться в корректности работы приложения, проверить работу отдельных блоков и найти баги.
После исправления ошибок, любой код проходит регрессионное тестирование, т.е. проверку работоспособности исправленных модулей.
После того, как приложение было полностью протестировано и согласовано с клиентом, происходит его запуск. Для мобильного приложения это, как правило, означает публикацию в сторах или интеграцию с другими сервисами клиента.
Запуск приложения не является конечной точкой в его развитии. Мобильные приложения быстро получают обратную связь от пользователей благодаря отзывам в сторах, что позволяет выявить слабые места приложения и его точки роста. В случае, если клиент хочет реализовать новые функции, процесс разработки начинается заново, начиная с этапа аналитики.
Разработка мобильного приложения — непростой процесс, требующий внимательного подхода к каждому этапу, высокой квалификации специалистов и наличия релевантного опыта в этой сфере. Выбор партнера по разработке –- ответственное решение, напрямую влияющее на качество финального продукта. Вот несколько советов по выбору наиболее подходящей под ваши нужды компании-разработчика:
Качественный и конкурентоспособный продукт может создать только компания с четко выстроенными процессами работы, устоявшимися процедурами, накопившимися за годы разработки практиками и знаниями. Такая компания не будет тратить время на построение процессов во время разработки, а будет четко и последовательно выполнять поставленные задачи.
В AEX Soft мы имеем более 15 лет опыта работы в IT сфере. Накопленный за это время опыт позволяет нам с легкостью браться за разработку сложных систем и приложений, получивших признание в своей сфере и использующиеся сотнями тысяч пользователей. Например, наша краудфандинговая система для благотворительных организаций RallyUp стала лауреатом Inc. 5000 в 2021 году, а криптовалютная биржа Independent Reserve стала крупнейшей онлайн-биржей в южно-азиатском регионе и используется более чем 200 тыс. пользователями ежемесячно. С разработанными нашей командой мобильными приложениями можно ознакомиться в сторах, например, наше приложение Clear для автоматизации малого бизнеса и Boostlingo - сервис по трехстороннему переводу с любого языка.
Если у компании, которую вы оцениваете, есть опыт разработки только uber-like приложений, пусть и получивших несколько наград, а вам нужно разработать приложение для знакомств - данное сотрудничество, скорее всего, не будет продуктивным. Приложение, принадлежащее узкой отрасли, например, трейдинг, аналитика данных и пр., потребует подбора компании-разработчика с опытом в схожей отрасли.
Для B2C приложений общего пользования релевантный опыт не так важен, однако советуем обратить внимание на сферы, в которых у компании был опыт: опыт в схожей сфере может значительно сократить время на аналитику.
AEX Soft имеет опыт разработки как приложений общего пользования, так и узкоспециализированных приложений. Подробнее с нашим опытом можно ознакомиться в портфолио, например, узнать о мобильном приложении для геймификации благотворительности и социальной сети для музыкантов.
Важно выбрать компанию, чей стек технологий совпадает с необходимым для вашего приложения, а экспертизы позволят выполнить все нужные этапы. Например, если вам необходимо внедрить VR технологии, а у компании нет подобных кейсов, лучше найти другой вариант. Другим важным аспектом, который может значительно уменьшить бюджет разработки мобильного приложения, является использование выбранной ваши командой кросс-платформенных технологий. Разработка одного приложения под несколько платформ дешевле, чем разработка нескольких приложений под каждую платформу.
Мы в AEX Soft специализируемся не только в мобильной и веб разработке, но и в разносторонней поддержке проектов и оптимизации приложений. Мы можем разработать мобильное приложение с нуля или улучшить и доработать уже существующее приложение.
Кроме того, мы придерживаемся принципов кросс-платформенной разработки, например, используем Xamarin, чтобы быстро и эффективно создавать приложения сразу на iOS и Android.
Наши основные технологии:
Мнение клиентов о компании-разработчике позволит оценить ее репутацию. Можно изучать не только сайт компании, но и сторонние бизнес-каталоги и отзывы в соцсетях. Одним из аспектов, на который стоит обратить внимание, является наличие “возвращающихся” клиентов, т.е. клиентов, продолживших сотрудничество с компанией после завершения проекта. Например, для AEX Soft количество таких клиентов от их общего числа - 70%, что говорит о высоком уровне доверии наших клиентов.
Как было сказано выше, качественная коммуникация является одним из залогов успешной работы. Команды, работающие над приложением, могут доходить до 10-15 человек, поэтому важно знать, каким образом происходит коммуникация не только между командой и клиентом, но и внутри команды.
Мы всегда стараемся сделать процесс разработки максимально прозрачным для наших клиентов, поэтому мы всегда рады познакомить вас с нашим процессом работы и способами коммуникации. Для этого вы можете написать нам через форму на сайте или отправить сообщение в Телеграм.