Agilis szoftverfejlesztés 101

Szerző: Judy Howell
A Teremtés Dátuma: 26 Július 2021
Frissítés Dátuma: 23 Június 2024
Anonim
Agilis szoftverfejlesztés 101 - Technológia
Agilis szoftverfejlesztés 101 - Technológia

Tartalom


Elvitel:

Ez a szoftverfejlesztési módszer ösztönzi az együttműködést és a rugalmasságot a jó minőségű termék szállítása érdekében.

Az Agile körül sok zümmögés történt a szoftverfejlesztés és az alkalmazásfejlesztés világában. Az agilis nem koncepció, hanem gondolkodásmód. Ahogy a neve is sugallja, arra koncentrál, hogy rugalmas és dinamikus legyen. Ez a módszertan megszünteti a szoftverfejlesztés fázisai közötti elszigeteltséget, és arra ösztönzi a fejlesztői csoportot, hogy működjön együtt a minőség-elemző (k) vel. Hangsúlyozza továbbá az ügyfelek bevonását egy kiváló minőségű termék fejlesztésébe, gyártásába és szállításába. Itt vessen egy pillantást az Agile-ra, annak működésére és néhány bevált gyakorlatra e népszerű szoftverfejlesztési módszerhez.


Rövid ismertető a szoftverfejlesztési életciklusról

A szoftverfejlesztési életciklus (SDLC) a szoftvermegoldások létrehozásának vagy a meglévő struktúráknak a módosítása, amelynek célja egy adott probléma kezelése. Különféle lépéseket foglal magában, amelyeket logikus sorrendben követnek. A hagyományos SDLC modellekben ezeket a lépéseket követik egymás után, és általában elszigetelten hajtják végre:

  1. A követelmények összegyűjtése az ügyfelektől
  2. Rendszer- és megvalósíthatósági elemzés
  3. Tervezés és modellezés
  4. Kódolás vagy megvalósítás
  5. Tesztelés
  6. Telepítés és kézbesítés
  7. Karbantartási és módosítási igények

Egy tipikus szoftverfejlesztési ciklusban a tényleges felhasználók vagy ügyfelek vesznek részt a követelmények összegyűjtésének folyamatában, majd a béta tesztelés során. Ennek a hagyományos modellnek az a problémája, hogy a ciklus karbantartási része nehéz és meglehetősen drága ügyré válik. Sokszor nincs lehetősége a rendszer fejlesztéseinek vagy változtatásainak. A legrosszabb esetekben a megtervezett vagy kifejlesztett szoftver nem felel meg a tényleges vevői előírásoknak és elvárásoknak, ami azt jelenti, hogy a fejlesztői csapatnak újra meg kell kezdenie a teljes folyamatot.


Miért más az agilis fejlemények?

Az SDLC leggyakoribb hagyományos modelljei - a vízesés modell, a gyors alkalmazás modell, az iteratív modell, a spirál modell stb. - rendelkeznek saját elő- és hátrányokkal. Évekkel telt el, hogy az emberek valóban elemezzék, hogy ezek a modellek valósághűek voltak. Tökéletesen illeszkednek az ideális forgatókönyvekhez, de mindig praktikusak voltak, amikor a valós alkalmazásokról volt szó. Ennek eredményeként a szoftverfejlesztő csapatok sok kihívással szembesültek. A hagyományos SDLC modellek néhány korlátozása a következőket tartalmazza:

  • Nem teszik lehetővé a követelmények megváltoztatását a későbbi szakaszokban, mivel ezeket befagyasztják a szoftverkövetelményekre vonatkozó specifikációs dokumentumban. Bizonyos esetekben a felhasználói elvárások nem állnak fenn vagy félreértik őket.
  • A végfelhasználók csak a rendszer befejezéséig látják a rendszert. Ez nagyon kevés mozgástérrel rendelkezik a javaslatok és a változtatások meghozatalához.
  • A hagyományos SDLC hatalmas kommunikációs szakadékot hozhat létre a fejlesztők és a tesztelők között, mivel ezek külön fázisok, és a két fél között nincs együttműködés.
  • A fehér doboz tesztelését nem lehet hatékonyan elvégezni.

