51
Дело в том, что не все проекты создания систем могут быть
структурированы таким образом, чтобы быть реализованными по
классическому проектному подходу. Это связано с неопределенностями,
которые не могут быть устранены (прояснены) в ходе периода планирования
и проектирования. В таком случае, в проекте необходимо предусматривать
наличие в будущем отдельных маленьких «подпроектов», в которых будет
производиться «дополнительное планирование».
Таким образом, инициация и верхнеуровневое планирование
проводятся для всего проекта, а последующие этапы: разработка,
тестирование и прочие проводятся для каждого мини-проекта отдельно. Это
позволяет передавать результаты этих мини-проектов, так называемые,
инкременты, быстрее, а приступая к новому подпроекту (итарации) в него
можно внести изменения без больших затрат и влияния на остальные части
проекта.
Идея каскадной (итеративной) разработки не нова. Своё нынешнее
название семейство гибких методологий получило в 2001 с публикации
Манифеста Agile (Agile Manifesto), закрепившем основные ценности и
принципы гибкой разработки программного обеспечения, в основе которых –
командная работа и адаптация, даже «любовь» к изменениям.
Самое главное достоинство Agile – его гибкость и адаптивность. Он
может подстроиться под практически любые условия и процессы
организации. Именно это обуславливает его нынешнюю популярность и то,
сколько систем для различных областей было создано на его основе.
Один из принципов Agile: «Реакция на изменения важнее следования
плану». Именно быстрая и относительно безболезненная реакция на
изменения является причиной тому, что многие крупные компании стремятся
сделать свои процессы более гибкими. Кроме того, Agile отлично подходит
для проектов с «открытым концом» — например, запуску сервиса или блога.
Эффективная предметная область Agile – разработка новых,