Mi az az Agile?

Befejeződött

Az agilis kifejezés a szoftverfejlesztés megközelítéseinek leírására szolgál, kiemelve a növekményes teljesítést, a csapatmunkát, a folyamatos tervezést és a tanulást. Az agilis folyamat nem annyira, mint filozófia vagy gondolkodásmód a csapat által végzett munka megtervezéséhez. Iteratív fejlesztésen alapul, és segít a csapatnak jobban megtervezni és reagálni a szoftverfejlesztés elkerülhetetlen változásaira. Hallgassuk meg Mara és Andy beszélgetését a legújabb kiadás után.

Mara úgy érezte, hogy tett néhány apró lépést a DevOps csapatának érdekességéhez, de a haladás elakadt. A csapat túl elfoglalt volt a legutóbbi kiadás hibáinak kijavításával, hogy bármi másra gondoljon.

Ne feledje, hogy Irwin, a termékmenedzser, adott a csapatnak néhány meglehetősen kritikus ügyfél visszajelzést a versenyjáték honlapján. Ezeknek a problémáknak a megoldása nem volt szórakoztató. Andy és Mara kódot írtak, majd átadták Amitának, a tesztelőnek. Amita mindig úgy tűnt, hogy új hibákat talál, és vissza kellett adnia a kódot. A buildkiszolgáló nem sikerült. Tim nem tudta beszerezni a játék webhelyét, hogy éles környezetben működjön, még azután sem, hogy fejlesztési és tesztelési területen dolgozott. Mindenki hosszú órákat dolgozott, és elveszített néhány hétvégét.

Miután kiszállították a kiadást, Mara és Andy leültek kávézni. Mindketten fáradtak voltak. Mara elriasztotta, de Andynek más a hozzáállása.

Nem tudom, miért lepődsz meg. A szoftver kijutása az ajtón nehéz. Ez mindig egy szlog. Előfordult már, hogy másképp csináltad?

Mara: Igen, és azt hiszem, itt is megkönnyíthetjük a dolgokat. Szerintem a DevOps segíthet nekünk.

Andy: Emlékszem, mi volt egy érték-stream leképezési gyakorlat, de most mi? El kell kezdenünk az új kiadást. Azt hittem, végeztünk a DevOpsszal.

Még sok mindent tehetünk. Azt hiszem, meg kell tennünk az első lépést, és el kell végeznünk egy kis Agilis tervezést. Az Azure Boards segítségével segíthetünk.

Andy: Mit jelent az Agile?

Mara: Az Agile a szoftverfejlesztés egyik megközelítése. Az "Agile" kifejezést 2001-ben alkották meg az Agile Manifesto-ban. A kiáltvány meghatározta a szoftverfejlesztés jobb megközelítésének alapelveit. A kiáltvány a következőt mondja:

Értékünk:

  • Egyének és interakciók folyamatok és eszközök felett.
  • A szoftverek átfogó dokumentáción keresztüli használata.
  • Ügyfél-együttműködés a szerződéstárgyalások során.
  • Válasz a változásra egy terv követésére.

Andy: Nézd, ha tudsz valami varázslatot, hogy megkönnyítsd az életet, én mindenért vagyok. A gyerekeim mindig alszanak, mire hazaérek. De ez nagyon érintésesen hangzik konkrét megoldások nélkül.

Mara: Ez nem varázslat, de kicsit meg tudjuk csinálni, és az Azure DevOps megadja azokat az eszközöket, amelyekre szükségünk van az Agilis gyakorlatok implementálásához. Egyelőre, ha tervezni szeretnénk, használhatjuk az Azure Boardst. Először is elmagyarázná nekem a buildelési folyamatot, és segít azonosítani a nagy problémákat?

Sok kávé után Mara és Andy azonosítják a buildelési folyamat legnagyobb problémáit. Az összes probléma a legutóbbi kiadás során merült fel. Miután Andy elmegy, Mara megvizsgálja a firkált jegyzeteit, és úgy dönt, hogy egy kis Agilis tervezést végez. Önmagában az Azure Boards alapszintű folyamatát használja az összes probléma egy helyen való lekéréséhez.

A következő lépés az, hogy bemutassuk a táblát a csapatnak, és bevonjuk őket.

Javaslatok az Agile bevezetéséhez

A csapat készen áll arra, hogy megtegye az első lépéseket az Agile bevezetése felé. Íme néhány általános javaslat, amellyel bármely csapat beépítheti az Agile-t a szervezetébe.

Agilis eljárásokat támogató szervezeti struktúra létrehozása

A legtöbb szervezet számára az Agile bevezetése nehéz lehet. Ez egy elmeváltást és egy kultúraváltást igényel, amely számos meglévő szabályzatot és folyamatot kihívás elé állít a szervezeten belül. A legtöbb vállalat hagyományosan horizontális csapatstruktúrát használ. A gyakorlatban ez azt jelenti, hogy a csapatok megfelelnek a szoftverarchitektúrának. Előfordulhat például, hogy egy csapat felelős egy alkalmazás felhasználói felületéért, egy másik, az adatokért felelős csapatért, valamint egy másik, a szolgáltatásorientált architektúráért felelős csapatért.

