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

в чем разница между гибким и итеративным и инкрементным развитием? Считается ли Agile итеративным и инкрементным? Некоторая информация, показанная Agile, является последней из итеративных и инкрементных. Мне нужно четкое разъяснение.

5 ответов


  • итеративный-вы не заканчиваете функцию за один раз. Вы находитесь в коде > > получить обратную связь > > код >> ... ездить на велосипеде. Вы продолжаем итерации до сделано.
  • Incremental-вы строите столько, сколько вам нужно прямо сейчас. Вы не сверх-инженер или не добавляете гибкость если потребность не доказана. Когда возникает необходимость, вы строите поверх того, что уже существует. (Примечание: отличается от итеративного тем, что вы добавляете новые вещи.. vs уточнение чего-то).
  • Agile - вы проворны, если вы значение те же вещи, как указано в Agile-манифест. Это также означает, что нет стандартного шаблона или документа или процедуры, чтобы "не поворотлив". Это не overspecify.. в нем просто говорится, что вы можете использовать любые методы, которые вам нужны, чтобы "быть гибкими". Scrum, XP, Kanban являются одними из наиболее предписывающих "гибких" методологий, потому что они имеют один и тот же набор значений. Непрерывная и ранняя обратная связь, частые релизы / демонстрации, разработка дизайна и т. д.. следовательно, они могут быть итеративными и дополнительный.

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

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

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

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


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

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

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


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

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

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


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