Адаптивная разработка программного обеспечения - эволюция
Ранние модели SDLC больше ориентированы на практику стабильности, предсказуемости и уменьшения доходности. Индустрия, такая как Интернет-платформы, движется к увеличению среды возврата, непредсказуемым, нелинейным и быстрым подходам.
Адаптивная разработка программного обеспечения (ASD) была разработана для решения этих проблем. Основное внимание в нем уделяется появлению как наиболее важному фактору с точки зрения руководства, позволяющему расширить возможности управления разработкой продукта.
По словам Джима Хайсмита, «среда адаптивной разработки программного обеспечения основана на многолетнем опыте использования традиционных методологий разработки программного обеспечения, консультировании, практике и написании статей о методах быстрой разработки приложений (RAD), а также работе с высокотехнологичными компаниями-разработчиками программного обеспечения над управлением разработкой их продуктов. практики ».
Было обнаружено, что модель водопада характеризуется линейностью и предсказуемостью, а также скудной обратной связью. Его можно рассматривать как последовательностьPlan → Build → Implement.
Модели эволюционного жизненного цикла, такие как спиральная модель, переместили детерминированный подход в адаптивный, с Plan → Build → Revise Cycles.
Однако мышление практиков оставалось детерминированным, и долгосрочная предсказуемость превратилась в краткосрочную предсказуемость. Практика эволюционных моделей жизненного цикла, таких как RAD, менее детерминирована.
Адаптивный жизненный цикл
Адаптивная модель построена с другой точки зрения. Несмотря на цикличность, подобную эволюционной модели, названия фаз отражают непредсказуемую природу все более сложных систем.
Адаптивное развитие идет дальше своего эволюционного наследия по двум ключевым направлениям:
Он явно заменяет детерминизм на эмерджентность.
Это не только изменение жизненного цикла, но и более глубокое изменение стиля управления.
Три фазы жизненного цикла адаптивной разработки программного обеспечения:
Speculate - Предполагать заменяет детерминированное слово «планирование», «планирование спецификаций продукта» или «планирование задач управления проектами».
Collaborate - Collaborate представляет собой баланс между
Управление в традиционном смысле управления проектами, и
Создание и поддержание совместной среды, необходимой для появления.
Learn - Learn нацелена как на разработчиков, так и на клиентов, использовать результаты каждого цикла разработки, чтобы узнать направление следующего.
Совместная деятельность позволяет создавать продукты, не отставая от изменений в окружающей среде.