новый проект: журнал Unusual Concepts
новый проект: журнал Unusual Concepts
новый проект: журнал Unusual Concepts
новый проект: журнал Unusual Concepts
новый проект: журнал Unusual Concepts
новый проект: журнал Unusual Concepts
новый проект: журнал Unusual Concepts
новый проект: журнал Unusual Concepts
новый проект: журнал Unusual Concepts
новый проект: журнал Unusual Concepts
новый проект: журнал Unusual Concepts
новый проект: журнал Unusual Concepts
новый проект: журнал Unusual Concepts

МыиспользуемитерациииэтоAgile?

А знаете ли вы, что работа с использованием итераций не делает вас автоматически Agile командой. Более того, это даже не значит обязательно, что у вас внедрена итеративная разработка.

Как не парадоксально, но верно и следующее – вполне возможно быть Agile командой без использования итераций (например, используя Kanban).
Давайте разберемся подробнее с этим.

Что такое итеративная разработка?
Итерационная разработка предполагает, что мы, вероятно, сделаем что-то неправильно, прежде чем получим правильный результат, и что все будет плохо, прежде чем станет хорошо (Goldberg and Rubin 1995).

Примером итерационной разработки может быть идея, трансформируемая в грубый прототип продукта, который, в свою очередь, видоизменяется и становится лучше. Это наверняка будет довольно плохой продукт cотсутствием многих фич, но он позволит нам прощупать идею, и решить хотим ли мы двигаться дальше.

Джефф Паттон приводит наглядный пример с портретом Мона Лизы, который демонстрирует итеративный подход.

Хочу отметить, что этот пример утрирован, нам не обязательно «итерировать» весь продукт целиком. Просто итеративная разработка предполагает любые изменения по своей сущности, не требуя обязательных фундаментальных изменений во всем продукте.

Что такое инкрементная разработка?
Инкрементная разработка подразумевает добавление – кусочек за кусочком, подобно тому, как строится дом – один кирпич за другим.

Если снова использовать пример с картиной Леонардо, это значит постепенное создание полотна без повторных изменений.  Трудно представить, что сам Леонардо, таким образом, создавал свои шедевры.

Как отмечает Алистер Коберн в своем блоге:
Инкремент фундаментально означает Добавление.
Итеративность фундаментально означает Переработку.
В реальной жизни и наших проектах нам чаще всего приходится сталкиваться с комбинацией итеративной и инкрементной типами разработки, хотя и чистые варианты тоже возможны.

Таким образом, прямая привязка итераций к итерационной разработке не верна.  В Скраме выбрана правильная терминология. Мы имеем дело со Спринтами, а не итерациями. Скрам определяет Спринт как ограниченный временной промежуток длиной в месяц или меньше (Scrum Guide, 2011). Все, точка!

Есть масса «гибких» команд, которые страдают от чрезмерной инкрементной разработки. Владелец продукта постоянно заставляет команду добавлять новые фичи, продукт растет как на дрожжах, пока не лопается как мыльный пузырь из-за того, что оказывается никому не нужным. Не была получена жизненно важная обратная связь от пользователей и, как следствие, не внесены необходимые изменения.

Есть и огромное количество водопадных команд, которые погибают от ничем не сдерживаемой итеративности и бесконечных изменений. Такие команды находятся в порочном круге постоянных переделок, у них нет времени на то, чтобы двигаться вперед.

Гибкая разработка предполагает комбинированный подход, где выдерживается баланс между инкрементной и итеративной разработкой.

Как найти этот баланс?
Не существует готового рецепта.Его вам придется создать самим, учитывая конкретный проект и продукт, над которым вы работаете. Но есть несколько принципов, которым полезно следовать.

  1. Готовьтесь к неизбежным изменениям. Если вы что-то сделали один раз – это не итеративная разработка. Продукт без изменений – плохой продукт.
  2. Получайте постоянную обратную связь в ответ на свои предположения. Только проверенные знания (Eric Ries 2010), ценны для нас. Вы считаете, что ваш продукт просто замечательный? Ок, но это всего лишь ваше предположение. Несите его как можно быстрее в руки пользователей и получите вердикт.
  3. Закладывайте в свой план прохождение одних и тех же историй до 3 раз. Этот подход проповедуют Алистер Коберн и Джефф Паттон.
  4. Используйте Скрам,  который идеально по своей структуре подходит для инкрементно-итеративной разработки. Скрам имеет встроенные механизмы для этого.

Полезные ссылки по теме.

  1. Cockburn, A., “The Impact of Object Orientation on Application Development”, IBM Systems Journal, Nov. 1993.
  2. Patton, J., “The Neglected Practice of Iteration”, StickyMinds, Dec 2007, online at http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=COL&ObjectId=13178
  3. Cockburn, A., “Using both incremental and iterative development” online at http://alistair.cockburn.us/Using+both+incremental+and+iterative+development
  4. Sutherland, J., “Iterative vs. Incremental Development” online at http://scrum.jeffsutherland.com/2010/01/iterative-vs-incremental-development.html
  5. Ries, E., “The Lean Startup”, Sep. 2011.
  6. Schwaber K., Sutherland J., “Scrum Guide”, Oct. 2011.
  7. Kenneth S. Rubin, “Essential Scrum”, Sep. 2012.

Илья Павличенко Аджайл Коуч Unusual-Concepts

Плюсануть
Поделиться
Отправить
Класснуть
Линкануть
Вотсапнуть
Запинить
Ещё по теме

Узнай, насколько ты гугловый

Чтобы работать в Google, нужно обладать гугловостью. Это способность нестандартно мыслить и быть полезным для других. Также гугловость показывает, как хорошо вы ладите с людьми. Пройдите наш тест и узнайте, есть ли в вас гугловость и сможете ли вы устроиться в компанию мечты. Для ответа просто нажимайте на один из вариантов.
Фото: Kazuhisa Otsubo, Zombieite, Kevin Jarrett
Бирюзовая организация — компания, которой управляют сами сотрудники.

Почему это важно знать

Потому что бирюзовые компании сейчас востребованы на рынке. Они быстрее всех реагируют на нужды клиентов и создают привлекательные рабочие места для сотрудников.

Кто придумал

Фредерик Лалу в книге «Открывая организации будущего» описал пять типов организаций: красные, оранжевые, янтарные, зелёные, бирюзовые.

Признаки бирюзовой организации

  • Самоуправление, нет иерархии и системы контроля.
  • Сотрудники сами решают, над чем работать, и несут ответственность за свой выбор.
  • Все сотрудники стремятся к одной цели.
  • Каждый работает с максимальной отдачей, потому что ему это нравится, работа — это продолжение самого человека.

Примеры бирюзовых организаций

Mindbox, Patagonia, ВкусВилл, Фабрика Окон, VALVe.
Комментарии
Скрам как движок организационных изменений — Agile Basics, 09 января 2017

[…] Инкрементально-итеративный подход предполагает, что финальный продукт рождается в результате многочисленных экспериментов и получения обратной связи от конечных пользователей и заинтересованных лиц. Итеративность предполагает изменения того, что было сделано на предыдущих шагах. Это автоматически значит изменение правил игры и уход от Fixed Scope-Price-Time контрактов и переход к прямому взаимодействию бизнеса с разработкой (Customer Collaboration over Contract Negotiation). Влечет ли это за собой потенциальные организационные изменения? Скорее всего. […]