Проекты с высокой неопределенностью характеризуются высокими темпами изменений, сложностью и уровнем риска. В случае применения традиционных предиктивных подходов, которые предназначены для предварительного определения практически всех требований и осуществления управления изменениями с помощью процесса запросов на изменения, указанные особенности могут привести к возникновению проблем. Вместо этого были созданы подходы Agile для выяснения реализуемости требований в рамках коротких циклов и быстрой адаптации по результатам оценок и обратной связи.
2.2 Agile-манифест и образ мышления agile
Ведущие эксперты отрасли разработки ПО оформили движение agile еще в 2001 г., когда был опубликован Agile-манифест разработки программного обеспечения (Manifesto for Agile Software Development) (см. рис. 2–1).
© 2001, авторы Agile-манифеста
Рис. 2–1. Четыре ценности Agile-манифеста
Двенадцать уточняющих принципов, которые вытекают из этих ценностей, представлены на рис. 2–2.
Рис. 2–2. Двенадцать принципов, вытекающих из Agile-манифеста
Хотя эти принципы впервые возникли в отрасли разработки ПО, за прошедшее время они нашли применение во многих других отраслях.
Это сочетание образа мышления, ценностей и принципов и составляет подход agile. Различные варианты подходов agile, которые применяются в настоящее время, имеют общие корни с образом мышления, ценностями и принципами agile. Эта взаимосвязь показана на рис. 2–3.
Рис. 2–3. Взаимосвязь между ценностями, принципами и общепринятыми практиками Agile-манифеста
Как следует из рис. 2–3, созданная на основе идей Ахмеда Сидки (Ahmed Sidky) модель формулирует agile как образ мышления, определяемый на основе ценностей Agile-манифеста, основанный на принципах Agile-манифеста и получивший применение в разнообразных практиках. Стоит заметить, что, хотя понятие agile стало входить в общее употребление после публикации Agile-манифеста, те подходы и методы, которыми пользуются команды проектов сегодня, применялись за много лет, а в некоторых случаях – даже десятилетий до его публикации.
Подходы agile и методы agile являются обобщающими понятиями, которые описывают различные фреймворки и методы. На рис. 2–4 понятие agile показано в контексте и наглядно представлено как общий термин, относящийся к любому типу подхода, метода, фреймфорка, методики или