Учебники

Адаптивная разработка программного обеспечения — жизненный цикл

Адаптивная разработка программного обеспечения произошла от практики RAD. Командные аспекты также были добавлены к этим практикам. Компании из Новой Зеландии в Канаду для широкого спектра проектов и типов продуктов использовали адаптивную разработку программного обеспечения.

Джим Хайсмит опубликовал статью «Адаптивная разработка программного обеспечения» в 2000 году.

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

Фазы жизненного цикла АСД

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

  • спекулировать
  • сотрудничать
  • Учить

Эти три этапа отражают динамическую природу разработки адаптивного программного обеспечения. Адаптивное развитие явно заменяет детерминизм появлением. Это не просто изменение жизненного цикла, а более глубокое изменение стиля управления. Адаптивная разработка программного обеспечения имеет динамический жизненный цикл Speculate-Collaborate-Learn.

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

Жизненный цикл разработки адаптивного программного обеспечения

спекулировать

Термин «план» является слишком детерминированным и указывает на достаточно высокую степень уверенности в желаемом результате. Неявная и явная цель соответствия плану ограничивает способность менеджера руководить проектом в инновационных направлениях.

В Adaptive Software Development термин «план» заменяется термином «спекуляция». Размышляя, команда не отказывается от планирования, но признает реальность неопределенности в сложных проблемах. Спекуляция поощряет исследования и эксперименты. Итерации с короткими циклами приветствуются.

сотрудничать

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

Сотрудничество потребует умения работать совместно для получения результатов, обмена знаниями или принятия решений.

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

Учить

Учебная часть жизненного цикла жизненно важна для успеха проекта. Команда должна постоянно расширять свои знания, используя такие практики, как —

  • Технические обзоры
  • Ретроспективы проекта
  • Фокус-группы клиентов

Отзывы должны быть сделаны после каждой итерации. Как разработчики, так и клиенты проверяют свои предположения и используют результаты каждого цикла разработки, чтобы узнать направление следующего. Команда учится —

  • Об изменениях продукта

  • Более фундаментальные изменения в базовых предположениях о том, как разрабатываются продукты

Об изменениях продукта

Более фундаментальные изменения в базовых предположениях о том, как разрабатываются продукты

Итерации должны быть короткими, чтобы команда могла учиться на небольших, а не на больших ошибках.

Спекулировать — Сотрудничать — Изучать цикл в целом

Как вы заметили из цикла «Спекулировать-сотрудничать-учиться», приведенного выше, очевидно, что эти три фазы являются нелинейными и перекрываются.

Мы наблюдаем следующее из Адаптивной структуры.

Трудно сотрудничать без обучения или учиться без сотрудничества.

Трудно спекулировать без обучения или учиться без спекуляции.

Трудно спекулировать без сотрудничества или сотрудничать без спекуляции.