Agile Waterfall (Каскадная) Scrum (подмножество Agile) Kanban (подмножество Agile) Lean Development (Бережливая разработка) Extreme Programming (XP) Feature-Driven Development (FDD) Dynamic Systems Development Method (DSDM) Adaptive Software Development (ASD) Crystal Clear Iterative Development (Итеративная)
Какие методологии разработки ПО вы знаете?
Опишу кратко наиболее часто встречающиеся:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
- Agile
- Waterfall (Каскадная)
- Scrum (подмножество Agile)
- Kanban (подмножество Agile)
- Lean Development (Бережливая разработка)
- Extreme Programming (XP)
- Feature-Driven Development (FDD)
- Dynamic Systems Development Method (DSDM)
- Adaptive Software Development (ASD)
- Crystal Clear
- Iterative Development (Итеративная)
Опишу кратко наиболее часто встречающиеся:
Agile
Итеративный и инкрементальный подход, основанный на манифесте Agile. Фокусируется на гибкости, адаптивности к изменениям, сотрудничестве заказчика и команды, и работающем продукте как основной мере прогресса.
Waterfall
Линейная, последовательная методология. Фазы (требования, проектирование, реализация, тестирование, внедрение, поддержка) выполняются строго одна за другой. Низкая гибкость, подходит для проектов с четко определенными на старте требованиями.
Scrum
Популярный фреймворк Agile. Использует итерации (спринты), роли (владелец продукта, скрам-мастер, команда разработки), артефакты (бэклог продукта, бэклог спринта, инкремент) и церемонии (планирование спринта, ежедневный скрам, обзор спринта, ретроспектива спринта).
Kanban
Визуальная система управления потоком работ. Использует доску с колонками, представляющими этапы рабочего процесса. Фокусируется на ограничении параллельно выполняемых задач (WIP), визуализации рабочего процесса и постоянных улучшениях.
Lean Development
Основывается на принципах бережливого производства. Цель — минимизация потерь, увеличение эффективности, поставка ценности клиенту как можно быстрее. Ключевые принципы включают устранение потерь, усиление обучения, решительность принятия решений, раннюю поставку, наделение полномочиями команды, построение целостности и оптимизацию целого процесса.