Agile programmeerimine

Agiilsel protsessil on oluline roll tarkvara arendamise ja haldamise tsüklis. Agile'il on rida põhimõtteid, mis keskenduvad otseselt kliendiväärtusele, korduvale ja järkjärgulisele kohaletoimetamisele. Agiilsed meetodid keskenduvad kahele erinevale aspektile: üks on agiilsed tavad, milleks on ekstreemne programmeerimine ja paaride programmeerimine, teised keskenduvad projektide juhtimisele, mis toimuvad läbi lähenemisviisi. Agiilset protsessi kasutatakse siis, kui ettevõttel või organisatsioonil on oma eesmärgi osas selgus, kuid lahenduseni jõudmise tee on ebaselge, kasutatakse agiilset protsesside juhtimist.

Programmeerimistsüklist kasu saamise parimaks tavaks peetakse paindlikku ja ekstreemset programmeerimist. Äärmuslik programmeerimine tekkis pärast probleemide ilmnemist traditsioonilises tarkvaraarendustsükli mudelis. Selle juurutamine viidi läbi eesmärgiga keskenduda lihtsalt töö tegemisele ja see osutus arendamisel tõhusaks. ekstreemne programmeerimine on proovitud ja testitud vilgas arenduspraktika; see pöörab maksimaalset tähelepanu kliendi interaktsioonile, et teada täpset nõuet, alles seejärel asuda toote arendusse.

Agiilse programmeerimise toimimine

See jagab kogu tsükli töötlemise väiksemateks või lühikesteks tsükliteks. Arendusetapis või juhul, kui võime öelda, et enne tarnimist (võib olla ka viimane etapp), saab klient teha muudatusi vastavalt oma nõudele. See töötab viies faasis-

  • Uurimine - ekstreemne programmeerimine algatab tootearendustsükli, kogudes kasutajalt nõuded. Kasutaja tähistab lugukaardil oma ideid või nõudeid, mida nad vabastava aja jooksul näha tahavad. Jutukaardi pesad määravad tootele lisatava atribuudi. Samal etapil dokumenteerib meeskond toote arendamiseks vajalike tavade, tööriistade ja tehnoloogia registri vastavalt kasutaja nõudmistele. Testitakse uue toote loomiseks vajalikku tehnoloogiat ja uuritakse uusi võimalusi süsteemi prototüübi loomisega. Uurimisfaasi lõpuleviimine võib võtta ühe nädala või paar kuud, see sõltub täielikult programmeerijast, kui tuttav on programm selle tehnoloogiaga.
  • Planeerimine - kogutud andmed jagatakse seejärel väikesteks tsükliteks, et mõista kasutaja nõudeid. Andmed on toote esmakordse vabastamise jaoks esmatähtsad, seejärel toimub väljatöötamine. Esimese väljalaske prognoos ja jõupingutuste ajakava arvutatakse välja ja lepitakse seejärel välja vabastamisel. Esimene vabastamisaeg on alla kahe kuu.
  • Iteratsioonid - selles etapis toimub süsteemide mitu iteratsiooni enne toote esimest vabastamist. Iteratsioonid jagunevad paljudeks väikesteks iteratsioonideks ja nende rakendamiseks kulub kaks kuni neli nädalat. Nüüd on iteratsiooni kavandamise etapp aktiivne, mis tähendab, et otsustatakse tsükli jaotuse, prioriteedinõude ja arenduseks vajaliku tööjõu osas. Iteratsioonid loovad süsteemi piirjooned ja süsteem saavutatakse siis, kui valite kaardid kasutaja tehtud kaartide seast. Otsuse teeb kasutaja, kelle valida kõigepealt. Klient korraldab iteratsiooni iga pesa lõpus, mille ta on otsustanud iga iteratsiooni osa kohta.
  • Tootmine - seda etappi peetakse oluliseks, kuna enne toote kliendile tarnimist tehakse sellele lõppfaasile testimine, toimivust kontrollitakse. Tõenäoliselt leitakse selle aja jooksul uusi muudatusi ja need peavad tootes olema korrektsed enne toote esmakordset vabastamist. Meeskond on valmis muudatusi aktsepteerima igas arendusetapis, sest mis tahes etapis võivad ilmneda uued nõuded. Paranduste tegemiseks tuleb iteratsiooni aega vähendada kolmelt ühele nädalale. Muud ideed ja ettepanekud salvestatakse hilisemaks rakendamiseks. Pärast sama toote esmakordset vabastamist jätkatakse tootmist või võib seda teha uute iteratsioonide jaoks. Sellel etapil palutakse hooldusmeeskonnal puudused parandada, seda tehakse pärast toote esmakordset vabastamist. Kliendiga suhtlemist saab küsida ka klienditoe kaudu. Uute meeskonnaliikmete lisamine ja muutmine meeskonnas, hoolduse ajal võib olla vajalik struktuur.
  • Surmafaas - see on etapp, mil klient lepib kokku, et ei pea enam lookaarti rakendama. Selles etapis saab toote kohta lõpliku dokumentatsiooni teha, kui arvatakse, et arhitektuuris, kujunduses ega koodis enam muudatusi ei tehta. See on kindel, et toode on soovitud toote edastanud, muul juhul peetakse süsteemi surma. See peaks hoidma kulud edasise arendamise piirides.

Meeskond (roll ja vastutus)

Agiilsel tsüklil on uue toote loomiseks mitu liiget (meeskond). Iga ülesanne jaotatakse meeskonna vahel ja pannakse kõik hästi kokku.

  • Programmeerija - programmeerija on üks peamisi kehasid, ta loob toote koodi ja hoiab koodi lihtsana ja võimalusel kindlana. Parim viis õigesti koodiks on suhelda teiste programmeerijate ja meeskonnakaaslastega. See võib olla mõeldud toote täpsete nõuete teadmiseks.
  • Klient - klient on peamine isik, kes kirjutab oma vajadustele lookaardid ja otsustab, milline nõue tema vajadusi rahuldab. Rakenduse prioriteedi seab klient.
  • Tester - Tester vastutab funktsionaalsete testide läbiviimise eest, ta aitab kliendil funktsionaalseid teste kirjutada. Testimist viiakse läbi kogu aeg (regulaarselt) ja testimisvahendeid hooldatakse.
  • Jälitaja - jälgija annab tagasisidet ja jälgib meeskonna tehtud hinnanguid ning pakub ka parendusettepanekuid.
  • Treener - treener on meeskonna liikmetele teejuht kogu arendusprotsessi vältel. Ta on kogenud, kes on töötanud aastaid töötlemisega.
  • Konsultant - konsultant on väline liige, kes juhendab meeskonda konkreetsete tehniliste teadmistega, mida võib projekti arendamiseks vaja minna.
  • Mänedžer - ta on otsustav organ. Mänedžer hoiab meeskonda kursis, et töö tehtud saaks. Ta on avatud suhtlemiseks meeskonna liikmetega küsimustes, millega meeskond arenduse ajal kokku puutub. Ta hoolitseb selle eest, et töö edeneks sujuvalt kuni projekti valmimiseni.

Soovitatavad artiklid

See on olnud agiilse programmeerimise juhend. Siin arutame Agile programmeerimise funktsioneerimist ning meeskonnat ja vastutust. Võite lisateabe saamiseks vaadata ka järgmisi artikleid -

  1. Mis on Agile tarkvaraarendus?
  2. Kas MySQL programmeerimiskeel on?
  3. Mis on Agile ja Scrum?
  4. Mis on Kotlini programmeerimiskeel?