Жизненный цикл разработки приложений (SDLC)
- Более 50% потребления цифровых медиа приходится на мобильные приложения;
- На них уходит 90% времени, которое пользователи смартфонов проводят с мобильными устройствами;
- У среднестатистического юзера на мобильном телефоне установлено около 30 приложений (время использования ― больше 35 часов в месяц);
- Через них совершается 42% интернет-покупок;
- 85% потребителей предпочитают нативные мобильные приложения мобильному веб-сайту.
- Этап планирования (задействованы руководитель проекта, маркетолог и бизнес-аналитик) ― проведение бизнес-анализа и создание стратегии разработки приложения под Андроид.
- Техническая документация (составляется техническим писателем) ― описание технических требований и деталей.
- Прототипирование (обычно выполняется дизайнером UX/UI) ― создание эскиза, каркасов, прототипов и окончательных скинов приложения после утверждения.
- Разработка ПО ― выполняется разработчиками (back end и front end разработка).
- Обеспечение качества ― тестирование технических требований, совместимости устройств, интерфейса, аспектов безопасности и т.д.
- Релиз и поддержка ПО (во многих компаниях покрывается DevOps) ― публикация в магазине, выпуск обновлений, инфраструктура и обслуживание приложения.
Этап планирования
При разработке Андроид приложений для начинающих важно провести необходимые исследования и шаги по планированию.
Бизнес-анализ:
- Оценка идеи ― предварительный этап, когда эксперты анализируют и корректируют идею, дают советы и создают приблизительную логику.
- Анализ конкуренции ― изучение деятельности других игроков на рынке.
- SWOT-анализ ― оценка сильных и слабых сторон продукта, понимание возможностей и других параметров.
- Расчет рентабельности инвестиций ― оценка будущих показателей рынка после разработки приложения на Андроид помогает понять реальную ценность и скорректировать бюджет.
- Объем требований ― обобщение требований к будущему продукту на всех уровнях.

Маркетинговая стратегия:
- Исследование рынка ― показывает общую ситуацию на рынке, чтобы помочь адаптировать концепцию продукта к текущему спросу.
- Определение круга пользователей ― понимание того, кто ваша целевая аудитория, имеет решающее значение при подготовке рекламного подхода.
- Анализ технологий и инструментов ― изучение конкретных инструментов, необходимых для бэкенд и фронтенд разработки, дизайна, обеспечения качества, тестирования и пр., а также выбор набора технологий для достижения целей проекта.
- Комплексная стратегия продвижения ― пошаговый план действий по привлечению и удержанию пользователей.
Техническая документация:
Техническая спецификация или программная документация, представляет собой комплексное руководство по продукту, в котором излагаются требования, бизнес-логика и инструкции специалистам на всех этапах проекта. Его задачи:
- сделать программное обеспечение универсальным для понимания и обеспечить гибкость для изменений;
- повысить ценность приложения, предоставляя четкое руководство по использованию;
- помочь контролировать собственный продукт;
- позволить повторно использовать существующие части разработки приложения под Андроид (для новых версий и последующих обновлений).

Прототипирование:
Прототипирование ― это процесс определения концепции в визуале и оценки того, как приложение может разрабатываться, чтобы избежать неверного представления.
- Создание эскиза ― черновая версия приложения, в которой настраивается основная логика, количество экранов и способ их взаимодействия друг с другом.
- Создание каркасов ― обеспечивает визуализацию эскизной структуры.
- Создание интерактивного прототипа ― помогает выяснить и проанализировать все возможные варианты использования, обнаружить логические разрывы и технические несоответствия в исходной идее.
- Разработка дизайна (скинов) приложения для Андроид ― сбор и объединение макетов для получения окончательного дизайна.

