Agilné programovanie

Agilný proces zohráva dôležitú úlohu v cykle vývoja a správy softvéru. Agile má súbor princípov, ktoré sa priamo zameriavajú na hodnotu pre zákazníka, iteratívne a inkrementálne doručenie. Agilné metódy sa zameriavajú na dva rôzne aspekty, jedným sú agilné praktiky, ktoré sú extrémne programovacie a párové programovanie, iné sa zameriavajú na riadenie projektov, ktoré prechádzajú prístupom scrum. Agilný proces sa používa, keď má spoločnosť alebo organizácia jasnú predstavu o svojom cieli, ale cesta k riešeniu je nejasná, používa sa agilné riadenie procesov.

Extrémne programovanie agilným postupom sa považuje za najlepší postup na využitie výhod z programovacieho cyklu. Extrémne programovanie vzniklo po problémoch, ktoré sa vyskytli v tradičnom modeli cyklu vývoja softvéru. Jeho zavedenie sa uskutočnilo len preto, aby sa zameralo na „proste vykonanú prácu“ a zistilo sa, že je pre vývoj efektívny. extrémne programovanie je vyskúšané a vyskúšané v agilnom rozvoji; kladie maximálny dôraz na interakciu so zákazníkmi, aby poznal presnú požiadavku a až potom sa dostal do vývoja produktu.

Fungovanie agilného programovania

Rozdeľuje celé spracovanie cyklu na menšie alebo krátke cykly. Počas fázy vývoja, alebo môžeme povedať fázu pred dodaním (môže to byť aj posledná fáza), môže zákazník vykonať zmeny podľa svojich požiadaviek. Funguje to v piatich fázach -

  • Prieskum - Extrémne programovanie iniciuje vývojový cyklus produktu zhromažďovaním požiadaviek od používateľa. Používateľ označuje svoje nápady alebo požiadavky na karte príbehu, ktorú chce vidieť v čase vydania. Slot na príbehové karty definujú atribút, ktorý sa má pridať do produktu. V tej istej fáze tímový dokument zaznamenáva prax, nástroje a technológie potrebné na vývoj produktu na základe požiadavky používateľa. Technológia potrebná na vytvorenie nového produktu sa otestuje a nové možnosti sa skúmajú vytvorením prototypu systému. Dokončenie fázy prieskumu môže trvať jeden týždeň alebo niekoľko mesiacov, úplne záleží na tom, ako je programátor oboznámený s technológiou.
  • Plánovanie - Zhromaždené údaje sa potom rozdelia do malých cyklov, aby sa porozumelo všetkým požiadavkám používateľa. Dáta majú prioritu pre prvé vydanie produktu, potom sa uskutoční vývoj. Odhad a harmonogram úsilia pre prvé vydanie sa vypočítajú a potom sa dohodnú na uvoľnení. Prvá doba vydania je kratšia ako dva mesiace.
  • Iterácie - Počas tejto fázy sa uskutoční niekoľko opakovaní systémov pred prvým vydaním produktu. Iterácie sú rozdelené do niekoľkých malých iterácií a na implementáciu sú poskytnuté dva až štyri týždne. Teraz je aktívna fáza plánovania iterácie, čo znamená, že sa postará o rozhodnutie týkajúce sa rozdelenia cyklov, požiadavky priority a počtu pracovných síl potrebných na rozvoj. Iterácie tvoria obrys systému, potom sa systém dosiahne výberom kariet z príbehových kariet vyrobených používateľom. Rozhodnutie je na užívateľovi, ktorého si vyberie ako prvý. Zákazník spustí iteráciu na konci každého slotu, ktorý sa rozhodol pre každú iteračnú časť.
  • Výroba - táto fáza sa považuje za dôležitú, pretože záverečné testovanie sa vykonáva v tejto fáze pred dodaním produktu zákazníkovi, výkon sa testuje. Počas tohto obdobia sa pravdepodobne vyskytnú nové zmeny, ktoré musia byť vo výrobku správne pred prvým vydaním produktu. Tím je pripravený prijať zmeny v ktorejkoľvek fáze vývoja, pretože nové požiadavky sa môžu objaviť v ktorejkoľvek fáze. V prípade korekcií je potrebné čas iterácie skrátiť z troch na jeden týždeň. Ostatné nápady a návrhy sa ukladajú na neskoršiu implementáciu. Výroba je stále v prevádzke aj po prvom uvedení produktu na trh pre ten istý výrobok alebo pre nové iterácie. Tím údržby je požiadaný o opravu chýb počas tejto fázy, čo je urobené po prvom uvedení produktu na trh. Komunikácia so zákazníkom sa môže vyžadovať aj prostredníctvom oddelenia podpory zákazníkov. Počas údržby sa môže vyžadovať pridanie nových členov tímu a zmena v tíme, štruktúra.
  • Fáza smrti - to je fáza, keď sa zákazník dohodne na implementácii už bez príbehovej karty. Toto je fáza, v ktorej je možné vykonať konečnú dokumentáciu týkajúcu sa produktu, ktorá sa domnieva, že sa nevykonajú žiadne ďalšie zmeny v architektúre, dizajne alebo kóde. Zabezpečí sa, aby produkt dodal požadovaný produkt, inak sa systém bude považovať za smrť. Mali by udržiavať výdavky v limite pre ďalší rozvoj.

Tím (úloha a zodpovednosť)

Agilné cykly majú niekoľko členov (tím) na vytvorenie nového produktu. Každá úloha je rozdelená medzi tím a zostavená po všetkom, čo sa darilo.

  • Programátor - Programátor je jedným z hlavných orgánov, vytvára kód produktu a udržuje jednoduchý a jednoznačný kód. Najlepším spôsobom, ako správne kódovať, je komunikovať s ostatnými programátormi a spoluhráčmi. Môže to byť pre poznanie presných požiadaviek na produkt.
  • Zákazník - Zákazník je hlavným orgánom, ktorý píše príbehové karty pre svoje požiadavky a rozhoduje, ktorá požiadavka uspokojí jeho potreby. Prioritu implementácie určuje zákazník.
  • Tester - Tester je zodpovedný za vykonávanie funkčných testov, pomáha zákazníkom písať funkčné testy. Testovanie sa vykonáva počas celého (pravidelne) a testovacie nástroje sú udržiavané.
  • Tracker - Tracker poskytuje spätnú väzbu a sleduje odhady vykonané tímom a tiež poskytuje návrhy na zlepšenie.
  • Coach - Coach je sprievodcom pre členov tímu počas procesu vývoja. Je to skúsený človek, ktorý sa spracováva už mnoho rokov.
  • Konzultant - Konzultant je externý člen, ktorý vedie tím so špecifickými technickými znalosťami, ktoré môžu byť potrebné pre vývoj projektu.
  • Manažér - je rozhodujúcim orgánom. Manažér udržiava tím na dobrej ceste, aby dosiahol prácu. Je otvorený komunikácii s členmi tímu o problémoch, ktorým tím počas vývoja čelí. Zabezpečuje hladký priebeh prác až do ukončenia projektu.

Odporúčané články

Toto bol sprievodca agilným programovaním. Tu diskutujeme o fungovaní a tímovej úlohe a zodpovednosti agilného programovania. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Čo je agilný vývoj softvéru?
  2. Je programovací jazyk MySQL?
  3. Čo je agilný a scrum?
  4. Čo je programovací jazyk Kotlin?

Kategórie: