Философия Agile
Автор: Seljuk Esenov • Март 28, 2023 • Реферат • 1,320 Слов (6 Страниц) • 190 Просмотры
Предпосылки появления Agile
В 1940-е годы появились первые компьютеры и в этот же момент стали разрабатываться первые программы.
В начале не было каких-то специальных, а уж тем более претендующих на универсальность подходов к организации разработки программного обеспечения (ПО). Каждый изобретал что-то свое, и это ожидаемо для новой отрасли.
Когда стали создавать достаточно большие программные продукты, а это уже случилось в 1950-е, многие разработчики столкнулись с вызовами:
Водопадный подход (waterfall)
В такой ситуации для многих манной небесной стала статья Винстона Ройса (Winston W. Royce) «Managing the Development of Large Software Systems», которую он опубликовал в 1970 году. Она описывала каскадную (водопадную) модель работ над проектами по разработке ПО.
Итоговая модель Райса
Итоговая модель Райса
Пожалуй, основной проблемой статьи было то, что изложенное показалось всем чересчур сложным, и большинство из статьи взяло самую первую картинку, которую сам Ройс по ходу статьи признает несостоятельной.
Первая модель «водопада имени Ройса», которую он критикует по ходу своей статьи:
В этой упрощенной каскадной модели кроется один большой изъян: независимо, на каком этапе мы сделали что-то не так, как на самом деле нужно заказчику и пользователям, мы об этом не узнаем до конца проекта. И ошибка тем дороже, чем раньше этап находится в каскаде. То есть если мы неправильно поняли заказчика на этапе сбора требований (на рисунке – System Requirements), то нам придется переделывать и этот этап, и все последующие.
Поэтому после формальной сдачи проекта еще следует тьма доработок и поправок, что приводит к тому, что в сроки и бюджет проект никогда не попадает.
Итеративная разработка
Альтернативой водопадной модели стала итеративная. Интересно, что появилась она даже раньше каскадной. Первое упоминание о ней связано с разработкой в NASA проекта Mercury в 1960-е годы. Но первая попытка описать такую модель для всеобщего применения случилась существенно позже. В 1988 году Барри Боем (Barry Boehm) описал так называемую спиральную модель в статье «A Spiral Model of Software Development and Enhancement».
спиральная модель
За счет создания прототипов (прототипирования) получалось гораздо раньше показать заказчику, как примерно будет выглядеть конечный продукт, и собрать обратную связь, чтобы лучше попасть в ожидания заинтересованных лиц. Но осталась проблема в том, что реальный продукт конечные пользователи получали все равно только в конце проекта, что приводило к тому, что все равно не все изначальные ожидания и пожелания были учтены. Кроме того, «спираль» не сокращала время доставки ценности конечным потребителям.
Следующим витком в развитии подходов разработки ПО стала модель Rapid Application Development (RAD), созданная уже известным нам Барри Боемом и Джеймсом Мартином (James Martin) в 1991 г. RAD основывалась на 5 принципах, в четвертом из которых уже прослеживаются нотки будущего Agile-манифеста:
5 принципов
Революционным в то время казался и отказ от фиксации объема проекта, которая должна быть реализована во время проекта. RAD декларировал фиксацию времени и ресурсов, то есть того, чего очень не хватало каскадной модели.
RAD - Каскад
Но тем самым нам приходилось жертвовать наименее важной функциональностью.
Rational Unified Process
Следующим шагом на пути к совершенствованию разработки стал Rational Unified Process (RUP). Он очень подробно описывал все стадии, роли и артефакты. Идея заключалась в том, чтобы написать настолько универсальный процесс, чтобы его можно было использовать для любого проекта, просто исключив все, что не применимо
...