Гибкая разработка особенно полезна для разработки мобильных приложений.Ни для кого не секрет, что разработка для мобильных платформ имеет важные отличительные характеристики, связанные с большинством этапов жизненного цикла, такие как: необходимость в короткие сроки доставить продукт на динамично развивающийся рынок и в дальнейшем постоянные обновления; большое количество пользователей со всего мира; сложность определения требований к заявке, в том числе из-за трудностей с выявлением заинтересованных сторон; высокая вероятность изменения потребностей и ожиданий пользователей и, соответственно, необходимость внесения изменений в ходе разработки; высокие темпы технической эволюции – новые устройства, выпуски ОС, языки программирования, технологии мобильной связи и IoT и т. д. Чтобы соответствовать этим характеристикам, снизить риски и оптимизировать процесс мобильной разработки, методология Agile с ее адаптивный (приемлемость частых изменений), итеративно-инкрементальный (обратная связь от заказчика на каждой итерации и нескольких релизах), кооператив (тесное сотрудничество между разработчиками, заказчиками и конечными пользователями) и простой (легкий для понимания, изменения и улучшения) подход к разработке.Гибкая методология обеспечивает нашим клиентам непрерывную обратную связь.
Клиенты Sourcebits, занимающиеся дизайном и разработкой мобильных приложений, видят основные этапы каждые 2–3 недели.
Им не придется ждать до самого конца проекта.
Гибкая разработка мобильных приложений означает, что клиенты предоставляют обратную связь на каждом этапе пути, чтобы обеспечить успех проекта.
– Джо Чен, технический директор Исходные биты
Гибкий
Agile — это серия подходов к разработке программных продуктов посредством непрерывной и быстрой доставки ценных эксплуатационных функций самоорганизованной командой профессионалов в сотрудничестве с заказчиком.Agile — это комбинированный вариант
итеративный И спираль модели жизненного цикла: поэтапная разработка и наличие готовых фрагментов работающего программного обеспечения, взятые из итеративной модели + доминирующая роль человеческого фактора и анализ возможных рисков, взятые из спиральной модели.Преимущества Agile и причины, по которым компании его принимают, хорошо проиллюстрированы в ряде известных исследований: Состояние Agile , Отчет ХАОС , Гибкая количественная оценка .
Состояние Agile : причины, по которым используется Agile
Основные идеи Agile были изложены в документе под названием Agile Manifesto. Он также содержит двенадцать конкретных принципов Agile. Полный текст обоих документов (и их переводы) доступен на сайте.
Agile для мобильной разработки
Как уже отмечалось, Agile позволяет процессам адаптироваться к меняющимся потребностям мобильной сферы.Agile обеспечивает гибкость, позволяющую понять рынок, структурировать продукт и доставить его в короткие сроки.
За последние несколько лет был разработан ряд фреймворков, подходящих для использования в мобильной сфере: Mobile-D, MASAM, Hybrid, Scrum, SLeSS.
Ээволюция гибкой методологии разработки мобильного программного обеспечения ( Источник изображения )
Scrum и SLeSS — самые современные, тогда как SLeSS основан на том же Scrum. Интересна и самая первая попытка адаптировать Agile для мобильной разработки — Mobile-D, особенно потому, что она включает в себя элементы инженерных практик XP.
Scrum и XP будут обсуждаться более подробно ниже.
Скрам
Scrum — одна из гибких методологий, в которой создание продукта происходит в виде серии итераций фиксированной продолжительности.В методологии делается акцент на контроле качества процесса разработки и управлении задачами в среде командной разработки.
В целом Scrum предполагает работу над проектом короткими итерациями (обычно 2-4 недели), каждая из которых уменьшенная версия проекта , и включает в себя все задачи, необходимые для обеспечения увеличения функциональности.
Каждый день проводится Scrum-митинг, на котором команда синхронизирует свою работу и обсуждает проблемы.
Каждый раз, когда создается новая функция, модуль или обновление, проводится тестирование.
Благодаря тестированию во время разработки возможные ошибки вовремя исправляются, что в конечном итоге приводит к гораздо более стабильному продукту.
По итогам итерации заказчик получает новую версию продукта, а при необходимости проект или какая-либо его часть дорабатывается.
Здесь также учитываются отзывы конечных пользователей.
Кроме того, ретроспективный процесс дает команде возможность оптимизировать свои рабочие процессы.
Затем цикл реализации начинается снова.
В результате создается решение, наиболее точно отвечающее требованиям заказчика и востребованное рынком.
Скрам-процесс ( Источник изображения )
Основные инструменты Scrum:
- Резерв продукта;
- Истории пользователей;
- Планирование спринта (итерация в Scrum);
- Бэклог спринта;
- Доска задач (физическая или цифровая, например, внутри ДЖИРА )
Пример доски задач
- Диаграмма выгорания;
- Быстрые встречи (стендапы/встречи);
- Обзор спринта (демо и ретроспектива).
XP
Методология Agile XP (Extreme Programming) фокусируется на инженерной стороне разработки продукта.Это системный подход к программированию.
В то время как Scrum уделяет больше внимания управлению и выпуску, XP фокусируется на производственном процессе.
XP включает в себя практики, которые значительно улучшают качество конечного продукта:
- Непрерывная интеграция (CI)
Цикл непрерывной интеграции ( Источник изображения )
- Автоматизированное тестирование;
- Рефакторинг;
- Обзор кода;
- Парное программирование;
- Стандарты кодирования и другие.
Адаптация методов
Довольно часто в мобильной разработке классические методики необходимо адаптировать с учетом особенностей проекта, команды и заказчика.Некоторые варианты такой адаптации:
- изменение временных рамок agile-практики .
Например, сократить время спринта до 1 недели — как правило, заказчик приложения хочет получать новые релизы, а команда хочет получать обратную связь как можно чаще.
Другой пример: ретроспектива может быть раз в месяц или каждую итерацию, в зависимости от потребностей проекта;
- модификация внедрения гибких практик .
Например, проведение асинхронных стендапов через Слабый / Страйд /other Если команда работает удаленно, это особенно актуально.
Другой пример: из-за часто «туманных» требований заказчика и соответствующих сложностей команды в планировании работы выглядит интересно.
- модификация набора гибких практик .
Очевидно, что не всегда необходимо включать в свою работу сразу все инструменты выбранной методологии, особенно в стартапе.
Поэтому на первых порах можно выбрать только самые нужные и «рабочие».
А что насчет Водопада?
Стоит отметить, что мы не можем однозначно сказать, что традиционная водопадная методология с ее последовательными этапами неприменима в мобильной разработке.Все зависит от специфики конкретного проекта.
Есть примеры проектов (например, сверхкритическая работа; в совершенно новой области, требующей предварительного исследования; с большим размером, сложностью и длительным сроком разработки; государственные контракты), характер которых противоречит принципам Agile, а затем и Waterfall. это подходящий выбор.
Однако таких проектов в коммерческой разработке очень мало.
Нижняя граница
Мобильный проект часто подвержен внутренним или внешним неопределенностям, таким как плохо определенные требования или частые изменения потребностей пользователей, поэтому разумно планировать его жизненный цикл, используя какую-либо гибкую методологию или, как это часто бывает на практике, сочетание того и другого.Использование адаптированных версий Scrum и XP показало хорошие результаты.
Доступна английская версия Здесь .
Теги: #agile #AGILE МЕТОДОЛОГИЯ #мобильная разработка #Разработка мобильных приложений #инженерия программного обеспечения #Разработка iOS #Разработка мобильных приложений #Разработка Android #agile
-
Целомудрие
19 Oct, 24 -
Советы По Планированию
19 Oct, 24 -
Google Начинает Закупки Технологий
19 Oct, 24 -
Deepmemo — Социальный Цитатник
19 Oct, 24 -
Королева Англии И Тайна Частной Жизни
19 Oct, 24 -
12 Сетевых Истин (Вольный Перевод Rfc1925)
19 Oct, 24 -
Luci Переехала На Github
19 Oct, 24