![Agilis szoftverfejlesztés 101 - Technológia Agilis szoftverfejlesztés 101 - Technológia](https://a.continuousdev.com/technology/agile-software-development-101.jpg)
Tartalom
- Rövid ismertető a szoftverfejlesztési életciklusról
- Miért más az agilis fejlemények?
- Agilis gyakorlatok
- Miért agilis?
- 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
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:
- A követelmények összegyűjtése az ügyfelektől
- Rendszer- és megvalósíthatósági elemzés
- Tervezés és modellezés
- Kódolás vagy megvalósítás
- Tesztelés
- Telepítés és kézbesítés
- 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:
- 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. - 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. - 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. - 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. - 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. - 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.