Az Agile használata megoldja ezeknek a problémáknak a sokát, mivel nem egy lépésről lépésre, hanem inkább olyan filozófiaként és keretként működik, amelynek célja a csapatok együttműködése, a változásokra való reagálás és a késztermék felépítése, amely mindenki nagyobb bevonásával jár pártok, beleértve a felhasználókat.

Agilis gyakorlatok

Az Agile módszertan megjelenése nem kevesebb, mint a szoftverfejlesztési módszertan forradalmi reformja, mivel elegendő teret biztosít a projektcsoportoknak, hogy kreatívak és sokoldalúak maradjanak, miközben továbbra is kollektív felelősséget vállalnak a termék egyes szakaszaira. Az agilis utat követve a szoftverfejlesztő csapat egyes résztvevői képesek kondicionálni a fejükben a bizonytalanságot, megbirkózni a változásokkal, és egy jobb terméket, mint folyamatot építeni, nem pedig különálló, független lépésekben.

Noha nincs az Agile alapelveinek átfogó listája, vannak bizonyos gyakorlatok, amelyeket az Agile terjeszt. Ezek tartalmazzák:

  1. Tesztvezérelt fejlesztés (TDD)
    Ideális esetben a fejlesztőknek először próbatesteket kell írniuk annak a funkcionalitásnak a számára, amelyet kódolni fognak. Ez biztosítja a jó minőségű kódot, amely kivételes körülmények között kevésbé valószínű, hogy megtört. Ez a folyamat hozzájárul a felhasználói előírások figyelembevételéhez is.
  2. Pár programozás
    Az agilis fejlesztés során a programozók általában ugyanazon a problémán dolgoznak párokban, ahol az egyik írja a kódot (illesztőprogram), a másik pedig felülvizsgálja a kódot, és ötleteket és javaslatokat szolgáltat (navigátor). Ez növeli a termelékenységet és csökkenti a kód áttekintéséhez szükséges időt.
  3. Kódrefaktorálás
    A kód-refaktorálás magában foglalja a kód bontását kisebb és egyszerűbb modulokra, amelyek az ideális forgatókönyv szerint önállóan létezhetnek (és legyenek is). Ez nagymértékben javítja a kód olvashatóságát, tesztelhetőségét és karbantarthatóságát.
  4. A tényleges érdekelt felek aktív részvétele
    Egy meghatározott időtartamú rendszeres időközönként ("ss" néven) az ügyfeleknek meg kell kapniuk a szoftver jelentős működő prototípusát. Ez lehetővé teszi a fejlesztőknek, hogy visszacsatolást kapjanak arról, hogy mit építnek.
  5. Kezelje a követelményeket prioritási sorrendben
    Az Agile ügyben alapvető fontosságú, hogy a követelményeket kategorizáljuk. Ez magában foglalhatja mind a hallgatólagos, mind pedig az ügyfelek elvárásait a fejlesztés alatt álló szoftver termékkel kapcsolatban. A szoftverfejlesztő csoportnak együttesen kell becsülnie azt az időt és erőforrásokat, amelyeket a szolgáltatás bevezetésébe fektet be, és meg kell határoznia azt a felhasználói igények és a projekt minden egyes részének relatív sorrendje alapján.
  6. Regressziós teszt
    A regressziós tesztelés magában foglalja a teljes alkalmazás funkcionalitásának tesztelését egy új szolgáltatás hozzáadása vagy a kódban létező funkcionalitás módosítása után. Ez segít annak biztosításában, hogy a változtatások ne törjék el a meglévő kódot.

Miért agilis?

Az Agile bizonyos gyakorlatokat ír elő, de nem kényszeríti őket a szoftverfejlesztő csoportra. Végül is, ha nincs lehetőség változtatásokra és eltérésekre, akkor az Agile célja nagymértékben meghiúsul. Az Agile fejlesztés néhány szempontjának a projektbe történő beépítése segíthet a szoftverfejlesztő csapatoknak megválaszolni a váratlan kihívásokat, és végül egy jobb terméket hozhat létre hatékonyabb módon.

Nincsenek hibák, nincs stressz - Az Ön életét megváltoztató szoftverek készítésének lépésről lépésre történő leírása az élet megsemmisítése nélkül

Nem javíthatja a programozási készségét, ha senki sem törődik a szoftver minőségével.