Что такое Agile
Agile это подход к разработке программного обеспечения в котором требования и решения развиваются благодаря совместным усилиям самоорганизующейся и мультифункциональной команды/команд и пользователям этого ПО. Методология оправдывает адаптивное планирование, эволюционную разработку, раннюю поставку ПО и постоянное улучшение. Поощеряет быстрое и гибкое реагирование на изменения.
Определение Agile стало популярным в контексте "Manifesto for Agile Software Development". Принципы и подходы описанные в этом манифесте были подкреплены широким спектром методик разработки программного обеспечения, таких как Scrum и Kanban.
Есть некоторые смешные доказательства что принятие практик и ценностей описанных в манифесте повышает гибкость профессионалов в области разработки ПО, но исследователи НЕ нашли научных доказательств этому. Что еще раз подчеркивает факт зависимости результатов применения методологии от личных качеств каждого члена команды и общей культуры команды в целом.
Итак, основные ценности гибкой разработки, описанные в Манифесте: - Люди и взаимодействие превыше процессов и инструментов - Рабочее программное обеспечение превыше полной документации - Взаимодействие с клиентами важнее обсуждения контракта - Реакция на изменения важнее следования планам
Scott Ambler дополнил вышеописанное обьяснениями: - Инструменты и процессы важны, но компетентные люди работающие совместно эффективно важнее - Хорошая документация полезна людям для понимания как устроена программа и как ее использовать, но основная задача разработки ПО в создании программы, а не документации - Контракты имеют важное значение, но не являются заменой тесного сотрудничества с клиентами в процессе выяснения их истинных потребностей - План проекта важен, но он не должен быть слишком жестким чтобы учитывать изменения в технологиях, окружающей среде и приоритетах заинтересованных лиц
Принципы гибкой разработки: 1. Удовлетворенность клиента ранней
2. Изменения требований приветствуются, даже на поздних этапах разработки
3. Поставки рабочего софта происходят часто (недели, а не месяцы)
4. Тесное, ежедневное сотрудничество между бизнесом и разработкой
5. Проекты строятся вокруг мотивированных доверенных членов команды
6. Личное общение - лучшая форма коммуникации. Совместное размещение - идеально
7. Рабочий софт - лучшая мера прогресса
8. Устойчивая разработка, спосообная поддерживать постоянный темп
9. Постоянное стремление к техническому совершенству и хорошей архитектуре
10. Простота - исскуство максимизации количества НЕ сделанной работы. Необходимость
11. Лучшие архитектурные решения, требования и дизайн создают самоорганизованные команды
12. Регулярно команда размышляет о том как статья более эффективной и, соответственно, корректирует свои планы и действия














