Гибкая разработка программного обеспечения


В разработке программного обеспечения гибкие (иногда называемые Agile ) практики [1] включают в себя выявление требований и улучшение решений посредством совместных усилий самоорганизующихся и кросс-функциональных команд со своими заказчиками / конечными пользователями , [2] адаптивные планирование, эволюционное развитие, ранняя поставка, постоянное улучшение и гибкая реакция на изменения требований, возможностей и понимания проблем, которые необходимо решить. [3] [4]

Эти ценности и принципы, популяризированные в Манифесте гибкой разработки программного обеспечения 2001 года [5] , были получены из широкого спектра сред разработки программного обеспечения , включая Scrum и Kanban , и лежат в их основе . [6] [7]

Хотя существует множество неподтвержденных данных о том , что внедрение гибких практик и ценностей повышает эффективность специалистов по программному обеспечению, команд и организаций, эмпирические данные неоднозначны и их трудно найти. [8] [9] [10]

Итеративные и инкрементные методы разработки программного обеспечения можно проследить еще в 1957 году [11] , а эволюционное управление проектами [12] [13] и адаптивная разработка программного обеспечения [14] появились в начале 1970-х годов. [15]

В течение 1990-х годов ряд облегченных методов разработки программного обеспечения развился в ответ на преобладание тяжеловесных методов (часто называемых в совокупности водопадом ), которые критики описывали как чрезмерно регулируемые, планируемые и управляемые на микроуровне . [16] Эти упрощенные методы включали: быструю разработку приложений (RAD) с 1991 г.; [17] [18] единый процесс ( UP) и метод разработки динамических систем (DSDM), оба с 1994 года; Скрам , с 1995 года; Кристально чистое и экстремальное программирование (XP), оба с 1996 года; иразработка, управляемая функциями (FDD), с 1997 года. Хотя все они возникли до публикации Манифеста Agile , теперь они вместе называются методами гибкой разработки программного обеспечения. [7]

Уже с 1991 года аналогичные изменения произошли в производстве [19] [20] и управленческом мышлении [21] , основанном на бережливом управлении .


Парное программирование , метод гибкой разработки, используемый в XP .
Поддержка жизненного цикла разработки программного обеспечения [49]
Agile Unified Process (AUP) основан на Unified Process (итеративной и поэтапной структуре процесса разработки программного обеспечения).
Конференция Agile Бразилия 2014