Agilný vývoj softvéru 101

Autor: Judy Howell
Dátum Stvorenia: 26 V Júli 2021
Dátum Aktualizácie: 23 V Júni 2024
Anonim
Agilný vývoj softvéru 101 - Technológie
Agilný vývoj softvéru 101 - Technológie

Obsah


Zobrať:

Táto metóda vývoja softvéru podporuje spoluprácu a flexibilitu pri poskytovaní vysoko kvalitného produktu.

Vo svete softvérového inžinierstva a vývoja aplikácií sa okolo Agile objavilo veľa zvukov. Agilný nie je koncept, ale myslenie. Ako už názov napovedá, sústreďuje sa na flexibilitu a dynamiku. Táto metodika tiež odstraňuje izoláciu medzi fázami vývoja softvéru a povzbudzuje vývojový tím, aby spolupracoval s analytikmi kvality. Zdôrazňuje tiež zapojenie zákazníkov do vývoja, výroby a dodávky vysokokvalitného produktu. Tu sa dobre pozrite na Agile, ako to funguje a na niektoré osvedčené postupy pre túto populárnu metódu vývoja softvéru.

Stručný popis životného cyklu vývoja softvéru

Životný cyklus vývoja softvéru (SDLC) je proces vytvárania softvérových riešení alebo modifikácie existujúcich štruktúr určených na riešenie konkrétneho problému. Zahŕňa rôzne kroky, ktoré sa sledujú v logickom poradí. V tradičných modeloch SDLC sú to kroky, ktoré sa sledujú jeden po druhom a obvykle sa vykonávajú izolovane:


  1. Zhromažďovanie požiadaviek od klientov
  2. Analýza systému a uskutočniteľnosti
  3. Dizajn a modelovanie
  4. Kódovanie alebo vykonávanie
  5. testovanie
  6. Nasadenie a dodávka
  7. Požiadavky na údržbu a zmeny

V typickom cykle vývoja softvéru sú skutoční používatelia alebo klienti zapojení do procesu zhromažďovania požiadaviek a potom do testovania verzie beta. Problémom tohto tradičného modelu je však to, že údržbová časť cyklu sa stáva zložitou a pomerne nákladnou záležitosťou. V systéme často nie je priestor na vylepšenia alebo zmeny. V najhoršom prípade softvér, ktorý bol skonštruovaný alebo vyvinutý, nie je v súlade so skutočnými špecifikáciami a očakávaniami zákazníka, čo znamená, že vývojový tím bude možno potrebovať znova začať celý proces znova.


Prečo agilný vývoj iný

Najbežnejšie tradičné modely SDLC - vodopádový model, model rýchlej aplikácie, iteračný model, špirálový model atď. - majú svoj vlastný súbor výhod a nevýhod. Trvalo to, kým ľudia mohli skutočne analyzovať, aké realistické boli tieto modely. Perfektne zapadajú do ideálnych scenárov, ale vždy boli praktické, pokiaľ ide o aplikácie v reálnom svete. V dôsledku toho museli tímy vývoja softvéru čeliť mnohým výzvam. Medzi obmedzenia konvenčných modelov SDLC patria:

  • Nepovoľujú zmenu požiadaviek v neskorších fázach, pretože sú zmrazené v dokumente špecifikácie softvérových požiadaviek. V niektorých prípadoch sú očakávania používateľov nezmenené alebo nepochopené.
  • Koncoví používatelia neuvidia systém, kým nebude dokončený. To poskytuje veľmi malý priestor na predkladanie návrhov a zmien.
  • Tradičná SDLC môže vytvoriť obrovskú komunikačnú medzeru medzi vývojármi a testermi, pretože sú to oddelené fázy a medzi oboma stranami neexistuje spolupráca.
  • Testovanie bielych skriniek nie je možné efektívne.

