Подтвердить что ты не робот

Спиральная модель Agile Vs для SDLC

Я считаю, что Agile - это не что иное, как реализация спиральной модели. Я большой сторонник Spiral (спиральная модель - это процесс разработки программного обеспечения, объединяющий элементы дизайна и прототипирования в сценариях, чтобы объединить преимущества концепции "сверху вниз" и "снизу вверх" ) с самого начала и видел что многие проекты реализуют Spiral, не зная, что они работают в мире спирали. С того дня, как Agile начал набирать популярность, концепция спирали начала немного упускаться из виду. Я уверен, что для сложных проектов спираль по-прежнему является лучшей альтернативой, но я хотел бы лучше понять сходства и различия между методами Agile и Spiral. Может ли кто-нибудь объяснить их различия/сходства?

4b9b3361

Ответ 1

Спиральная -. Полностью. Отчасти название было изменено для маркетинговых целей.

Проблема в том, что спираль имеет тенденцию подразумевать "большой дизайн впереди" - где вы планируете много спиралей, каждый в порядке риска. Спираль, однако, не Agile - это просто инкрементное исполнение в порядке риска.

Одно большое различие, которое добавляет Agile, - "не перегружайте вещи, которые вы еще не можете знать". Agile - это спираль, но вы создаете подробные планы только на один шаг за раз.

Agile добавляет много других вещей. Спираль - очень технический подход. Однако Agile признает, что технология строится людьми. Agile Manifesto имеет четыре принципа, которые выходят за рамки простого подхода к управлению рисками, достигнутого Boehm.

Ответ 2

Основное отличие, как я вижу, в том, что большинство спиральных моделей развития по-прежнему настаивают на большом, переднем дизайне. Акцент делается на знании как можно больше о том, как система будет использоваться; открывая все варианты использования. Как только вы это узнаете, вы проектируете систему и разбиваете ее на этапы, которые следуют за итеративной схемой проектирования, реализации, тестирования, проектирования рефрактора. В Agile их - это предварительное планирование - возможно, сбор большого понимания зерна (названия сюжетов) - чтобы можно было описать разумные выпуски, но каждый выпуск запланирован независимо, и мы задерживаем открытие деталей, пока мы не будем готовы начать реализации этого выпуска. Мы ожидаем изменений и не пытаемся сначала знать все.

Другая особенность, которая отличается, заключается в том, что большинство гибких философий связаны с методами "тест-первых". Это отличается от спирали, где тестирование часто является активностью для себя, и тесты не разрабатываются до кода. Чаще всего они планируются заранее, но разрабатываются параллельно или после кодирования. Многие гибкие методы настаивают на разработке тестов сначала в качестве спецификации для кода.

Они похожи на то, что они итеративны. Они отличаются внедрением и пониманием того, что такое итерация.

Ответ 3

Я не эксперт по спиральной модели, но из определения wikipedia мне кажется, что есть некоторые существенные различия.

Например, в проекте Agile в конце итерации не стоит прототип, а полностью функциональная, полностью протестированная, потенциально развертываемая (1) система, содержащая функции с наивысшим приоритетом в списке функций.

Сбор требований в начале проекта должен быть едва достаточным для того, чтобы начать работу (чтобы сделать следующий шаг), и подразумевается, что он будет создан только незадолго до того, как они будут фактически реализованы. Изменения к требованиям приветствуются.

Кроме того, для Agile существует гораздо больше, чем просто итеративное развитие - сосредоточиться на лицах, чтобы встретить беседу вместо письменного общения, сосредоточиться на объединении деловых людей и технических специалистов в повседневную работу. Фокус в совместной максимизации ценности вместо определения и последующего выполнения контракта.

Если вы еще этого не видели, посмотрите Agile Manifesto, который в основном является определением для Agile Software Development.

(1) Это не значит, что для развертывания системы необходимо иметь дело "смысл", чтобы это было технически осуществимо. Это должно быть чисто деловое решение о том, следует ли развертывать систему в конце итерации.

Ответ 4

Я бы сказал, что спираль и гибкость похожи. Тем не менее, в последнее время гибкость часто, похоже, стала пропагандистской системой, чтобы оправдывать ковбойское кодирование. То есть.

  • Чрезвычайно минимальные требования
  • Минимальный технический анализ
  • Минимальная документация
  • Нет комментариев коментария
  • Специальный бонус - неправильное использование Domain Driven Design для чрезмерного усложнения объектной модели

Это никогда не было проблемой со спиралью. Я бы сказал, что на самом деле это не пункт Agile, хотя вы будете удивлены, сколько раз я видел это недавно. Все больше и больше опытных разработчиков /PMs начинают видеть мудрость более сбалансированного подхода между водопадом и "подвижным" - возможно, это просто возвращает нас к спирали.

Несмотря на то, что в пространстве Agile есть некоторые полезные идеи, часто кажется, что это проявляется у людей, которые были в организациях, которые имели особенно чрезмерно обременительные/бесполезные методологии разработки программного обеспечения и были реакцией/чрезмерной реакцией на что.

Ответ 5

Я считаю, что Agile - это тип Итеративного SDLC, а спираль - тип инкрементного SDLC. Scrum является одним из видов Agile, других - DSDM/FDD/XP и т.д. Все SDLC после водопада сопровождались одним и тем же набором действий (Анализ требований, Дизайн, Кодирование и Тестирование) в некоторых разных комбинациях. Таким образом, базовый набор действий в последовательном OR Итеративный ИЛИ Инкрементный те же.

Что касается Agile и Spiral, то они имеют общее преимущество 1. Обработка требований 2.Скоровые релизы 3. Управление дисками легко из-за более короткой продолжительности SDLC Команда 4.Cross помогает продукту и проекту идти гладко

Ответ 6

First Agile на самом деле представляет собой ряд различных процессов, которые следуют аналогичной философии. Одна из философий, которая делает ее другой, заключается в том, что каждая итерация создает рабочий продукт. Его можно было бы назвать итеративным и инкрементальным. Большое внимание уделяется рабочему продукту и тестированию. Во многих гибких моделях тестирование происходит до кодирования.

В спиральной модели число итераций фиксировано, а каждая фаза подвижной модели может состоять из любого количества итераций.

Вы правы, что есть сходства, но основная философия имеет значение. Эта страница объясняет более подробно и сравнивает гибкие с другими методами.

Вы можете сказать, что гибкие процессы - это использование Case Case... большое внимание уделяется людям, конечному пользователю.