Гибкая методология разработки
Гибкая методология разработки (англ. Agile software development) — это собирательный термин для подходов к разработке программного обеспечения, отражающих ценности и принципы, согласованные в 2001 году группой из 17 специалистов по разработке программного обеспечения — Agile Alliance[1]. Как зафиксировано в их Манифесте гибкой разработки программного обеспечения (англ. Manifesto for Agile Software Development), участники подчеркнули важность:
- людей и взаимодействия важнее процессов и инструментов,
- работоспособного программного обеспечения важнее исчерпывающей документации,
- сотрудничества с заказчиком важнее согласования условий контракта,
- реагирования на изменения важнее следования первоначальному плану[2].
Источниками вдохновения для гибкой методологии стали новые практики конца 1990-х годов, такие как экстремальное программирование, скрам (англ. Scrum), метод динамического развития систем (англ. Dynamic Systems Development Method), адаптивная разработка программного обеспечения и стремление найти альтернативу тяжеловесным, ориентированным на документацию процессам[3].
Из гибкой методологии выросло множество конкретных практик, называемых Agile (с заглавной буквы)[4], которые предполагают развитие требований, исследование и совершенствование решений через совместную работу самоорганизующихся и кросс-функциональных команд вместе с заказчиком и конечными пользователями[5].
Существует обилие анекдотических доказательств эффективности agile-методов, однако строгая эмпирическая база ограничена и не всегда однозначна[6].
История
Итеративные и инкрементные методы разработки программного обеспечения применялись уже в 1957 году[7], с эволюционным управлением проектами[8][9] и адаптивной разработкой программного обеспечения[10] (начало 1970-х годов)[11].
В 1990-х годах появились «облегчённые» методы — альтернатива тяжеловесным (англ. waterfall) — которые, по мнению критиков, были чрезмерно зарегулированы и подчинены микроменеджменту[12]. К ним относятся: быстрая разработка приложений (RAD), с 1991 года[13]; унифицированный процесс и DSDM (1994); скрам (1995); Crystal Clear и экстремальное программирование (XP, 1996); разработка, управляемая функционалом (FDD, 1997). Позже все эти подходы стали относить к методам гибкой разработки[3].
Сходные преобразования происходили и в производстве (agile manufacturing)[14] и управлении, заимствованных из бережливого производства[15].
В феврале 2001 года 17 разработчиков встретились на курорте в Сноубёрде (штат Юта), где и оформили Манифест гибкой разработки и создали Agile Alliance[2].
В 2005 году при участии Кокберна и Хайсмита был опубликован дополнительный манифест по управлению проектами — Declaration of Interdependence[16]. В 2009 году под руководством Мартина появился Manifesto for Software Craftsmanship — о профессионализме и мастерстве в agile-разработке.
С 2011 года Agile Alliance поддерживает открытый глоссарий и руководство по agile-практикам, который пополняется экспертами со всего мира[17].
Ценности и принципы
Ценности
Текст Манифеста гибкой разработки утверждает[2]:
Мы открываем лучшие способы разработки программного обеспечения, занимаясь этим сами и помогая в этом другим. Благодаря этой работе мы пришли к следующим ценностям:
- Люди и взаимодействие важнее процессов и инструментов.
- Работоспособное программное обеспечение важнее исчерпывающей документации.
- Сотрудничество с заказчиком важнее согласования условий контракта.
- Реагирование на изменения важнее следования первоначальному плану.
Это означает, что, несмотря на ценность элементов справа, мы больше ценим элементы слева.
Скотт Амблер пояснил[18]:
- Инструменты и процессы важны, но главное — компетентные люди, работающие вместе.
- Хорошая документация помогает понять, как устроено ПО, но главное — создавать и поддерживать работающее ПО.
- Контракт важен, но не подменяет постоянное взаимодействие с заказчиком в поиске его настоящих потребностей.
- Планирование важно, но не должно мешать адаптации к изменяющимся условиям и пониманию задачи.
Представляя Манифест от имени Agile Alliance, Джим Хайсмит отметил:
Движение Agile не против методологий — наоборот, многие из нас хотят вернуть доверие к самому термину "методология". Мы поддерживаем моделирование не ради формальных диаграмм, но для пользы дела; документируем, но избежая сотен "мертвых" страниц; планируем, но осознаём ограничения планирования в турбулентной среде. Тех, кто называет сторонников XP, SCRUM или других agile-методов "хакерами", можно упрекнуть в незнании как содержательной стороны, так и исходного смысла слова "хакер".
— Джим Хайсмит, История: The Agile Manifesto[19]
Принципы
Ценности Манифеста раскрываются в 12 принципах[20]:
- Удовлетворение заказчика через ранние и регулярные поставки ценного ПО.
- Приветствие изменений требований даже на поздних этапах.
- Частые поставки работоспособного ПО (недели, а не месяцы).
- Тесное ежедневное взаимодействие заказчика и разработчиков.
- Команды строятся вокруг мотивированных людей, которым доверяют.
- Личные коммуникации — лучший способ обмена информацией.
- Работоспособное ПО — первичная мера прогресса.
- Устойчивое развитие: постоянный ритм.
- Постоянное внимание к высокой технической культуре и дизайну.
- Простота — искусство делать только наиболее необходимое.
- Лучшая архитектура, требования и дизайн рождаются в самоорганизующихся командах.
- Регулярная рефлексия с целью саморазвития команды.
Обзор
Итеративность и инкрементальность
Большинство agile-методов разбивают работу на малые инкременты с минимальным предварительным планированием. Итерации («спринты») длятся обычно от одной до четырёх недель. Каждая итерация охватывает все этапы — от планирования и анализа до программирования, тестирования и демонстрации заказчикам, что минимизирует риски и облегчает адаптацию к изменениям[21].
Главное преимущество agile — быстрая обратная связь и вывод продукта на рынок малыми партиями, что снижает время и риски непопадания в запросы пользователя.
Эффективная коммуникация
6-й принцип Манифеста: «Самый эффективный способ обмена информацией в команде — личное общение». Хотя Манифест был написан, когда видеоконференций почти не было, акцент — именно на качестве коммуникаций.
Размещение сотрудников в одном помещении (co-location) облегчает формирование команды и рабочие коммуникации[22]. Однако современные исследования отмечают, что удалёнка делает этот принцип менее критичным.
В любой команде должен быть представитель заказчика (product owner), который доступен для вопросов и переоценивает приоритеты по итогам каждой итерации, чтобы повысить отдачу от инвестиций[23].
Информационный радиатор
Информационный радиатор — большой стенд или доска рядом с командой, на котором отображён текущий статус разработки, чтобы любой мог видеть общий ход проекта[24]. Также используется световая индикация сборок.
Короткий цикл обратной связи и адаптации
Стандартная agile-практика — ежедневные стендапы (stand-up meetings или scrum meetings), где команда 15 минут обсуждает прогресс и выявляет препятствия[25].
Фокус на качестве
Такие инструменты, как непрерывная интеграция, автоматические модульные тесты, парное программирование, разработка через тестирование, рефакторинг кода, помогают встроить качество «с самого начала», чтобы ПО всегда было доступно к показу клиенту в конце каждого спринта[26].
Философия
Гибкая методология оптимально подходит для сложных, быстро меняющихся проектов, где невозможно дать точные оценки на ранней стадии[27]. Здесь отказ от жёстких спецификаций минимизирует потери и позволяет гибко адаптироваться.
Адаптивный и предсказуемый подходы
Методы разработки делят на адаптивные (гибкие) и предсказуемые (плановые)[28]. Agile относится к адаптивным; ключевой принцип — «волнообразное планирование»: фиксируются вехи, а путь до них и даже сами вехи могут пересматриваться[29].
- Адаптивные команды готовы менять направление даже в процессе спринта, не дают точных обещаний на много месяцев вперёд.
- Плановые (waterfall) методы подробно анализируют и фиксируют будущее, изменения усложняются и требуют согласования.
Схожее разграничение по параметрам:
| Гибкий подход (agile) | Плановый подход (waterfall) | Формальные методы |
|---|---|---|
| Низкая критичность | Высокая критичность | Экстремальная критичность |
| Старшие разработчики | Младшие разработчики | Старшие разработчики |
| Требования часто меняются | Требования стабильны | Жёстко ограниченный набор требований и функций |
| Малочисленная команда | Большая команда | Требования легко формализуются |
| Готовность к изменениям | Ориентация на порядок | Максимальная достоверность |
Agile vs Waterfall
Главное отличие: в waterfall тестирование выведено в отдельную фазу после завершения кода; в agile тестирование идёт в том же спринте, что ускоряет обратную связь и быстрее даёт пользователю ценность (аналог цикла PDCA).
Итеративная работа поддерживает продуктовый, а не проектный подход: требования не фиксируются жёстко с самого начала, что позволяет гибче реагировать на рынок.
Код vs документация
Скептики (например, Стивен Ракин) критиковали agile за якобы «отрицание документации» и подрыв инженерной дисциплины[30]. Сторонники возражают: документация пишется в ровно той мере, в какой это повышает ценность, чрезмерная же документация либо устаревает, либо мешает развитию[31].
Методологии
Основные agile-фреймворки:
| Методика | Авторы/разработчики |
|---|---|
| Адаптивная разработка ПО (ASD) | Джим Хайсмит, Сэм Байер |
| Agile-моделирование | Скотт Амблер, Роберт С. Мартин |
| Agile Unified Process (AUP) | Скотт Амблер |
| Дисциплинированная гибкая доставка | Скотт Амблер |
| Метод динамического развития систем (DSDM) | Дженнифер Стэплтон |
| Экстремальное программирование (XP) | Кент Бек, Роберт С. Мартин |
| Разработка, управляемая функционалом (FDD) | Джефф Де Лука |
| Бережливая разработка ПО | Мэри и Том Поппендик |
| Lean-startup | Эрик Рис |
| Канбан (Kanban) | Тайити Оно |
| Быстрая разработка приложений (RAD) | Джеймс Мартин |
| Скрам (Scrum) | Кен Швабер, Джефф Сазерленд |
| Скрамбан |
Ключевые практики agile
Несколько ярких agile-практик[32]:
| Практика | Основные авторы |
|---|---|
| Acceptance test-driven development (АТDD) | Кен Пью |
| Agile-моделирование | Скотт Амблер |
| Agile-тестирование | Лиза Криспин, Джанет Грегори |
| Бэклог (product и sprint backlog) | Кен Швабер, Джефф Сазерленд |
| Behavior-driven development (BDD) | Дэн Норт, Лиз Киог |
| Непрерывная интеграция (CI) | Грейди Буч |
| Кросс-функциональная команда | |
| Daily stand-up / daily Scrum | Джеймс Коплен |
| Domain-driven design (DDD) | Эрик Эванс |
| Итеративная и инкрементная разработка | |
| Парное программирование | Кент Бек |
| Planning poker | Джеймс Греннинг, Майк Коэн |
| Рефакторинг | Мартин Фаулер |
| Ретроспектива | Эстер Дерби, Диана Ларсен, Бен Линдерс, Луис Гонсалвеш |
| События Scrum (спринт-планирование, обзор, ретроспектива) | Кен Швабер, Джефф Сазерленд |
| Specification by example | |
| Story-driven modeling | Альберт Цюндорф |
| Test-driven development (TDD) | Кент Бек |
| Timeboxing | |
| User story | Алистер Кокберн |
| Velocity tracking |
Адаптация методов (tailoring)
Понятие адаптации методов (method tailoring) означает гибкую настройку процесса для конкретного проекта через изменение методик и практик в зависимости от ситуации[33]. Гибкие методы поощряют адаптацию процессных практик под нужды продукта[34].
Для этого используются как универсальные языки моделирования (например, UML), так и специализированные фреймворки вроде Essence (SEMAT).
Гибкие методы в крупномасштабных и распределённых проектах
Гибкие методы начинали в небольших экспертных командах и зелёных проектах, а попытки внедрять их в крупные организации с устаревшими системами часто сталкивались с трудностями[35].
Для распределённых (distributed agile) и офшорных команд были развиты особые подходы, но эффективность и соответствие agile до сих пор обсуждаются[36].
Регулируемые сферы
В регулируемых отраслях (медицина, финансы, авиация) agile внедряется со специальными доработками, учитывающими стандарты ISO и дополнительную отчётность для соответствия требованиям безопасности и проверки[37].
Ключевые требования: встроенность обеспечения качества, безопасность, формализованная трассировка составных частей, верификация и валидация на каждом этапе.
Применение и внедрение
Хотя принципы agile можно применять с любым языком программирования, исторически методы развивались в средах, ориентированных на объектное программирование. Первое распространение agile получили небольшие команды, разрабатывающие инновационные или нестандартные проекты, где сложно заранее финализировать требования[38].
Оценка гибкости команды
Существуют различные метрики: индекс гибкости (Agility measurement index), который оценивает продукт по пяти осям (длительность, риск, новизна, усилия, взаимодействие). Метрики включают измерение скорости (velocity), внутренние agile-тесты команд (Nokia, Karlskrona, тест 42 пункта)[39].
Опросы и исследования
По ежегодному исследованию State of Agile (с 2006 года) большинство респондентов отмечают рост производительности, скорости вывода продуктов и управляемости изменений[40].
Типовые проблемы применения agile
- Отсутствие дизайна всей архитектуры ведёт к переусложнению и трудной масштабируемости при быстрых успехах в начале[41].
- Добавление новых требований в середине спринта нарушает ритм, их следует выносить в будущие спринты[42].
- Недостаточная поддержка инициаторов проекта (спонсоров) снижает шанс на успех внедрения[43].
- Отсутствие должной подготовки персонала приводит к неправильному внедрению[44].
- Роль product owner формально заполняется кем-то из разработчиков, что приводит к конфликту интересов и потере ориентации на бизнес-задачи[45].
- Работа на несколько продуктов параллельно — снижает производительность.
- Чрезмерное планирование, попытки в начале выяснить и описать всё досконально — против идеи итеративного узнавания истинных требований.
- Злоупотребление стендапами для решения подробных проблем — минус для эффективности.
- Назначение задач извне, а не самими участниками команды, ограничивает самостоятельность роста.
- Scrum-мастер берёт на себя задачи разработчика, что снижает способность устранять препятствия[46].
- Отсутствие автоматизации тестирования не позволяет поддерживать высокое качество на длительном горизонте.
- Рост технического долга (technical debt) из-за стремления быстро выводить новые фичи.
- Чрезмерная загрузка (слишком много задач на итерацию), что увеличивает потери на переключение контекста.
- Неудачные попытки зафиксировать одновременно время, ресурсы, объём и качество — приводит к ущербу для качества[47].
- Риск выгорания команды из-за интенсивного ритма[48].
Agile-менеджмент
Гибкое управление проектами — это итеративный подход, где регулярно собирается обратная связь пользователей и корректируется продукт[49]. Agile-менеджмент используют не только в IT, но и в производственных цепочках и стратегическом управлении.
Ключевое отличие от традиционного итерационного управления в том, что agile стремится завершать мелкие части продукта (а не постепенно дорабатывать общий макет). Это даёт возможность пользователям пробовать продукт на раннем этапе и уточнять требования[50].
Agile-подходы применяют и в государственном управлении и вне IT — от совместного управления проектами до распределённых команд и стратегических инициатив[51].
Применение вне ИТ
Гибкие методологии углублённо используются и в разработке продуктов вне ПО (например, электроника, медицинские приборы, мода, музыка). Кроме того, agile-идеи начали внедряться в бизнес-менеджмент, обучение (learning engineering) и даже в семейное воспитание[52].
Критика
Критики отмечают сомнительную эффективность agile в крупных организациях и на некоторых проектах[53]. Многие принимают гибридные подходы, комбинируя элементы agile и «водопадной» модели[54]. Также критикуется излишняя «модность», переоценка принципов над результатами, ввод новой терминологии вместо извлечения уроков из истории[55].
Примечания
- ↑ What is Agile? Agile Alliance (29 июня 2015). Дата обращения: 16 июля 2024. Архивировано 26 марта 2016 года.
- ↑ 1 2 3 Kent Beck. Manifesto for Agile Software Development. Agile Alliance (2001). Дата обращения: 14 июня 2010.
- ↑ 1 2 Larman, Craig. Agile and Iterative Development: A Manager's Guide. — Addison-Wesley, 2004. — P. 27. — ISBN 978-0-13-111155-4.
- ↑ Rally Agile With a Capital "A" Vs. agile With a Lowercase "a" (2010). Дата обращения: 9 сентября 2015. Архивировано 5 января 2016 года.
- ↑ What is Agile Software Development? Agile Alliance (8 июня 2013). Дата обращения: 4 апреля 2015. Архивировано 20 августа 2010 года.
- ↑ Dybå, Tore; Dingsøyr, Torgeir (1 августа 2008). “Empirical studies of agile software development: A systematic review”. Information and Software Technology [англ.]. 50 (9—10): 833—859. DOI:10.1016/j.infsof.2008.01.006. ISSN 0950-5849. S2CID 2244031.
- ↑ Дж. М. Вайнберг, цит. по: Larman, Craig; Basili, Victor R. (июнь 2003). “Iterative and Incremental Development: A Brief History”. IEEE Computer. 36 (3): 47—56. DOI:10.1109/MC.2003.1204375. Проверьте дату в
|date=(справка на английском) - ↑ Evolutionary Project Management (Original page, external archive). Gilb. Дата обращения: 30 апреля 2017. Архивировано 27 марта 2016 года.
- ↑ Evolutionary Project Management (New page). Gilb. Дата обращения: 30 апреля 2017. Архивировано 24 августа 2025 года.
- ↑ Edmonds, E. A. (1974). “A Process for the Development of Software for Nontechnical Users as an Adaptive System”. General Systems. 19: 215—18.
- ↑ Gilb, Tom (1981-04-01). “Evolutionary development”. ACM SIGSOFT Software Engineering Notes [англ.]. 6 (2): 17. DOI:10.1145/1010865.1010868.
- ↑ Heavyweight Project Organization : [англ.]. — Springer US, 2000. — P. 261–262. — ISBN 978-1-4020-0612-8. — doi:10.1007/1-4020-0612-8_400.
- ↑ Martin, James. Rapid Application Development. — Macmillan, 1991. — ISBN 978-0-02-376775-3.
- ↑ Iacocca Institute (1991). «21st Century Manufacturing Enterprise Strategy: An Industry Led View». Iacocca Institute, Lehigh University, Bethlehem, PA.
- ↑ Sanchez, Luis (ноябрь 2010). “A Review of Agile Manufacturing Systems”. International Journal of Production Research (39(16):3561-3600). Проверьте дату в
|date=(справка на английском) - ↑ Anderson, David Declaration of Interdependence (2005). Дата обращения: 4 октября 2018. Архивировано 27 января 2018 года.
- ↑ McDonald, Kent. How You Can Help Agile Alliance Help You, Agile Alliance Blog (1 ноября 2016). Архивировано 22 августа 2025 года. Дата обращения: 4 июля 2017.
- ↑ Examining the Agile Manifesto. Ambysoft Inc.. Дата обращения: 6 апреля 2011. Архивировано 23 августа 2025 года.
- ↑ Jim Highsmith. History: The Agile Manifesto. agilemanifesto.org (2001). Архивировано 16 декабря 2025 года.
- ↑ Kent Beck. Principles behind the Agile Manifesto. Agile Alliance (2001). Дата обращения: 6 июня 2010. Архивировано 14 июня 2010 года.
- ↑ Moran, A. Agile Risk Management. — Springer Verlag, 2014. — ISBN 978-3319050072.
- ↑ Preuss, Deborah Hartmann Study: Co-Located Teams vs. the Cubicle Farm. InfoQ (13 октября 2006). Дата обращения: 23 октября 2018. Архивировано 17 октября 2006 года.
- ↑ Jain, Parita. The Impact of Agile Software Development Process on the Quality of Software Product // 2018 7th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO) / Parita Jain, Arun Sharma, Laxmi Ahuja. — Noida, India : IEEE, август 2018. — P. 812–815. — ISBN 978-1-5386-4692-2. — doi:10.1109/ICRITO.2018.8748529.
- ↑ Ambler, Scott. Agile Modeling: Effective Practices for EXtreme Programming and the Unified Process. — John Wiley & Sons, 12 апреля 2002. — P. 12, 164, 363. — ISBN 978-0-471-20282-0.
- ↑ Vasiliauskas, Vidas Developing agile project task and team management practices. Eylean (2014). Дата обращения: 15 сентября 2014. Архивировано 15 сентября 2014 года.
- ↑ Lisa Crispin. Agile Testing: A Practical Guide for Testers and Agile Teams / Lisa Crispin, Janet Gregory. — Addison-Wesley, 2009.
- ↑ Mitchell, Ian. Agile Development in Practice. — Tamare House, 2016. — P. 11. — ISBN 978-1-908552-49-5.
- ↑ Boehm, B. Balancing Agility and Discipline: A Guide for the Perplexed / B. Boehm, R. Turner. — Boston, MA : Addison-Wesley, 2004. — ISBN 978-0-321-18612-6.
- ↑ Larman, Craig. Chapter 11: Practice Tips // Agile and Iterative Development: A Manager's Guide. — Addison-Wesley Professional, 2004. — P. 253. — ISBN 9780131111554.
- ↑ Rakitin, Steven R. (2001). “Manifesto Elicits Cynicism: Reader's letter to the editor by Steven R. Rakitin”. IEEE Computer. 34 (12): 4. DOI:10.1109/MC.2001.10095. S2CID 221106984.
...
- ↑ Scott Ambler. Agile/Lean Documentation: Strategies for Agile Software Development (16 апреля 2023). Архивировано 19 октября 2025 года.
- ↑ Guide to Agile Practices. the Agile Alliance. Архивировано 9 февраля 2014 года.
- ↑ Aydin, M.N.; Harmsen, F.; Slooten; Stagwee, R. A. (2004). “An Agile Information Systems Development Method in use”. Turk J Elec Engin. 12 (2): 127—138.
- ↑ Morris, David. The Paradox of Agile Transformation: Why trying too hard to be Agile stops organisations from becoming truly agile. — NZ : University of Auckland, 2015. — doi:10.13140/RG.2.2.32698.08640.
- ↑ Boehm, B. Balancing Agility and Discipline: A Guide for the Perplexed / B. Boehm, R. Turner. — Boston, MA : Addison-Wesley, 2004. — P. 55–57. — ISBN 978-0-321-18612-6.
- ↑ W. Scott Ambler (2006) Supersize Me в Dr. Dobb’s Journal, 15 февраля 2006.
- ↑ Cawley, Oisín. Lean/Agile Software Development Methodologies in Regulated Environments – State of the Art // Lean Enterprise Software and Systems / Oisín Cawley, Xiaofeng Wang, Ita Richardson. — 2010. — Vol. 65. — P. 31–36. — ISBN 978-3-642-16415-6. — doi:10.1007/978-3-642-16416-3_4.
- ↑ Beck, Kent. Extreme Programming Explained. — Addison-Wesley, 2000. — P. 1–24. — ISBN 978-0201616415.
- ↑ How Agile Are You? (Take This 42 Point Test). allaboutagile.com/. Дата обращения: 3 апреля 2026. Архивировано 5 мая 2014 года.
- ↑ 2013 State of Agile report: Why Agile? stateofagile.com (27 января 2014). Дата обращения: 13 августа 2014. Архивировано 28 августа 2014 года.
- ↑ Beck, Kent. Extreme Programming Explained. — Addison-Wesley, 2000. — P. 48–49. — ISBN 978-0201616415.
- ↑ Goldstein, Ilan Sprint issues – when sprints turn into crawls. www.axisagile.com.au (11 октября 2011). Дата обращения: 8 июня 2014. Архивировано 15 августа 2025 года.
- ↑ Bourne, Lynda What Does a Project Sponsor Really Do? blogs.pmi.org. Дата обращения: 8 июня 2014. Архивировано 7 июня 2014 года.
- ↑ 9th State of Agile Report. Stage of Agile Survey. VersionOne. Дата обращения: 8 июня 2014. Архивировано 12 января 2015 года.
- ↑ Sims, Chris. The Elements of Scrum / Sims, Chris, Johnson, Hillary Louise. — Kindle. — Dymaxicon, 2011-02-15. — P. 73.
- ↑ Berczuk, Steve Mission Possible: ScrumMaster and Technical Contributor. www.agileconnection.com. Дата обращения: 14 июня 2014. Архивировано 14 июля 2014 года.
- ↑ McMillan, Keith Time, Resources, Scope... and Quality. www.adeptechllc.com (13 мая 2010). Дата обращения: 15 июня 2014. Архивировано 18 сентября 2025 года.
- ↑ “Current study on limitations of Agile”. Procedia Computer Science. 78: 291—297. 2016-01. DOI:10.1016/j.procs.2016.02.056. Проверьте дату в
|date=(справка на английском) - ↑ The Procurement Call for Agile, What does it mean? (1 ноября 2019). Архивировано 24 августа 2025 года.
- ↑ Agile Project Management. VersionOne. Дата обращения: 3 апреля 2026. Архивировано 9 июня 2015 года.
- ↑ Benson, Jim. Personal Kanban: mapping work, navigating life / Jim Benson, Tonianne De Maria Barry. — Seattle, WA : Modus Cooperandi Press, 2011. — P. 38. — ISBN 978-1-4538-0226-7.
- ↑ Smith, Preston G. Flexible Product Development. — Jossey-Bass, 2007. — P. 25. — ISBN 978-0-7879-9584-3.
- ↑ Larman, Craig. Top Ten Organizational Impediments to Large-Scale Agile Adoption / Craig Larman, Bas Vodde. — InformIT, 2009-08-13.
- ↑ Barlow, Jordan B.; Justin Scott Giboney; Mark Jeffery Keith; David W. Wilson; Ryan M. Schuetzler; Paul Benjamin Lowry; Anthony Vance (2011). “Overview and Guidance on Agile Development in Large Organizations”. Communications of the Association for Information Systems. 29 (1): 25—44. DOI:10.17705/1CAIS.02902.
- ↑ Kupersmith, Kupe Agile is a Fad (4 июля 2011). Архивировано 9 августа 2011 года.