Агиле Софтваре Девелопмент 101

Аутор: Judy Howell
Датум Стварања: 26 Јули 2021
Ажурирати Датум: 23 Јуни 2024
Anonim
What is Agile? | Agile Methodology | Agile Frameworks - Scrum, Kanban, Lean, XP, Crystal | Edureka
Видео: What is Agile? | Agile Methodology | Agile Frameworks - Scrum, Kanban, Lean, XP, Crystal | Edureka

Садржај


Одузети:

Ова метода развоја софтвера подстиче сарадњу и флексибилност како би се постигао висококвалитетни производ.

Доста је зујало око Агиле-а у свету софтверског инжењерства и развоја апликација. Агиле није концепт, већ начин размишљања. Као што име сугерира, она се концентрише на флексибилност и динамичност. Ова методологија такође уклања изолацију између фаза развоја софтвера и подстиче развојни тим да сарађује са аналитичарима квалитета. Такође наглашава укљученост купаца у развој, изградњу и испоруку висококвалитетног производа. Овде добро погледајте Агиле, како то функционише и неке најбоље праксе за овај популарни метод за развој софтвера.

Укратко о животном циклусу развоја софтвера

Животни циклус развоја софтвера (СДЛЦ) је процес креирања софтверских решења или измене постојећих структура којима се жели удовољити одређеном проблему. Обухвата различите кораке који се следе у логичном редоследу. У традиционалним СДЛЦ моделима, то су кораци који се прате један за другим и који се обично изводе изоловано:


  1. Захтеви који се прикупљају од клијената
  2. Анализа система и изводљивости
  3. Дизајн и моделирање
  4. Кодирање или имплементација
  5. Тестирање
  6. Увођење и испорука
  7. Захтеви за одржавање и промене

У типичном циклусу развоја софтвера, стварни корисници или клијенти су укључени у процес прикупљања захтева, а затим током бета тестирања. Међутим, проблем овог традиционалног модела је што део циклуса за одржавање постаје тежак и прилично скуп посао. Много пута нема могућности за побољшања или промене унутар система. У најгорем случају, софтвер који је дизајниран или развијен није у складу са стварним спецификацијама и очекивањима купца, што значи да ће развојном тиму можда требати да покрене цео процес изнова.

Зашто су агилни развоји различити

Најчешћи традиционални модели СДЛЦ - модел водопада, модел брзе апликације, итеративни модел, спирални модел итд. - имају свој низ предности и недостатака. Пролазила су времена прије него што су људи заправо могли анализирати колико су ови модели реални. Одлично се уклапају у идеалне сценарије, али нису увек били практични када су у питању апликације у стварном свету. Као резултат, тимови за развој софтвера суочили су се с бројним изазовима. Нека од ограничења конвенционалних СДЛЦ модела укључују:


  • Они не дозвољавају да се захтеви мењају у каснијим фазама, јер су они замрзнути у документу спецификације софтверског захтева. У одређеним случајевима, очекивања корисника остају непромењена или погрешно схваћена.
  • Крајњи корисници не виде систем док није комплетан. То пружа врло мало простора за давање предлога и промена.
  • Традиционални СДЛЦ може створити огроман јаз у комуникацији између програмера и тестера, јер су то одвојене фазе и нема сарадње између две стране.
  • Испитивање беле кутије не може се ефикасно обавити.

Употреба Агиле-а решава многе од ових проблема јер пре него што је поступак корак по корак делује више као филозофија и оквир који има за циљ да помогне тимовима да сарађују, одговоре на промене и направе готов производ који укључује више улога од свих странке, укључујући кориснике.

Агиле Працтицес

Појава Агиле методологије није ништа друго него револуционарна реформа у методологији развоја софтвера, јер пружа довољно простора за пројектне тимове да буду креативни и свестрани, а истовремено узимају колективно власништво над сваком фазом производа. Следањем Агиле пута, појединачни учесници у тиму за развој софтвера могу да усвоје свој ум да прихвате несигурност, да се носе са променама и да граде бољи производ као процес, а не у дискретним, непривезаним корацима.

Иако не постоји свеобухватан списак Агиле принципа, постоје одређене праксе које Агиле пропагира. Ови укључују:

  1. Тест Дривен Девелопмент (ТДД)
    Идеално би било да програмери прво напишу тестне случајеве за део функционалности који желе да кодирају. То ће осигурати квалитетни код, који је мање вероватно да ће се покварити у изузетним условима. Овај поступак такође помаже да се осигура да су адресиране спецификације корисника.
  2. Парно програмирање
    У Агиле развоју, програмери обично раде на истом проблему у паровима, где једна особа пише код (управљачки програм), а друга прегледава код и даје идеје и предлоге (навигатор). Ово повећава продуктивност и смањује време потребно за преглед кода.
  3. Цоде Рефацторинг
    Рефакторинг кода укључује разбијање кода на мање и једноставније модуле који могу (и требају) постојати независно у идеалном сценарију. Ово увелико побољшава читљивост, проверљивост и одрживост кода.
  4. Активно учешће стварних улагача
    Након редовних интервала одређеног временског периода (који се називају "сс"), клијенти би требало да добију значајан радни прототип софтвера. То омогућава програмерима да добију повратне информације о томе шта граде, док иду.
  5. Третирајте захтеве као приоритетни пакет
    У Агиле-у је неопходно категорисати захтеве на основу њихове важности. То може укључивати и имплицитне, као и експлицитна очекивања купаца у вези са софтверским производом који се развија. Тим за развој софтвера требало би да заједнички процени време и ресурсе које ће уложити у реализацију ове функције и мапирати то на основу захтева корисника и релативног редоследа којим ће они решавати сваки део пројекта.
  6. Регресија тестирање
    Регресијско тестирање укључује тестирање функционалности читаве апликације након додавања нове функције или модификације постојеће функционалности у коду. Ово помаже да се осигура да промене нису поквариле постојећи код.

Зашто Агиле?

Агиле прописује одређене праксе, али их не примењује на тиму за развој софтвера. На крају крајева, ако нема простора за прилагођавања и одступања, сврха Агиле-а је у великој мери поражена. Укључивање чак и неколико аспеката Агиле развоја у пројекат може помоћи тимовима за развој софтвера да се носе са непредвиђеним изазовима и, на крају, изградити бољи производ на ефикаснији начин.

Без грешака, без стреса - Ваш корак по корак водич за креирање софтвера за промену живота без да вам уништи живот

Не можете побољшати своје програмирање кад никога није брига за квалитет софтвера.