Мне любопытно, если кто-нибудь знает какие-либо методологии, которые значительно отличаются (не рекомбинации), и я был бы особенно признателен всем, кто предложил какой-либо опыт с альтернативами.
источник
Мне любопытно, если кто-нибудь знает какие-либо методологии, которые значительно отличаются (не рекомбинации), и я был бы особенно признателен всем, кто предложил какой-либо опыт с альтернативами.
Википедия перечисляет их как методологии / процессы разработки :
Agile - основанный на итеративной и поэтапной разработке, где требования и решения развиваются благодаря сотрудничеству между самоорганизующимися, кросс-функциональными командами.
Чистая комната - в центре внимания чистой комнаты - предотвращение дефектов, а не их устранение.
Итеративный - циклический процесс разработки программного обеспечения, разработанный в ответ на слабые стороны модели водопада. Он начинается с первоначального планирования и заканчивается развертыванием с циклическими взаимодействиями между ними.
RAD - использует минимальное планирование в пользу быстрого прототипирования. «Планирование» программного обеспечения, разработанного с использованием RAD, чередуется с написанием самого программного обеспечения.
RUP - Rational Unified Process (RUP) - это адаптируемая итеративная структура процесса разработки программного обеспечения, предназначенная для адаптации путем выбора подходящих элементов процесса.
Спираль - объединение элементов как проектирования, так и поэтапного создания прототипа с целью объединения преимуществ концепций сверху вниз и снизу вверх. Эта модель развития сочетает в себе особенности модели прототипа и модели водопада.
Водопад - последовательно через фазы Зачатия, Инициирования, Анализа, Проектирования, Конструирования, Тестирования и Обслуживания.
Lean - перевод принципов и практики Lean Manufacturing и Lean IT в область разработки программного обеспечения; все, что не добавляет ценности клиенту, считается ненужным.
V-модель. Вместо линейного перемещения ступени процесса после фазы кодирования изгибаются вверх, образуя типичную V-образную форму. V-модель демонстрирует взаимосвязь между каждой фазой жизненного цикла разработки и связанной с ней фазой тестирования.
TDD - основан на повторении очень короткого цикла разработки: сначала разработчик пишет неудачный автоматический тестовый пример, который определяет желаемое улучшение или новую функцию, затем создает код для прохождения этого теста и, наконец, реорганизует новый код в соответствии с приемлемыми стандартами.
Ковбой Кодирование
Чистое неструктурированное, неуправляемое, свободное развитие. Это может быть полезно для небольших хобби-проектов, в которых не хватает крайнего срока или даже четкой цели, но, скорее всего, они не будут работать в корпоративной среде.
источник
Спиральная модель
Спиральная модель - это процесс разработки программного обеспечения, объединяющий элементы как поэтапного проектирования, так и поэтапного создания прототипа, чтобы объединить преимущества концепций сверху вниз и снизу вверх. Также известный как спиральная модель жизненного цикла (или спиральная разработка), это метод разработки систем (SDM), используемый в информационных технологиях (IT). Эта модель развития сочетает в себе особенности модели прототипа и модели водопада. Спиральная модель предназначена для крупных, дорогих и сложных проектов.
- Википедия
источник
План
Сядьте с клиентом (или конечным пользователем) и разработайте ряд вариантов использования.
дизайн
Разместите систему на бумаге / доске над несколькими сортами пива и пиццы. Сникер, когда что-то выглядит фаллическим.
Подтверждение
Подтвердите проект с клиентом (или конечным пользователем) и заморозьте требования.
Код
Самоочевидно.
источник
Этот аргумент «Водопада» был давно и использовался проворными лидерами мысли на раннем этапе. Они также столкнулись с «реальностью» водопада как с «красной тревогой».
Когда вы начнете работать над проектом разработки программного обеспечения, вы быстро обнаружите, что используемая методология разработки будет играть важную роль в скорости и качестве разрабатываемого кода. Поскольку методология Agile широко используется, важно понимать преимущества и недостатки Agile, так что вы можете определить, подходит ли он для ваших результатов проекта.
Гибкая разработка программного обеспечения - это концептуальная основа для реализации проектов по разработке программного обеспечения. Большинство гибких методов пытаются минимизировать риск, разрабатывая программное обеспечение в короткие промежутки времени, называемые итерациями, которые обычно длятся от одной до четырех недель. Каждая итерация похожа на собственный миниатюрный программный проект и включает в себя все задачи, необходимые для выпуска мини-приращения новой функциональности: планирование, анализ требований, проектирование, кодирование, тестирование и документирование.
Это хороший процесс для компании, потому что он вовлекает клиента в процесс разработки и делает его ответственным за доставку продукта. С другой стороны, клиенты счастливы, потому что они сами участвуют в разработке продукта.
Недостатки Agile:
Хорошо для интересной методологии, которая может работать как альтернатива AGILE, лучше всего рассматривать по этим 3 ссылкам:
Канбан как альтернативная гибкая реализация
Kanban разработка программного обеспечения
Бережливая разработка программного обеспечения в облаке
источник