Розніца паміж ітэратыўным і дадатковым развіццём у Agile

Якая розніца паміж ітэратыўнай і паступовай распрацоўкай пры гнуткай распрацоўцы праграмнага забеспячэння? Яны адно і тое ж? У чым розніца паміж гэтымі двума словамі?

Спачатку разгледзім простыя азначэнні двух тэрмінаў:

Дадатковыя - даданне новай функцыянальнасці невялікімі кавалкамі


Ітэратыўны - выкананне неаднаразова, т. е. даданне новай функцыянальнасці ў паўтаральнай або цыклічнай форме

Ад Вікіпедыя :


Ітэратыўнае развіццё было створана як адказ на неэфектыўнасць і праблемы, выяўленыя ў вадаспадзе.



Асноўная ідэя гэтага метаду заключаецца ў распрацоўцы сістэмы з дапамогай паўторных цыклаў (ітэратыўных) і невялікімі порцыямі за адзін раз (паступова), што дазваляе распрацоўшчыкам праграмнага забеспячэння скарыстацца тым, што было засвоена падчас распрацоўкі больш ранніх частак альбо версій сістэмы. Навучанне адбываецца як ад распрацоўкі, так і ад выкарыстання сістэмы, дзе магчымыя ключавыя этапы ў працэсе пачынаюцца з простай рэалізацыі падмноства патрабаванняў да праграмнага забеспячэння і ітэратыўнага ўдасканалення новых версій, пакуль поўная сістэма не будзе рэалізавана. На кожнай ітэрацыі ўносяцца змены ў дызайн і дадаюцца новыя функцыянальныя магчымасці.

Пры паступовым развіцці функцыянальнасць сістэмы разразаецца на прырашчэнні (порцыі), у выніку чаго пры кожным прырашчэнні дастаўляецца зрэз функцыянальнасці.

Уся ідэя заключаецца ў прадастаўленні карыстальнікам 'рабочай' версіі функцыі (хаця і мінімальнай), каб мы маглі атрымаць зваротную сувязь на самым пачатку працэсу. Параўнайце гэта з неабходнасцю ствараць цалкам функцыянальную функцыю на працягу некалькіх месяцаў, каб даведацца, што пабудаванае не адпавядае патрэбам карыстальнікаў.


Ітэратыўнае і паступовае развіццё

Давайце паглядзім прыклад таго, як ітэратыўнае і паступовае развіццё і рэалізацыя працуе ў гнуткім кантэксце.

Выкажам здагадку, што вы хочаце дадаць новую функцыянальнасць для ўваходу на вэб-сайт, і вы вырашылі распрацаваць гэта, выкарыстоўваючы гнуткую метадалогію, працуючы ў двухтыднёвыя цыклы дастаўкі (ітэрацыі).

Першая ітэрацыя:

мінімум будзе рабочая версія функцыянальнасці ўваходу, якую варта даставіць карыстальнікам


  • Стварыце вэб-старонку, дзе карыстальнікі ўбачаць форму ўваходу
  • Дадайце форму для ўваходу толькі з двума палямі (імя карыстальніка і пароль) і кнопку ўваходу, гэта значыць проста звычайную форму HTML з не стыль альбо праверка
  • Стварыце старонку 'вітаць', каб карыстальнікі, увайшоўшы ў сістэму, убачылі паведамленне.

Гэта першая версія (працуе, але абмежаваная ў функцыянальнасці) праграмнага забеспячэння, пастаўленая ў ітэрацыйнай. Гэтая асноўная функцыя ўваходу прайшла праектаванне, распрацоўку і тэсціраванне і была прадастаўлена ў канцы ітэрацыі.

Другая ітэрацыя:

У наступнай ітэрацыі мы хочам палепшыць функцыянальнасць ўваходу ў сістэму таго, што было пабудавана на апошняй ітэрацыі. Мы можам прыняць рашэнне

  • Пабудуйце правілы праверкі вакол уваходных параметраў
  • Дадайце CSS, каб форма ўваходу выглядала даволі
  • Адлюстраваць паведамленне, калі карыстальнік спрабуе ўвайсці з няправільнымі ўліковымі дадзенымі

Цяпер мы дадалі новыя і пашыраныя функцыянальныя магчымасці. Іншымі словамі, мы маем павялічана існуючай функцыянальнасці ўваходу, і мы зрабілі гэта ў гэтай ітэрацыі.


Трэцяя ітэрацыя:

У трэцяй ітэрацыі мы можам яшчэ раз павялічыць нашу функцыю ўваходу, дадаўшы

  • Забыты функцыянал пароля
  • Сцяжок 'Запомніць мяне'
  • Механізм перанакіравання для перанакіравання на адпаведныя старонкі пры ўваходзе карыстальнікаў (а не проста 'вітальная' старонка, распрацаваная ў першай ітэрацыі)

Як бачыце, у кожнай ітэрацыі мы павялічвалі функцыі ўваходу, дадаючы новыя карысныя функцыі для карыстальнікаў. Робячы гэта, мы можам атрымаць хуткую зваротную сувязь ад карыстальнікаў, каб мы маглі дадаць або палепшыць яе функцыянальнасць.

На працягу шэрагу паўтораў мы нарэшце дастаўляем поўнае рашэнне.