Agile Тэрміналогіі і азначэнні

Прыёмныя выпрабаванні

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

Agile Метадалогія распрацоўкі праграмнага забеспячэння


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

Важным гнуткім прынцыпам з'яўляецца пастаўка (патэнцыйна) выпускаемай праграмы пасля кожнай ітэрацыі.


Дагледжанасць адставання



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

Парушэнне зборкі

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


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

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

Працэс зборкі / зборка трубаправода

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


Канвеер зборкі вызначае працоўны працэс дастаўкі праграмнага забеспячэння і тое, што адбываецца на кожным этапе.

Дыяграма выбуху

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

Курыца


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

Бесперапынная інтэграцыя

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

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


Крос-функцыянальная каманда

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

Кліент

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

Унутраных кліентаў часам называюць 'бізнесам'.

Штодзённы стэндап

Штодзённае пасяджэнне каманды звычайна праводзілася раніцай, каб забяспечыць абнаўленне статусу членаў каманды. Звычайна сустрэчы праводзяцца ў межах 5-15 хвілін і праводзяцца стоячы, каб нагадаць людзям, каб сустрэча была кароткай і дакладнай.

Вызначэнне Done (DoD)

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

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

Дакладныя крытэрыі 'што зроблена' вар'іруюцца ў адпаведнасці з канкрэтнымі патрэбамі розных арганізацый і ініцыятыў.

Эпапея

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

Эпічныя гісторыі дапамагаюць камандам распрацоўшчыкаў Agile эфектыўна кіраваць і даглядаць адставанне сваіх прадуктаў.

Ацэнка

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

Экстрэмальнае праграмаванне

Спрытная метадалогія распрацоўкі праграмнага забеспячэння, якая прызначана для паляпшэння якасці праграмнага забеспячэння і рэагавання на зменлівыя патрабаванні кліента.

XP выступае за частыя 'выпускі' на працягу кароткіх цыклаў распрацоўкі, якія закліканы павысіць прадукцыйнасць працы і ўвесці кантрольна-прапускныя пункты, на якіх могуць быць прыняты новыя патрабаванні кліентаў.

Сярод іншых элементаў экстрэмальнага праграмавання: паравае праграмаванне, шырокі агляд кода, модульнае тэсціраванне, бесперапынная інтэграцыя.

Асаблівасць

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

Асаблівасці могуць быць функцыянальнымі і нефункцыянальнымі; яны даюць аснову для арганізацыі гісторый.

Паслядоўнасць Фібаначы

Паслядоўнасць лікаў, у якой наступны лік атрымліваецца шляхам складання папярэдніх двух (напрыклад, 1, 2, 3, 5, 8, 13, 21, 34 ...). Паслядоўнасць выкарыстоўваецца для вызначэння памеру гісторый у такіх прыёмах ацэнкі, як планаванне покера.

Перашкода

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

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

Ітэрацыя

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

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

Канбан

Kanban - гэта інструмент, атрыманы з дапамогай беражлівага вытворчасці, і звязаны з галіной гнуткай практыкі, якую свабодна называюць Lean Software Development. Канбан абмяжоўвае, колькі незавершаных работ можа адбывацца адначасова.

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

Беражлівая распрацоўка праграмнага забеспячэння

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

Мінімальны жыццяздольны прадукт (MVP)

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

Паравае праграмаванне

Хуткая методыка распрацоўкі праграмнага забеспячэння, пры якой два праграмісты працуюць разам на адной працоўнай станцыі. Адзін уводзіць код, а другі разглядае кожны радок кода па меры ўводу. Чалавек, які набірае тэкст, называецца драйверам. а чалавека, які разглядае код, называюць назіральнікам альбо навігатарам. Два праграмісты часта мяняюцца ролямі.

Свіння

Той, хто адказвае за выкананне задання на актыўнай ітэрацыі. Гэта наадварот курыцы. У праекце актыўна ўдзельнічаюць свінні.

Планаванне покера

Planning Poker - гэта метад ацэнкі, заснаваны на кансенсусе, які ў асноўным выкарыстоўваецца для ацэнкі намаганняў альбо адноснага памеру задач пры распрацоўцы праграмнага забеспячэння. Каманда выкарыстоўвае серыю Фібаначы або памер футболкі, каб ацаніць гісторыі падчас планавання гульні ў покер.

Прадукт

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

Уладальнік прадукту

Уладальнік прадукту - адна з ключавых роляў Scrum. У абавязкі ўладальніка прадукту ўваходзіць:

  • Стварэнне, выхаванне і перадача бачання прадукту
  • Стварэнне і кіраўніцтва камандай распрацоўшчыкаў, каб найлепшым чынам забяспечыць каштоўнасць для кліента
  • Маніторынг праекта ў адпаведнасці з яго мэтамі ROI і інвестыцыйным бачаннем
  • Прыняцце рашэння аб тым, калі ствараць афіцыйны рэліз

Адставанне прадукту

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

Уладальнік прадукту вядзе гэты спіс адставання прадуктаў у адпаведнасці з бізнес-прыярытэтамі і патрэбамі. Пункты ў адставанні павінны адлюстроўваць бізнес-дарожную карту.

Рэфактарынг

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

План вызвалення

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

Рэтраспектыва

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

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

Scrum

Scrum - гэта аснова для распрацоўкі складаных праграмных прадуктаў у ітэратыўным і паступовым рэжымах і з'яўляецца найбольш прызнанай платформай Agile.

Scrum складаецца з серыі кароткіх ітэрацый - так званых спрынтаў - кожная з якіх заканчваецца пастаўкай прырашчэння працоўнага праграмнага забеспячэння.

Каманда Scrum

Каманда Scrum - гэта шматфункцыянальная і самаарганізуецца група, якая адказвае за пастаўку праграмнага забеспячэння.

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

Каманда Scrum адказвае за ўсе працоўныя абавязацельствы і вынікі.

ScrumMaster

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

Каласок

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

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

Спрынт

Пры распрацоўцы прадукту спрынт - гэта пэўны перыяд часу, на працягу якога пэўная праца павінна быць завершана і падрыхтавана да разгляду. Звычайна працягласць спрынту звычайна складае 2 тыдні і звычайна не больш за 4 тыдні.

Адставанне ў спрынце

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

Дагляд за гісторыямі

Падчас сеансаў дагляду гісторый высвятляюцца дэталі гісторый карыстальнікаў. Крытэрыі прыёму напісаны і распрацаваны. На гэтым этапе таксама ацэньваюцца гісторыі.

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

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

Удзельнікі каманды Scrum, майстар Scrum і ўладальнік прадукту.

Планаванне спрынту

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

Перад сесіямі планавання спрынту гісторыі павінны былі быць распрацаваны і ацэнены падчас сеансаў грумстрынгу, каб падчас планавання спрынту не гублялася часу.

Удзельнікі Scrum Master і Scrum каманда.

Гісторыя карыстальніка

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

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

Гісторыі складаюцца з наступных элементаў:

  • Апісанне, звычайна ў дзелавым плане
  • Памер для грубай ацэнкі, як правіла, выяўляецца ў сюжэтных пунктах (напрыклад, 1, 2, 3, 5)
  • Адзін або некалькі крытэрыяў прыняцця, якія даюць кароткае апісанне таго, як будзе праверана гісторыя

Заданне

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

Тэхнічная запазычанасць

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

Памер футболкі

Метад ацэнкі працы, неабходнай для завяршэння гісторыі, у памерах футболак, то ёсць Маленькі (S), Сярэдні (M), Вялікі (L) або X-Вялікі (XL)

Часопіс

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

Хуткасць

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

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

Незавершаная праца

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