Разработка ПО:
Этот этап состоит из двух частей:
- Front end разработка (пользовательский интерфейс). Уровень представления программного обеспечения для прямого взаимодействия с пользователем создает front end разработчик.
- Back end ― серверная часть (часть базы данных), соединяющая интерфейс мобильного приложения со слоем доступа к данным.
Кратко о том, что такое front end разработка и back end компонент. Фронтенд ― эта часть приложения, с которой контактирует пользователь (все, что запускается, читается, выводится на экран). Бэкенд ― набор инструментов, при помощи которых реализуется логика сайта. Это то, что работает на сервере и недоступно юзерам.
Обеспечение качества:
Quality assurance (QA) охватывает все технологические этапы разработки приложения на Андроид, выпуска и эксплуатации приложений:
- Тестирование совместимости ― запуск приложения на разных устройствах и экранах различных размеров.
- Тестирование интерфейса ― проверка работы навигации, меню и кнопок.
- Совместимость устройств ― как ПО выглядит и работает на экранах разных размеров.
- Низкоуровневое тестирование ресурсов ― проверка приложения в условиях низкого заряда батареи, медленного интернет-соединения и т.д.
- Тестирование безопасности ― обеспечивает гарантию качества безопасности данных пользователей.
- Бета-тестирование ― предоставление пользователям доступа к приложению для получения отзывов.
Релиз и поддержка ПО:
Этот этап является логичным продолжением разработки – продукт выводится на рынок и требует постоянной поддержки. Стадия включает такие шаги:
- Публикация приложения и последующих обновленных версий в выбранном магазине.
- Поддержка инфраструктуры ― вне зависимости от вида инструмента (панель администратора либо облачный сервис), нужно убедиться, что он полностью функционирует.
- Оптимизация в магазине приложений ― поможет продукту выйти на вершину списков поиска и привлечь больше пользователей.

Как извлечь максимальную выгоду из проекта разработки приложений
Предлагаем советы, как получить максимум от собственного проекта разработки приложения для Андроид:
- Следите за тем, что модно, изучайте рынок и свою целевую аудиторию. Это важный предварительный этап, который повлияет буквально на каждую сторону проекта и каждое принимаемое решение.
- Как можно точнее обозначьте продукт, который вы ожидаете увидеть в конце проекта. Определение мельчайших характеристик и функций программного обеспечения на этапах планирования, создание прототипа поможет найти области, в которых можно сэкономить деньги, например, на фронтенд разработке.
- Обсудите свою идею с группами девелоперов (back end и front end разработчики). Если вы заказываете разработку приложения у сторонней компании, изучите ее профиль и определите уровень надежности, договоритесь о цене. Убедитесь, что специалисты слышат вас и понимают суть (проще говоря, что вы на одной волне).
Отдельного внимания заслуживает подход Agile в разработке. Это набор подходов, инструментов и практик для организации эффективной работы в команде. Его ценности и принципы описаны в главном документе ― Agile манифесте разработки программного обеспечения.
Среди основных положений манифеста ― постоянное взаимодействие специалистов разного профиля. Проект разбивается на ряд задач (их еще называют в Agile циклами разработки), среди которых определяются самые приоритетные. Однако помните: в процессе уровень важности итераций может меняться, и задание участников ― быстро адаптироваться к таким переменам. В Agile этапы разработки (спринты) планируются по времени и расписываются по целям.
Согласно манифесту главная цель Agile разработки ― это быстро и качественно удовлетворять потребности заказчика, своевременная реагируя на изменение потребностей рынка.
Разработка приложения ― это не только работа технических специалистов. Перед тем как приступить к процессу, нужно как следует подготовиться. Для начала руководители проекта делают бизнес-анализ и создают стратегию. Здесь важно по максимуму учесть все нюансы, поэтому торопиться не стоит. Затем выпускается техническая документация и создаются эскизы. Только после этого в дело вступают создатели кодов (front end и back end разработчики). В процессе и после окончания разработки продукт тестируется. После этого он готов к релизу.
Жизненный цикл приложения (software development life cycle) ― это отрезок времени начиная с идеи создания приложения и заканчивая изъятием его из эксплуатации. Он делится на такие этапы:
- анализ требований, планирование;
- проектирование;
- разработка ПО;
- тестирование и отладка;
- выпуск и сопровождение.
Жизненный цикл приложения представляют в виде моделей (самые популярные ― каскадная, итерационная, инкрементная, спиральная).
Каждое приложение разрабатывается последовательно и состоит из следующих этапов:
- планирование (рассматривается идея, анализируются предложения конкурентов, выделяются плюсы и минусы продукта, делаются прогнозы реакции рынка);
- подготовка технической документации (подробные требования, инструкции специалистам на каждом этапе разработки);
- прототипирование (эскиз, визуализация, объединение макетов и анализ возможных проблем);
- разработка ПО (front end и back end);
- обеспечение качества (различные виды тестирования);
- релиз и поддержка (публикация в магазине приложений, последующее развитие продукта).
Английская аббревиатура SDLC расшифровывается как «software development life cycle» (жизненный цикл приложения). В нем заложено 5 основных этапов, через которые проходит каждое разрабатываемое приложение:
- планирование (возникновение идеи, анализ конкурентоспособности, оценка рисков);
- выпуск технической документации и эскиз (подробные характеристики, визуализация, макеты);
- разработка ПО;
- тестирование;
- выпуск в магазине приложений, поддержка, обновления.
Считается, что SDLC заканчивается в момент изъятия продукта из эксплуатации.