Tanulj velünk programozni agilis módon

21/11/2021

5 perc olvasási idő

Az agilis módszertanok nem csak az IT-világában felkapottak, hanem széles körben használják őket több iparágban is.

De mégis mi teszi annyira hatékonnyá az agilis fejlesztést? És miért olyan előnyös már a tanulási folyamat alatt elsajátítanod? Egyáltalán hogyan tudod beépíteni a tanulmányaidba?

Először nézzük meg az agilis szemléletmód eredetét, és ismerkedjünk meg a valódi jelentésével.

A világ okkal lett agilis

Az agilis szemlélet egy olyan, együttműködésen alapuló megközelítés a szoftverfejlesztésben, amelyben a vállalati igények és megoldások több iteráción keresztül fejlődnek, idővel. Akár hiszed, akár nem, ez a megközelítés régen nem volt ennyire általános. Az olyan „hagyományosabb” fejlesztési módszerek voltak elfogadottak, mint a vízesésmodell. Ezekből viszont gyakran hiányzott az „emberi faktor”. Ken Schwaber, a Scrum társalapítója és a Scrum.org alapítójának mára elhíresült mondatában azt állította, a vízesésmodellben „az embereket erőforrásnak tekintik, nem pedig értékes résztvevőnek” és ez „jóformán tönkretette” a szakmáját, örökre.

Az ezredforduló környékén a fejlesztők már régóta érezték, hogy szükség lenne egy másfajta módszerre, amely javíthatna azon, ahogy az emberek szoftvereket fejlesztenek. Így aztán egy történelmi éjszakán, 2001-ben, Salt Lake City határában 17 fejlesztő összeült, hogy megvitassák a lehetőségeket. Mind a különféle módszerek képviselői voltak, például az extrém programozásé, a dinamikus rendszerfejlesztési módszeré (DSDM) vagy az adaptív szoftverfejlesztésé. Egyazon cél lebegett a szemük előtt: hogy olyan szervezeti modellt alakítsanak ki, amely az embereken és az együttműködésen alapszik.

Szerettek volna közös nevezőt találni az eltérő megközelítéseikben, és ennek eredményeképpen született meg az Agilis kiáltvány, amely a kódolók közösségében a Függetlenségi nyilatkozattal ér fel. Habár az agilis fejlesztésnek nagyon gazdag történelme volt már a kiáltvány előtt is, ez volt a módszertan történelmének legmeghatározóbb pillanata.

Mit jelent az agilis megközelítés?

Az agilis megközelítés önszerveződő, keresztfunkcionális csapatokra hagyatkozik. Ez a szoftverfejlesztés reaktívabb, rugalmasabb módja. Az agilis módszertan négy alapvető értéke a következő:

  1.   Egyének és személyes kommunikáció a módszertanokkal és eszközökkel szemben
  2.   Működő szoftver az átfogó dokumentációval szemben
  3.   Megrendelővel történő együttműködés a szerződéses egyeztetéssel szemben
  4.   Változás iránti készség a tervek szolgai követésével szemben


Láthatod, hogy az agilis megközelítés az emberi faktort és az ügyfél-elégedettséget helyezi előtérbe. Ha pedig a számokat nézzük, egyértelmű, hogy ez a megközelítés tényleg működik.
A világ cégeinek több mint 70%-a alkalmazta az agilis megközelítést, és ezen vállalkozások 98%-ának segített az üzleti célok elérésében.

Miért? Mert ez lehetővé teszi a fejlesztő csapatoknak, hogy jobb termékeket hozzanak létre a specifikációk és tervek időben történő módosításával. A csapatok az ügyfelektől is naprakész visszajelzéseket kaphatnak, és a fejlesztési folyamat közben tesztelhetik a termék egyes részeit. Az üzleti tervben felmerülő tévedések és a változtatások békésen létezhetnek egymás mellett a kezdeti tervekben, és mindent időben lehet kezelni.

Ez az átfogó filozófia eredményesebb csapatokhoz, magasabb minőségű termékekhez és elégedett ügyfelekhez vezet.

A Scrum csupán a jéghegy csúcsa

Az agilis módszertan implementálásához számos különféle keretrendszert vagy eszközt lehet használni. Ott a Scrum, a Kanban, az extrém programozás, a Lean vagy a Crystal – a lista szinte kimeríthetetlen. Néhányról talán már hallottál is, de a vállalatok körében határozottan a Scrum a legnépszerűbb.

A Scrum jellemzői a következők:

  •  a fejlesztés ciklusokban vagy szakaszokban történik – ezeket nevezzük sprinteknek
  • kiemelkedő a transzparencia
  • jobb az átláthatóság, és
  • a végső termék kivételesen magas minőségű.

