Гибкая методология разработки (англ. Agile software development) – это набор принципов и
правил, в рамках которого осуществляется разработка ПО. Методология Agile – это семейство процессов разработки, а не единственный подход к разработке программного обеспечения.
Ценности и принципы Agile методологии закреплены в документе ‘Agile Manifesto’.
Agile не включает конкретных практик, а определяет ценности и принципы, которыми руководству-
ются успешные команды.
Agile Manifesto разработан и принят 11–13 февраля 2001 года на лыжном курорте The Lodge at Snowbird в горах штата Юта, США. Манифест подписали представители следующих методологий:
Extreme programming
Scrum
DSDM
Adaptive Software Development
Crystal Clear
Feature-Driven Development
Pragmatic Programming
Большинство гибких методологий нацелено на минимизацию рисков путём сведения разработки к серии коротких циклов, называемых итерациями, которые обычно длятся одну-две недели. Каждая итерация сама по себе выглядит как программный проект в миниатюре и включает все задачи, необходимые для выдачи миниприроста по функциональности: планирование, анализ требований, проектирование, кодирование, тестирование и документирование. Хотя отдельная итерация, как правило, недостаточна для выпуска новой версии продукта, подразумевается, что гибкий программный проект готов к выпуску в конце каждой итерации. По окончании каждой итерации команда выполняет переоценку приоритетов разработки.
Основным результатом работы по agile-методологии является работающий программный продукт. Расценивая именно работающий программный продукт в качестве единственного показателя работы команды проекта за конечный период времени, создатели концепции agile сформулировали следующие ценности и принципы методологии.
Ценности Agile-методологии:
личности и их взаимодействия важнее, чем процессы и инструменты;
работающее программное обеспечение важнее, чем полная документация;
сотрудничество с заказчиком важнее, чем контрактные обязательства;
реакция на изменения важнее, чем следование плану.
Принципы Agile-методологии:
удовлетворение клиента за счёт ранней и бесперебойной поставки ценного ПО;
приветствие изменения требований, даже в конце разработки (это может повысить конкурентоспособность полученного продукта);
частая поставка рабочего ПО (каждый месяц или неделю или ещё чаще);
тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта;
проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием;
рекомендуемый метод передачи информации – личный разговор (лицом к лицу);
работающее ПО – лучший измеритель прогресса;
спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределенный срок;
постоянное внимание на улучшение технического мастерства и удобный дизайн;
простота – искусство НЕ делать лишней работы;
лучшие архитектура, требования и дизайн получаются у самоорганизованной команды;
постоянная (частая) адаптация (улучшение эффективности работы) к изменяющимся обстоятельствам.
Другие языки программирования и технологии
Что представляет собой Agile-методология?
Добавлю объяснение, которое нам предлагали на курсах LeadStartup на случай если надо кому-то рассказать о методологии «на пальцах»: Agile — итеративный подход при работе над проектом. Ваша команда выпускает проект маленькими шагами с самого начала, а не показывает уже готовый продукт в самом конце.
Похожие вопросы
- Обязан ли программист вникать в менеджмент и читать книги по scrum, Kanban, agile и прочим lean?
- Методология понимания массива объектно-ориентированного кода из 40 файлов?
- Прочитал в книге, что есть вещи которые можно сделать на C++ и нельзя на C#. Что они из себя представляют?
- Что представляет собой движок в играх и как его пишут???
- Что из себя представляют языки PHP и java.
- что из себя представляет процесс архивации файлов? каким образом они сжимаются?
- Ксилография, что собой представляет этот графический жанр?
- Какой Вы представляете себе внешность "компьютерщика"?
- Что собой представляет движок игры? Это же не exe файл. И еще интересно как прикрепляют модели к движку.
- что собой представляет Camtasia Studio 6?