Agile Razvoj programske opreme 101

Avtor: Judy Howell
Datum Ustvarjanja: 26 Julij. 2021
Datum Posodobitve: 23 Junij 2024
Anonim
Agile Marketing - A Step-by-step Guide
Video.: Agile Marketing - A Step-by-step Guide

Vsebina


Odvzem:

Ta metoda razvoja programske opreme spodbuja sodelovanje in prilagodljivost, da bi zagotovili visokokakovosten izdelek.

V svetu programskega inženiringa in razvoja aplikacij se je v Agileu veliko žurilo. Agile ni pojem, ampak miselnost. Kot že ime pove, se osredotoča na fleksibilnost in dinamičnost. Ta metodologija odpravlja tudi izolacijo med fazami razvoja programske opreme in spodbuja razvojno skupino k sodelovanju s kakovostnimi analitiki. Poudarja tudi sodelovanje kupcev pri razvoju, izgradnji in dostavi visokokakovostnega izdelka. Tu si dobro oglejte Agile, kako deluje in nekaj najboljših praks za to priljubljeno metodo za razvoj programske opreme.

Kratek življenjski cikel razvoja programske opreme

Življenjski cikel razvoja programske opreme (SDLC) je postopek ustvarjanja programskih rešitev ali spreminjanja obstoječih struktur, ki naj bi zadovoljile določeno težavo. Obsega različne korake, ki jim sledijo v logičnem zaporedju. V tradicionalnih modelih SDLC so to koraki, ki sledijo drug za drugim in se običajno izvajajo ločeno:


  1. Zahteve, ki se zbirajo od strank
  2. Analiza sistema in izvedljivosti
  3. Oblikovanje in modeliranje
  4. Kodiranje ali izvajanje
  5. Testiranje
  6. Uvajanje in dobava
  7. Zahteve za vzdrževanje in spremembe

V tipičnem razvojnem ciklu programske opreme so dejanski uporabniki ali stranke vključeni v postopek zbiranja zahtev in nato med beta testiranjem. Vendar je težava tega tradicionalnega modela ta, da je vzdrževalni del cikla težavna in precej draga zadeva. Večkrat v sistemu ni možnosti za izboljšave ali spremembe. V najslabšem primeru programska oprema, ki je bila zasnovana ali razvita, ni v skladu z dejanskimi specifikacijami in pričakovanji kupcev, kar pomeni, da bo morda morala razvojna ekipa začeti celoten postopek znova.

Zakaj razgibana gibanja drugačna

Najpogostejši tradicionalni modeli SDLC - model slapov, model hitre uporabe, iterativni model, spiralni model itd. - imajo svoj niz prednosti in slabosti. Trajalo je več let, preden so ljudje dejansko lahko analizirali, kako realni so bili ti modeli. Popolnoma se prilegajo idealnim scenarijem, vendar niso bili vedno praktični, ko gre za aplikacije v resničnem svetu. Zato so se ekipe za razvoj programske opreme soočile z veliko izzivi. Nekatere omejitve običajnih modelov SDLC vključujejo:


  • Na poznejših stopnjah ne dovoljujejo spreminjanja zahtev, ker so zamrznjene v dokumentu s specifikacijami programske zahteve. V nekaterih primerih pričakovanja uporabnikov ostanejo nespremenjena ali napačno razumljena.
  • Končni uporabniki ne vidijo sistema, dokler ni dokončan. To daje zelo malo prostora za dajanje predlogov in sprememb.
  • Tradicionalni SDLC lahko ustvari velik razkorak v komunikaciji med razvijalci in preizkuševalci, saj gre za ločeni fazi in sodelovanje med obema stranema ni.
  • Testiranja belega polja ni mogoče učinkovito opraviti.

Uporaba Agile rešuje številne od teh težav, saj bolj kot korak za korakom deluje kot bolj filozofija in okvir, katerega cilj je pomagati skupinam pri sodelovanju, odzivanju na spremembe in oblikovanju končnega izdelka, ki vključuje več prispevkov od vseh stranke, vključno z uporabniki.

Agile prakse

Pojav Agile metodologije ni nič manj kot revolucionarna reforma v metodologiji razvoja programske opreme, saj nudi dovolj prostora, da so projektne skupine kreativne in vsestranske, hkrati pa še vedno prevzamejo skupno lastništvo vsake faze izdelka. Sledenje poti Agile lahko posamezni udeleženci v ekipi za razvoj programske opreme oblikujejo svoje misli, da sprejmejo negotovost, se spopadejo s spremembami in ustvarijo boljši izdelek kot postopek, ne pa v diskretnih, nevezanih korakih.

Čeprav ni celovitega seznama Agile načel, obstajajo nekatere prakse, ki jih Agile propagira. Tej vključujejo:

  1. Razvoj testnega pogona (TDD)
    V idealnem primeru bi morali razvijalci najprej napisati testne primere za del funkcionalnosti, za katerega bodo radi kodirali. To bo zagotovilo kakovostno kodo, ki je manj verjetno, da se bo v izjemnih pogojih zlomila. Ta postopek pomaga tudi zagotoviti, da so bile obravnavane specifike uporabnikov.
  2. Parno programiranje
    V Agile razvoju programerji običajno delajo na isti težavi v parih, kjer ena oseba piše kodo (gonilnik), druga pa pregleduje kodo in daje ideje in predloge (navigator). To poveča produktivnost in skrajša čas, potreben za pregled kode.
  3. Refactoring kode
    Refaktoring kode vključuje razčlenitev kode na manjše in enostavnejše module, ki lahko (in bi morali) obstajati neodvisno v idealnem scenariju. To v veliki meri izboljša berljivost, preverljivost in vzdržnost kode.
  4. Aktivno sodelovanje dejanskih zainteresiranih strani
    Po rednih časovnih intervalih določenega časovnega obdobja (v nadaljevanju "ss") naj bi stranke prejele pomemben delovni prototip programske opreme. To omogoča razvijalcem, da dobijo povratne informacije o tem, kaj gradijo, ko gredo.
  5. Zahteve obravnavajte kot prednostni niz
    Pri Agile je bistveno, da se zahteve razvrstijo glede na njihov pomen. To lahko vključuje tako implicitne kot tudi izrecna pričakovanja kupcev glede programskega izdelka, ki se razvija. Skupina za razvoj programske opreme bi morala skupaj oceniti čas in vire, ki jih bodo vložili v izvedbo te funkcije, ter jih preslikati na podlagi potreb uporabnikov in relativnega vrstnega reda, v katerem se bodo lotili vsakega dela projekta.
  6. Regresijsko testiranje
    Regresijsko testiranje vključuje preizkušanje funkcionalnosti celotne aplikacije po dodajanju nove funkcije ali spremembo obstoječe funkcije v kodi. To pomaga zagotoviti, da spremembe niso pokvarile obstoječe kode.

Zakaj iti agilno?

Agile predpisuje določene prakse, ki pa jih ne uveljavlja v skupini za razvoj programske opreme. Konec koncev, če ni prostora za prilagoditve in odstopanja, je namen Agile v veliki meri premagan. Vključitev celo nekaj vidikov razvoja Agile v projekt lahko pomaga timom za razvoj programske opreme pri soočanju z nepričakovanimi izzivi in ​​na koncu na bolj učinkovit način zgradi boljši izdelek.

Brez napak, brez stresa - vaš korak za korakom vodnik za ustvarjanje programske opreme, ki spreminja življenje, ne da bi vam uničila življenje

Ne morete izboljšati svojih programskih sposobnosti, če nikogar ne skrbi za kakovost programske opreme.