A Scrum segít a csapatoknak, hogy jobban együtt tudjanak működni, és arra ösztönzi a csapattagokat, hogy a tapasztalataikon keresztül tanuljanak, miközben időt hagynak a sikerek és kudarcok kiértékelésére is

Most pedig nézzük meg részletesen a Scrum ceremóniákat és magát a keretrendszert. Mindezt a Codecoolerek példáján keresztül mutatjuk be, hogy láthasd, hogyan tanulnak és dolgoznak az agilis modszertant alkalmazva.

Milyen előnyökkel jár, ha a Scrumot alkalmazva tanulsz?

Manapság a cégek többsége agilis módon végzi a szoftverfejlesztéseket. Ha IT karrierre vágysz, fontold meg az agilis módszertanok elsajátítását is, ne csak a programozásét. Kifejezetten előnyös lehet, ha már azelőtt ismereteket szerzel erről, mielőtt megkapnád az első tech állásodat. 

Miért? A gyakorlatorientált tanulás a programozás elsajátítása esetén is a leghatékonyabb megközelítés. Mi úgy gondoljuk, ha agilis projekteken keresztül, agilis elveket követve és agilis keretrendszerben tanulsz meg programozni, az még jobb.

A hard skilljeidet és a technológiákat, valamint a programozási nyelveket érintő tudásod bővítésén túl az agilis projekteken keresztül rutint szerezhetsz abban, ahogy a programozók ténylegesen dolgoznak az agilis vállalatoknál.

Emellett a soft skilljeiden is javíthatsz, ha gyakorlod és megtanulod az agilis időbeosztást, a hatékony prezentálást és az asszertív kommunikációs technikákat. Ez a módszer segíti a fejlődési szemlélet (growth mindset) kialakulását is, és megtanulhatod, hogy a hibázás, a hibák kijavítása és a tapasztalat alapján történő tanulás mind a fejlesztési folyamat természetes részei.

A Scrum bevetésen: így csináljuk a Codecoolban

A Codecoolnál az alábbi elemeket alkalmazzuk a Scrum módszertanából a Full Stack Fejlesztő képzésünk során:

  • Sprintek (olyan ceremóniákkal, mint a tervezés, stand-upok, áttekintések, retrók, demók),
  • Sprint teendőlista (Sprint Backlog) és termék követelménylista (Product Backlog),
  • Scrum Mester (Scrum Master) és terméktulajdonos (Product Owner) szerepkörök.

Nézzük, hogyan építjük be ezeket a tanulásmódszertanunkba a legjobb eredmények érdekében:

Sprintek

Sprint alatt egy adott határidővel rendelkező időszakot nevezünk, amely alatt a Scrum csapat célja megvalósítani bizonyos mennyiségű munkát.

A profi fejlesztői csapatokhoz hasonlóan a diákjaink is egy- vagy kéthetes sprintekben dolgozva készítik el az éppen aktuális projektjeiket.

Az önálló heteken, egyedül mélyítik el a megszerzett tudást, de igény esetén segítséget kérhetnek a mentorainktól. Ez a felállás támogatja a mastery-based learning (mesterfokú tanítás-tanulás) módszertanunkat, mivel fejleszti az önálló tanuláshoz szükséges készségeket, és megtanítja, hogyan vállalhat felelősséget a diák a tanulmányaiért.

Az önálló hetek után a diákok csapatokban dolgoznak, ahol közelebbről megismerhetik a munkahelyi elvárásokat. Együtt tervezik meg a feladatokat, majd együtt megvalósítják, végül pedig learatják le a babérokat a csapattársakkal. Közben olyan értékes soft skilljeik fejlődhetnek, mint a hatékony kommunikáció, a konfliktuskezelés és még sok egyéb.

 

Sprint tervezés

A fejlesztő csapatok együtt tervezik meg részletesen a sprintet, hogy nekiláthassanak a projektnek. A tervezés során a csapatok meghatározzák, mit tudnak elvégezni a sprint alatt, és hogyan érhetik ezt el. A Codecoolerek hétfőnként végzik el a tervezést, és hozzák létre a sprint teendőlistáját

 

Termék követelménylistája / Sprint teendőlistája

A termék követelménylistája egy olyan fontossági lista, amit a projekt ütemterve, valamint a csapat és az ügyfél által támasztott követelmények alapján állítanak össze előre. A legfontosabb feladatok a termék követelménylistájának élén találhatók. A Codecoolnál a mentorok terméktulajdonosi szerepkörben vannak, így általában ők hozzák létre és tartják karban a termék követelménylistáját.

A sprint teendőlistája azokat a feladatokat tartalmazza, amelyeket a tervek szerint az adott sprintben meg kell valósítani. A Codecoolnál a sprint teendőlistákat a diákcsapatok állítják össze.

 

Scrum Mester / Terméktulajdonos

