Что такое итеративный подход
📌 Итерация — это повторение. А итеративный процесс — это пошаговое постепенное улучшение чего-либо.
Чаще всего так говорят о проектах или продуктах. Скажем, для цифрового продукта — приложения — итерационный подход означает постепенный прирост функциональности.
В первой итерации выкатывается функция комментариев к постам ➡️ В следующей — ответы на комментарии ➡️ В следующей — реакции с помощью эмодзи
После каждой итерации продукт тестируют на пользователях и собирают обратная связь. Следующая итерация включает фичи или улучшения, которые нужны пользователям. Постепенно продукт, проект или их части приближаются к полной и желаемой версии.
Вот так, двигаясь итерациями, продукт становится лучшей версией себя, которая нужна клиентам.
Итерационный подход — это логичный и разумный подход для многих областей. Ведь нереально сделать всё и сразу, причём хорошо: не хватит времени, сил, денег. Поэтому итеративный подход прижился во многих сферах.
Когда лучше использовать итеративный подход
Итеративная модель подходит для молодых проектов и продуктов, которые только ищут аудиторию или завоёвывают долю рынка.
Ещё итерациями работают стартапы, которые выпускают на рынок принципиально новый продукт — когда даже неясно, нужен ли он людям и в каком виде.
Многие цифровые продукты тоже развиваются итерациями — выпускают минимально жизнеспособный продукт, MVP, а потом дополняют его по мере требований рынка и клиентов. Кстати, об MVP-подходе у нас есть отдельный текст.
Итерационный подход также рабочий и оправданный метод для любых пользовательских приложений, когда мнение аудитории определяет вектор развития. Так растут большинство SaaS-сервисов — WEEEK не исключение. Мы выпускаем обновления и новую функциональность постепенно, прислушиваясь к просьбам пользователей и требованиям рынка.
Вот маркеры для использования итеративного подхода:
✔️ Требования открыты или могут меняться
✔️ Для развития проекта или продукта важны сотрудничество и фидбек
✔️ Решения могут разрабатываться меньшими шагами — нет обязательства предоставить полноценный продукт к конкретному сроку
✔️ В приоритете постоянная адаптация и совершенствование
✔️ Участие заинтересованных сторон имеет решающее значение
✔️ Нет бюджета на полную разработку — деньги будут поступать частями
Вообще, двигаться итерациями — мудрый подход, который можно реализовать во многих областях и сферах жизни. Многие делают ремонт дома итерациями — и постепенно, по мере появления денег, приводят дом к желанному виду.
Ещё так удобно развивать клиентский бизнес. К примеру, модифицировать меню ресторана после открытия, понаблюдав пару недель, что пользовалось спросом, а что лучше убрать или заменить.
Преимущества и недостатки итеративного процесса
✅ Преимущества
- Быстрый запуск. Можно разработать MVP и выпустить базовую версию в короткие сроки, проверить спрос на рынке и ожидания аудитории
- Проще управлять рисками. Проблемы выявляются и решаются на каждой итерации, так что команде проще управлять рисками — отслеживать, реагировать на них. В перспективе это экономит время и деньги на исправление ошибок
- Гибкость к доработкам. Если на каком-то этапе одна из фич становится приоритетной, её разработку можно начать уже в следующей итерации. Проект совершенствуется и улучшается по требованиям клиентов и рынка
- Высокое качество. Команда постоянно получает фидбек и исправляет ошибки в течение итераций, поэтому может создать более качественный продукт
❌ Недостатки
Минусы итеративного подхода условны, поскольку проявляются только при внедрении в неподходящую команду и неподходящий проект.
Какие подводные камни при этом поджидают:
- Менее предсказуемые сроки. Сложно предсказать точное количество итераций проекта — это затрудняет оценку даты завершения. Особенно, если дело касается вывода на рынок стартапа или продукта с неясными требованиями
- Менее предсказуемые затраты. По этой же причине практически невозможно точно подсчитать итоговую стоимость проекта. Итеративная разработка может оказаться даже более затратной. Например, заказчик просит добавить в приложение функцию оценки товаров — тогда потребуется не только время, но и деньги на разработку и тестирование новой фичи
- Подходит не для всех команд. Команда должна уметь работать итерациями: быть гибкой, самостоятельной и готовой к сотрудничеству. Если команда плохо адаптируется к меняющимся условиям, стоит поискать другой подход
Примеры применения метода итеративных процессов
Впервые итеративный подход применили в NASA — там, где всё, казалось бы, максимально жёстко и последовательно. В 1950-е годы в NASA стали по частям выпускать программное обеспечение для проведения пилотируемых космических полётов в рамках проекта «Меркурий».
Вот, что говорит об этом участник проекта Джеральд Уайнберг:
Сейчас слова Уайнберга звучат как по учебнику, а тогда это была по-настоящему новаторская мысль.
Теперь итеративный процесс используется и в земных сферах — от продаж до инженерии.
Разработка программного обеспечения итерациями
Про разработку программного обеспечения и итерационный подход всё понятно. Сейчас ПО почти не делается по-другому — особенно если речь о пользовательских приложениях.
Обычно у таких проектов неясные или меняющиеся требования, на которые влияют рынок и клиенты. А итерации позволяют развивать и выпускать ориентированный на клиента продукт.
Например, у нас мобильное приложение для прослушивания музыки. Итеративный подход позволит выпустить его с базовой способностью воспроизводить музыку. Первые отзывы помогут понять, актуально ли приложение на рынке и чего не хватает пользователям. Так, следующей итерацией может быть создание раздела «Избранное» и рекомендаций.
А, может быть, приложение окажется нерелевантным и превратится в сервис по распознаванию треков по отрывку. Итеративный подход спасает такие проекты от провала и помогает найти свою нишу.
Создание контента итерациями
Авторы статей, романов и фанфикшена выкладывают контент на сервисы типа Книги Фанфиков (может не открываться без VPN) частями. Выложив первую главу, они следят за количеством просмотров и читают отзывы. Это позволяет переписать сюжет или изменить график выпуска глав так, чтобы удерживать интерес аудитории.
Приготовление еды
Попытки героини сериала «Отчаянные домохозяйки» Бри Ван де Камп повторить лимонный пирог своей соседки — воплощение итеративного подхода. Бри готовила пирог, пробовала, корректировала рецепт и пробовала снова. Каждая итерация приближала её к цели — идеальному десерту.
В бизнесе такой подход часто используют бары, рестораны и кафе — меню сначала состоит из базовых блюд, а затем расширяется по мере роста популярности заведения или отзывов гостей.
✔️ Раздел с десертами сначала состоит из наполеона и чизкейка, а затем расширяется — например, когда гости часто спрашивают блюдо, которого нет в меню.
✔️ Шеф-повар готовит авторскую пасту, но большинству гостей не нравится розмарин в составе. В следующий раз шеф готовит пасту без него и получает положительные отзывы и рост количества заказов.
Сравнение с другими методами управления проектами
Линейный подход
Суть подхода — в поэтапном выполнении задач. Следующий этап выполняется строго по завершении предыдущего, и пропускать, возвращаться или повторять этапы нельзя.
Так происходит сборка машин: сначала штампуются и соединяются детали кузова, затем производится сборка всего автомобиля. Такие проекты не допускают больших изменений после начала работы. Можно скорректировать сроки задач или их количество, но структура и последовательность задач останутся неизменными.
Для работы по линейному подходу используется диаграмма Ганта. Она позволяет согласовать этапы между собой и обеспечить прозрачность сроков и работ. На примере сборки автомобилей это будет выглядеть так:
Минус такого подхода — ошибки предыдущих этапов становится невозможно исправить. Если при строительстве дома фундамент был залит криво, то и стены, и крыша будут кривыми. Чтобы исправить эту ошибку, придётся начинать всё сначала.
Гибкий или Agile подход
Гибкий подход направлен на постоянные корректировки хода работы, отслеживание процессов и общение команды между собой и с заказчиком. По Agile работа идёт небольшими блоками, команда адаптивна и самоорганизована. Это и есть место для применения итеративного подхода.
К гибким подходам относят Scrum и Канбан. В них процесс отображается на общей доске и становится прозрачным для сотрудников и клиента.
Например, так выглядит доска с текущими задачами магазина одежды:
Доски помогают руководителю видеть общую картину: выполненные и невыполненные задачи, нагрузку на каждого сотрудника и прогресс.
Магазину одежды итерационный подход помогает пересмотреть содержание коллекций, выводить из ассортимента неликвидные линейки, придумывать новые форматы, анализировать фидбек от покупателей и по нему улучшать линейку.
💡 Гибкая команда должна быть небольшой — так участникам будет проще общаться.
Шаги для внедрения итеративного подхода
Планирование
Появляется идея — цель, которую нужно проверить на жизнеспособность.
🎯 Цель — хотим выпустить приложение по обработке фото
Определяем масштаб и требования проекта, целевую аудиторию, её потребности и боли. Затем проверяем, актуально ли наше предложение: изучаем рынок и конкурентов.
Если подобных приложений десять тысяч на квадратный метр, нужно сделать выбор: трансформироваться в другой проект или наделить текущий фичами, которых нет у конкурентов.
✔️ Вариант 1: приложение по обработке фото превращается в приложение по подсчёту калорий, на которые повысился спрос из-за ухода популярных приложений из России
✔️ Вариант 2: добавляем инструменты и пресеты, аналогов которым нет на рынке
Корректируем изначальный план и решаем: будет-таки приложение по обработке фото. Но мы добавим в него загрузку фото с устройства, базовые инструменты для обработки и набор уникальных пресетов.
Проверяем идею ещё раз — опрашиваем представителей целевой аудитории. Если проект выдержал первую проверку, то можно собирать команду и начинать первую итерацию.
Проектирование
Задача этого этапа — сделать прототип приложения. То есть кликабельный и анимированный макет, который можно проверить на удобство использования и протестировать на целевой группе.
Как правило, такие штуки делают в Figma. Там можно сделать прототип, который даже не сразу отличишь от реального приложения.
Когда прототип готов, мы тестируем его на представителях аудитории. Зовём пару-тройку человек на интервью, даём потыкать прототип и собираем обратную связь.
Затем учитываем фидбек, улучшаем и меняем прототип.
✔️ Это, кстати, и можно назвать первой итерацией нашей работы над приложением. Хотя она и только внутренняя.
Реализация
Делается первая версия приложения — MVP. Разработчики пишут первую версию и создают техническую архитектуру первого модуля итерации.
Им помогает прототип и комментарии от респондентов, которые его изучали.
✔️ По итогам у нас есть полноценная итерация приложения — первая версия, которая пойдёт на рынок собирать отзывы.
Тестирование и обзор
Корабль выходит в море — оцениваем MVP с пользователями или клиентами.
Суть этапа — понять, правильно ли работает продукт, соответствует ли он ожиданиям клиентов, собрать первый фидбек и провести работу над ошибками.
✔️ Клиенты похвалили дизайн и попросили добавить больше пресетов
✔️ Были подтормаживания при сохранении фото в галерею
По итогам тестирования появляется план на устранение багов, развитие проекта и добавление новых фич. Это идёт в следующую итерацию.
Repeat
🔁 Повторяем цикл: план — прототип — выпуск — тест — сбор обратной связи.
💡 Главное — собирать в каждой выпущенной итерации то, что нужно реализовать, изменить или улучшить в следующей. Это основа и суть итеративного подхода
Итерация выводов
- Итеративный процесс — это пошаговое постепенное улучшение проекта или продукта
- Лучше всего итеративный подход подходит молодым проектам и продуктам с открытыми требованиями, для которых важно сотрудничество и фидбек
- Плюсы — быстрый запуск, снижение рисков, гибкость к доработкам и высокое качество
- Минусы — менее предсказуемые сроки и затраты, подходит не всем проектам и командам
- Итеративный подход был испытан в космической сфере, а сейчас помогает создавать контент и выпускать востребованные IT-продукты
- Гибкий подход позволяет адаптироваться к новым требованиям и быстро выпускать базовый продукт для оценки спроса. Линейный — соблюдать последовательность задач, бюджет и сроки