A vertikális csapatok azonban jobb eredményeket biztosítanak az Agilis projektekhez. A vertikális csapatok az architektúrát lefedik, és a termékeredményekhez igazodnak. Előfordulhat például, hogy egy csapat felelős az alkalmazás e-mail-részéért, és a csapattagok mind a három fent említett szemléletből származnak. A vertikális csapatstruktúra másik előnye, hogy a skálázás csapatok hozzáadásával történik.

Mentorcsapat tagjai az Agilis technikákról és gyakorlatokról

Amikor először kezdik el alkalmazni az Agilis technikákat és gyakorlatokat, egyes csapatok úgy döntenek, hogy külső edzőt vesznek fel. Az edzők akár több csapattal is együttműködhetnek a szervezeti akadályok és a silók eltávolításában, így gyakran rendelkeznek oktatói és vezetői készségekkel is. Emellett betaníthatják a csapattagokat az Agilis technikákba, például a stand-up futtatására és az értekezletek áttekintésére. Idővel azonban fontos, hogy a csapattagok fejlesszék egymás mentori képességét. Ez azt jelenti, hogy a legtöbb munkát közösen kell elvégezni, és nem azoknak az egyéneknek, akik az idejük nagy részét egyedül töltik.

Csapaton belüli és csapatközi együttműködés engedélyezése

Ha az együttműködés a kulcs az Agile sikeressé válásához, mik azok a módszerek, amelyekkel ösztönözheti? Íme néhány ötlet.

Kulturális változás

A kultúra módosításakor tartsa szem előtt néhány dolgot. Fontos, hogy a csapattagok nyugodt, kényelmes munkát végezhessenek. Olyan helyekre van szükségük, ahol koncentrálhatnak, sok zavaró tényező és zaj nélkül.

Az értekezletek az élet tényei, és úgy érezhetik, mintha átvennék egy személy munkaidejét. Ahhoz, hogy a csapattagok nagyobb kontrollt kapnak, az értekezletek napirendre és szigorú időkeretekre lesznek szükség.

Az aszinkron kommunikáció, például az e-mailek és az üzenetek túlterheltnek tűnhetnek, és az emberek gyakran érzik úgy, hogy azonnal válaszolniuk kell rájuk. Egyértelművé kell tenni, hogy nem minden kommunikációra van szükség azonnali válaszra.

A távoli csapattagok ma már sok vállalatnál a norma. Mindenkinek jól kell éreznie magát a csapat minden tagjával, és egyformán kell kezelnie őket, függetlenül attól, hogy az irodában vagy a helyszínen dolgozik. A kommunikáción keresztüli együttműködésnek a szervezet DNS-ének részévé kell válnia.

Nem lehet túlhangsúlyoznunk a jó kommunikáció fontosságát, még akkor sem, ha vannak nézeteltérések. A konfliktuskezelés minden Agilis csapat számára jó képesség.

Többfunkcionális csapatok

Ahogyan a csapattagok számára is fontos, hogy együttműködjenek egymással, a csapatoknak is fontos, hogy együttműködjenek egymással. A többfunkcionális csapatok olyan új készségeket és perspektívákat adnak hozzá, amelyek mindenki számára lehetővé tehetik, hogy kreatívan oldják meg a kihívásokat. A többfunkciós csapatok az egész szervezetet összetartóbbá teszik. Csökkentik a gyep háborúk és növeli az érzést, hogy mindenki dolgozik a közös cél.

Együttműködési eszközök

A jó eszközök segíthetnek az Agilis csapattagok hatékonyabb együttműködésében mind a csapaton belül, mind a többi csapattal. Íme néhány javaslat az első lépésekhez:

  • Microsoft Teams: A Teams egy alkalmazás, amely munkahelyet biztosít csevegéshez, értekezletekhez, jegyzetekhez és fájltároláshoz.
  • Skype: A Skype könnyen használható, és jó általános célú eszköz. Sokan már telepítették.
  • Slack: A Slack számos különböző kommunikációs csatornát biztosít, mindezt egyetlen felületen. Ezeket a csatornákat többféleképpen is rendszerezheti, például projekt, csapat vagy témakör szerint. A beszélgetések megmaradnak, és kereshetők. Belső és külső csapattagokat is könnyen felvehet. A Slack közvetlenül integrálható számos külső eszközzel, például a GitHubtal a forráskódhoz.

Egyéb gyakori eszközök: Google Hangouts, Asana, Trello, GoToMeeting és monday.com. Próbálja meg megismerni azokat a lehetőségeket, amelyek közül melyik felel meg a csapat és a vállalat igényeinek.