Гибкая методология разработки
Процесс разработки ПО | |
Шаги процесса | |
---|---|
Анализ | Проектирование | Реализация | Тестирование | Внедрение | Сопровождение | |
Модели / Методы | |
Agile | Cleanroom | Итеративная | RAD | Scrum | RUP | OpenUP | MSF | Спиральная | Водопад | XP | |
Сопутствующие дисциплины | |
Конфигурационное управление | Документирование | Управление проектами | |
Гибкая методология разработки (англ. Agile software development) — это концептуальный каркас, в рамках которого выполняется разработка программного обеспечения. Существует несколько подобных методик.
Большинство гибких методологий нацелены на минимизацию рисков, путём сведения разработки к серии коротких циклов, называемых итерациями, которые обычно длятся одну-две недели. Каждая итерация сама по себе выглядит как программный проект в миниатюре, и включает все задачи, необходимые для выдачи мини-прироста по функциональности: планирование, анализ требований, проектирование, кодирование, тестирование и документирование. Хотя отдельная итерация, как правило, недостаточна для выпуска новой версии продукта, подразумевается, что гибкий программный проект готов к выпуску в конце каждой итерации. По окончании каждой итерации, команда выполняет переоценку приоритетов разработки.
Agile-методы делают упор на непосредственное общение лицом к лицу. Большинство agile-команд расположены в одном офисе иногда называемом bullpen. Как минимум она включает и «заказчиков» (заказчики которые определяют продукт, также это могут быть менеджеры продукта, бизнес-аналитики или клиенты). Офис может также включать тестировщиков, дизайнеров интерфейса, технических писателей и менеджеров.
Основной метрикой agile-методов является рабочий продукт. Отдавая предпочтение непосредственному общению, agile-методы уменьшают объем письменной документации, по сравнению с другими методами. Это привело к критике этих методов, как недисциплинированных.
Принципы
Agile — семейство процессов разработки, а не единственный подход в разработке программном обеспечения, и определяется Agile Manifesto[1]. Agile не включает практик, а определяет ценности и принципы, которыми руководствуются успешные команды.
Agile Manifesto разработан и принят 11-13 февраля 2001 года на лыжном курорте The Lodge at Snowbird в горах Юты. Манифест подписали представители следующих методологий Extreme programming, SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming.[2] Содержит 4 ценности, 12 принципов и не содержит практик.
Необходимо проверить качество перевода и привести статью в соответствие со стилистическими правилами Википедии. Вы можете помочь улучшить эту статью, исправив в ней ошибки.
Оригинал не указан. Пожалуйста, укажите его. |
Разрабатывая программное обеспечение и помогая другим делать это, мы стараемся найти наилучшие подходы к разработке. В процессе этой работы мы пришли к тому, чтобы ценить[3]:
- личности и их взаимодействия важнее, чем процессы и инструменты,
- рабочее программное обеспечение важнее, чем полная документация,
- сотрудничество с заказчиком важнее, чем контрактные обязательства,
- реакция на изменения важнее, чем следование плану.
Понятия справа важны, но мы больше ценим понятия слева.
Принципы, которые разъясняет Agile Manifesto[4]:
- Удовлетворение клиента за счёт ранней и бесперебойной поставки ценного ПО
- Приветствие изменения требований, даже в конце разработки. Это может повысить конкурентоспособность полученного продукта
- Частая поставка рабочего ПО (каждый месяц или неделю или ещё чаще)
- Тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта
- Проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием.
- Рекомендуемый метод передачи информации это личный разговор (лицом к лицу)
- Рабочее ПО — лучший измеритель прогресса
- Спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределенный срок
- Постоянное внимание на улучшение технического мастерства и удобный дизайн
- Простота — искусство НЕ делать лишней работы
- Лучшие архитектура, требования и дизайн получаются у самоорганизованной команды
- Постоянная(Частая) адаптация(улучшение эффективности работы) к изменяющимся обстоятельствам
Методологии
Существуют методологии, которые придерживаются ценностей и принципов заявленных в Agile Manifesto. Здесь перечислены ряд из них:
- Agile Modeling
- Agile Unified Process (AUP)
- Agile Data Method
- DSDM
- Essential Unified Process (EssUP)
- Extreme programming (XP)
- Feature Driven Development (FDD)
- Getting Real
- Open Unified Process (OpenUP)
- Scrum
- Lean (Бережливая разработка программного обеспечения)
Внешние ссылки
- Статья 'Основы Agile: ценности и принципы' (рус.)
- Статья 'Введение в гибкую разработку программного обеспечения' (рус.)
- Статья 'Гибкий подход разработки ПО — Scrum' (рус.)
Ссылки (сообщества)
- Сайт гибких методик разработки (www.agiledev.ru) (рус.)
- Agile Community Russia — независимое некоммерческое сообщество, объединяющее ИТ-профессионалов, занимающихся или интересующихся гибкими методологиями разработки ПО (www.agilerussia.ru) (рус.)
- Agile-сообщество Беларуси (www.agilebelarus.org) (рус.)
- Agile Ukraine — независимое некоммерческое сообщество сторонников agile подходов на Украине (www.agileukraine.org) (рус.)
- Agile Guru — некоммерческое сообщество Agile практиков (рус.)
Примечания
ПО | Это незавершённая статья о программном обеспечении. Вы можете помочь проекту, исправив и дополнив её. |
bg:Гъвкава методология ca:Metodologia àgil da:Agile de:Agile Softwareentwicklung en:Agile software development es:Desarrollo ágil de software fi:Ketterä ohjelmistokehitys fr:Méthode agile he:פיתוח תוכנה זריז it:Metodologia agile ja:アジャイルソフトウェア開発 ko:애자일 개발 프로세스 lt:Lankstusis programavimas lv:Spējā izstrāde nl:Agile-software-ontwikkeling pl:Zwinne programowanie pt:Desenvolvimento ágil de software sh:Agilni razvoj softvera sl:Agilne metode razvoja programske opreme sr:Agilni razvoj softvera sv:Agil systemutveckling ta:ஆஜில் மென்பொருள் விருத்தி th:เอจายล์ (การพัฒนาซอฟต์แวร์) uk:Гнучка розробка програмного забезпечення vi:Lập trình linh hoạt zh:敏捷软件开发
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....