Ez a cím azt illeti, aki a Scrumot facilitálja a csapatnak. A Scrum Mester elkötelezett a Scrum értékek és alapelvek iránt, valamint gondoskodik arról, hogy a csapat kövesse a keretrendszert.

A Codecoolnál a diákok maguk közül jelölik ki a Scrum Mestert, miután megtervezték a feladatokat, és meghatározták a prioritásokat a sprinthez. Ezt a szerepet minden héten más tölti be, így mindenki kipróbálhatja magát benne.

A Scrum Mester feladata a csapat haladásának adminisztrálása, valamint a kapcsolattartás a terméktulajdonossal. Ha kérdés merül fel, vagy a csapat váratlan nehézségekbe ütközik, a Scrum Mester kezeli a helyzetet, és mozdítja előre a folyamatot. A Codecool csapataiban a Scrum Mesterek maguk is fejlesztenek a gyakorlatban.

A Codecoolnál a mentorok terméktulajdonosi szerepkörben vannak, és általában ők hozzák létre és tartják karban a termék követelménylistáját.

 

Napi stand-upok

Keddtől csütörtökig a diákok implementációs napokat tartanak, ami azt jelenti, hogy elvégzik a sprint során eltervezett fejlesztéseket. Minden reggel napi stand-upokon vesznek részt, amit a Scrum Mester facilitál, és ilyenkor egyeztetik a napi feladatokat, valamint megbeszélik, hol tart a projekt.

 

Sprint áttekintés

A sprint áttekintések során a fejlesztő csapatok esélyt kapnak a sprint termékének ellenőrzésére, valamint a demó során bemutathatják az ügyfélnek az alkalmazást vagy funkciót, amin dolgoznak.

A péntek mindig demónap a Codecoolnál, és ezek a napok lehetőséget adnak a sprint alatt elvégzett munka kivesézésére. A diákok a sprint eredményeit a csapattársaik előtt demózzák, és – a full-stack fejlesztő képzés későbbi szakaszában – valódi ügyfeleknek is bemutatják (akik a Codecool munkaerőt kereső partnereitől érkező vendégek).

A demók mindig a prezentációs készségek gyakorlására, valamint a részletes, konstruktív visszajelzésre és a tanultak megvitatására összpontosítanak.

 

Retrók

A retrók során a diákok értékelik a saját munkájukat. Ez esélyt ad a csapatoknak, hogy tanuljanak a megélt akadályokból, és lehetőséget kapnak a jövőbeli fejlődésre. Ezek általában a sprintek végén történnek.

A pénteki demók után a diákok mindig retrókat tartanak, amit a Scrum Mester facilitál, és ezek során megvitatják, ki mit tanult az adott sprint projektjéből.


Tanulj programozni a Codecool-módszerrel

A Full Stack Fejlesztő képzésünket úgy alakítottuk ki, hogy a valós munkahelyi helyzeteket szimulálja, mivel a módszerünk célja az, hogy közelebb vigyük az oktatást a munkahelyi elvárásokhoz.

A kezdéshez pedig semmilyen különleges készségre vagy képességre nem lesz szükséged. Kezdőként is belevághatsz a képzésbe, ráadásul kihasználhatod az állásgaranciánk és az utólagos fizetés lehetőségének kombóját, hogy bebiztosítsd a jövődet!

A tanulmányaid során végig segíteni fognak a profi, tapasztalt mentoraink. Olyan módszer alapján fogsz tanulni, amely a mélyreható tanulást és fejlődést támogatja. A valós életből vett projekteknek és forgatókönyveknek köszönhetően pedig a lehető leghatékonyabb és legszórakoztatóbb módon fogsz megtanulni szoftvert fejleszteni.

Vedd fel velünk a kapcsolatot, ha kérdéseid vannak. Mi alig várjuk, hogy halljunk felőled! Csatlakozz a Codecoolhoz, és kezdj új IT-karrierbe egy éven belül.

Rólunk

A Codecool az a programozóiskola, ahol a tech karriered kezdődik. Bízd magad profi mentorainkra, csapj le az állásgaranciánkra, és fizess csak utólag, kényelmes, havi részletekben.
Kérdésed van? Segítünk! Kérdezz a chatbot-tól, kérj visszahívást, vagy dobj egy emailt a [email protected] címre.

Kapcsolódó posztok

Rendszerüzemeltető képzés – Tudd meg, hogy neked való-e!
A rendszerüzemeltetés amolyan IT-s jolly jokernek...
Codecool vélemények és gyakori kommentek – Itt vannak a válaszok!
Érdekel a Codecool 10 hónapos képzése,...
Befektetés a jövődbe: Egy programozó képzés hosszú távú előnyei + fizetések 2023-ban
Azon gondolkozol, hogy befektetsz egy programozó...

Add meg elérhetőséged, és hamarosan visszahívunk!