Použitie Agile rieši mnohé z týchto problémov, pretože skôr ako postupný proces, slúži skôr ako filozofia a rámec, ktorého cieľom je pomáhať tímom spolupracovať, reagovať na zmeny a vytvárať hotový produkt, ktorý obsahuje viac vstupov od všetkých strany vrátane používateľov.

Agilné praktiky

Vývin metodiky Agile nie je nič iné ako revolučná reforma v metodike vývoja softvéru, pretože poskytuje projektovým tímom dostatok priestoru na to, aby boli kreatívni a všestranní, pričom si stále ponechávajú kolektívne vlastníctvo každej fázy produktu. Tým, že sledujú agilnú cestu, sú jednotliví účastníci v tíme vývoja softvéru schopní kondicionovať svoju myseľ tak, aby prijali neistotu, vyrovnali sa so zmenami a vybudovali lepší produkt ako proces, a nie v samostatných a nepripojených krokoch.

Aj keď neexistuje komplexný zoznam agilných princípov, existujú určité praktiky, ktoré Agile propaguje. Tie obsahujú:

  1. Testom riadený vývoj (TDD)
    V ideálnom prípade by vývojári mali najprv napísať testovacie prípady pre časť funkcií, pre ktorú budú kódovať. Zabezpečí sa tým kvalitný kód, ktorý je za výnimočných podmienok menej pravdepodobný. Tento proces tiež pomáha zabezpečiť, aby sa riešili špecifikácie používateľov.
  2. Párové programovanie
    V agilnom vývoji programátori vo všeobecnosti pracujú na rovnakom probléme vo dvojiciach, kde jedna osoba píše kód (ovládač) a druhá skúma kód a poskytuje nápady a návrhy (navigátor). To zvyšuje produktivitu a skracuje čas potrebný na kontrolu kódu.
  3. Zmena kódu
    Refaktoring kódu zahŕňa rozdelenie kódu na menšie a jednoduchšie moduly, ktoré môžu (a mali by) existovať nezávisle v ideálnom scenári. Tým sa do veľkej miery zlepší čitateľnosť, testovateľnosť a udržiavateľnosť kódu.
  4. Aktívna účasť skutočných zainteresovaných strán
    V pravidelných intervaloch v určitom časovom období (ďalej len „ss“) by klienti mali dostávať významný funkčný prototyp softvéru. To umožňuje vývojárom získať spätnú väzbu o tom, čo budujú, keď idú.
  5. Požiadavky považujte za prioritizovaný zásobník
    V Agile je nevyhnutné kategorizovať požiadavky na základe ich dôležitosti. Môže to zahŕňať implicitné aj explicitné očakávania zákazníkov od vyvíjaného softvérového produktu. Tím pre vývoj softvéru by mal spoločne odhadnúť čas a zdroje, ktoré plánujú investovať do vykonávania tejto funkcie, a mapovať ich na základe požiadaviek používateľov a relatívneho poradia, v akom budú riešiť každú časť projektu.
  6. Regresné testovanie
    Regresné testovanie zahŕňa testovanie funkčnosti celej aplikácie po pridaní novej funkcie alebo úprave existujúcich funkcií v kóde. Pomáha to zaistiť, aby zmeny neporušili existujúci kód.

Prečo ísť agilne?

Agile predpisuje určité postupy, ale nevynucuje ich v tíme pre vývoj softvéru. Koniec koncov, ak nie je priestor na úpravy a odchýlky, je účel Agilu zväčša porazený. Začlenenie aj niekoľkých aspektov agilného vývoja do projektu môže pomôcť tímom vývoja softvéru vyrovnať sa s neočakávanými výzvami av konečnom dôsledku efektívnejšie vybudovať lepší produkt.

Žiadne chyby, žiadny stres - Váš sprievodca krok za krokom k vytvoreniu softvéru na zmenu života bez zničenia vášho života

Nemôžete zlepšiť svoje programovacie schopnosti, keď sa nikoho nezaujíma o kvalitu softvéru.