Гнучка розробка програмного забезпечення
| Цикл розробки програмного забезпечення |
|
|---|---|
Програміст за роботою |
|
| Діяльність та кроки | |
| Вимоги · Специфікація Архітектура · Дизайн Реалізація · Тестування Розгортання · Підтримка |
|
| Методології | |
| Гнучка · Чистого приміщення DSDM · Iterative · RAD · RUP Spiral · Водоспад · XP · Scrum Lean · V-Model · FDD · TDD |
|
| Допоміжні дисципліни | |
| Конфігураційне керування Документування Якість ПЗ Управління проектами User experience design |
|
| Інструменти | |
| Компілятор · Зневаджувач Профілювальник GUI designer · IDE |
|
Гнучка́ розро́бка програ́много забезпе́чення (англ. Agile software development) — клас методологій розробки програмного забезпечення, що базується на ітеративній розробці, в якій вимоги та розв'язки еволюціонують через співпрацю між самоорганізовуваними багатофункціональними командами.
Термін з'явився у 2001 році, коли був написаний Маніфест гнучкої розробки.
Більшість гнучких методологій націлені на мінімізацію ризиків, шляхом зведення розробки до серії коротких циклів, що мають назву ітерацій, які зазвичай тривають один-два тижні. Кожна ітерація сама по собі виглядає як програмний проект в мініатюрі, і включає всі завдання, необхідні для видачі мінімального приросту за функціональністю: планування, аналіз вимог, проектування, кодування, тестування і документування. Хоча окрема ітерація, як правило, недостатня для випуску нової версії продукту, мається на увазі те, що гнучкий програмний проект готовий до випуску в кінці кожної ітерації. Після закінчення кожної ітерації, команда виконує переоцінку пріоритетів розробки.
Agile акцентує увагу на безпосередньому спілкуванні «віч-на-віч». Більшість agile команд розташовані в одному офісі, його іноді називають bullpen. Як мінімум вона включає і «замовників» (замовники, які визначають продукт, також це можуть бути менеджери продукту, бізнес аналітики або клієнти). Офіс може також включати тестувальників, дизайнерів інтерфейсу, технічних авторів і менеджерів.
Основною метрикою agile методів є робочий продукт. Віддаючи перевагу безпосередньому спілкуванню agile методи зменшують обсяг письмової документації в порівнянні з іншими методами. Це привело до критики цих методів як не дисциплінованих.
Джерела [ред.]
1. Коваль Г. І. Удосконалення процесу розроблення сімейств програмних систем елементами гнучких методологій / Г. І. Коваль, А. Л. Колесник, К. М. Лавріщева, О. О. Слабоспицька // Проблеми програмування. — 2010. — № 2-3. — С. 261-270.

