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

Разница между гибким и итеративным и инкрементным развитием

В чем разница между Agile и итеративным и инкрементным развитием? Является ли Agile считающимся итеративным и инкрементным? Некоторая информация показала, что Agile является последней итеративной и инкрементальной. Мне нужно четкое разъяснение по этому поводу.

4b9b3361

Ответ 1

  • Итеративный - вы не заканчиваете функцию за один раз. Вы находитесь в коде → get feedback → code → ... cycle. Вы продолжаете выполнять итерацию до завершения.
  • Инкрементный - вы строите столько, сколько вам нужно прямо сейчас. Вы не переучиваете или не добавляете гибкость, если это не доказано. Когда возникнет такая необходимость, вы строите поверх того, что уже существует. (Примечание: отличается от итеративного тем, что вы добавляете новые вещи. Vs уточняете что-то).
  • Agile - вы проворны, если оцениваете те же вещи, что перечислены в гибком манифесте. Это также означает, что нет стандартного шаблона или контрольного списка или процедуры, чтобы "сделать гибкий". Это не лишний раз. Он просто утверждает, что вы можете использовать любые методы, которые вам нужны, чтобы "быть гибкими". Scrum, XP, Kanban являются одними из наиболее предписывающих "гибких" методологий, потому что они имеют один и тот же набор значений. Непрерывная и ранняя обратная связь, частые релизы/демонстрации, разработка дизайна и т.д., Следовательно, они могут быть итеративными и инкрементальными.

Ответ 2

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

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

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

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

Ответ 3

Итеративное развитие подразумевает повторение обычных этапов модели водопада в течение срока службы изделия. Этапы могут даже перекрываться, т.е. При выполнении сквозного тестирования вы уже можете начать подготовку новых требований.

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

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

Ответ 4

Некоторые важные и успешно выполненные программные проекты, такие как Google Chrome и Mozilla Firefox, являются прекрасными примерами итеративной и инкрементной разработки программного обеспечения.

Я приведу статью о прекрасной технике ars, которая описывает этот подход: http://arstechnica.com/information-technology/2010/07/chrome-team-sets-six-week-cadence-for-new-major-versions/

По словам менеджера программ Chrome Энтони Лафорге, темпы роста направлены на решение трех основных задач. Один из них - быстрее получать новые функции. Во-вторых, планировщик релизов предсказуем и поэтому легче планировать, какие функции будут включены, а какие функции будут нацелены на последующие выпуски. В-третьих, и большинство антиинтуитивных, заключается в том, чтобы снизить уровень стресса для разработчиков Chrome.   Лафордж объясняет, что более короткие, предсказуемые периоды времени между релизами больше похожи на "поезда, выходящие из Центрального вокзала". Новые функции, которые готовы, не должны ждать других, которые занимают больше времени, чтобы закончить - они могут просто прыгать на текущем выпуске "поезд". Это, в свою очередь, вынуждает разработчиков отказаться от выполнения других функций, поскольку еще один выпускной поезд будет готов через шесть недель. И они могут спокойно отдыхать, зная, что их работа не удерживает поезд от станции. <

Ответ 5

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