Mob programozási előnyök az Agilis fejlesztőcsapatok számára

A kód létrehozása és felülvizsgálata a szoftverfejlesztési életciklus elengedhetetlen része. A kód áttekintésének sokféle módja miatt a csapatok számára nehéz lehet kiválasztani, hogy melyik módszert alkalmazzák.

A páros programozás, a folyamatos kölcsönös létrehozás egyik fajtája, egy olyan módszer az extrém programozásban (XP), ahol kétfős csapatok dolgoznak egymás mellett, hogy egyidejűleg készítsenek és nézzenek át kódot. A programozók eléggé tartanak attól a gondolattól, hogy a páros programozás nehézségekbe ütközik, ellentétben a folyamatos integrációval és más XP gyakorlatokkal.

A mob programozás páros programozással folytatódik, ahol az egész csapat együtt dolgozik egy kódon. Míg a páros programozás nehézségekbe ütközött, a megfelelő maffiaprogramozás az egész csapat hasznára válhat. Strukturált, órás munkamenetekben, a csapattagok aktív részvételével a mobbing minőségi kódot állíthat elő, miközben javítja a csapattagok készségeit és megértését.

Mi az a Mob programozás?

Woody Zuill, aki hozzájárult az ötlethez és népszerűsítette az ötletet, úgy írja le a maffiaprogramozást, mint “olyan fejlesztési gyakorlatot, ahol az egész csapat ugyanazon a dolgon dolgozik, ugyanabban az időben, ugyanabban a szobában és ugyanazon a számítógépen”. Zuill megjegyezte, hogy ez a megközelítés az egész csapatot bevonja a szoftverfejlesztés minden aspektusába, beleértve a tervezést is; Titkosítás; teszt; valamint az ügyfelekkel, felhasználókkal és más érdekelt felekkel való együttműködés.

A személyes maffiaprogramozási forgatókönyvben a csapat egy szobában van, a kódot kivetítik a képernyőre vagy más módon mindenki láthatja. A távoli szoftverfejlesztés egyre népszerűbbé válásával a képernyőmegosztó eszközök lehetővé teszik a távoli programozást. Mindenki aktívan hozzájárul a munkához.

A mobbing leggyakoribb megközelítésének két konkrét szerepe van: a sofőr és a navigátor. A vezető szerepe az utasítások nem kritikus követője. A navigátor megmondja a vezetőnek, hogy mit írjon be. A maffia, egy harmadik szerepkör, amelybe a csapat többi tagja is beletartozik, tanácsokkal látja el a navigátort, felfedezi a hibákat, és egyre alacsonyabb szintű kódépítésen gondolkodik. A csapat tagjai körülbelül 15 percenként cserélnek szerepet, és a teljes folyamat általában egy órás munkamenetre van ütemezve.

A forgatás megakadályozza bizonyos problémákat, például egy személy programozással uralja a munkamenetet, miközben mindenki más nézi. Kisebb csapatok, például három-négy fős csoportok túl merevnek találhatják ezeket a szabályokat, és ennek megfelelően alkalmazkodnak.

A mob programozás előnyei

A csapatok különböző készségek összeállításai. A fejlesztőcsapatban a készségek felosztása nem mindig felel meg a szerepek hierarchiájának. Például előfordulhat, hogy egy fiatal programozónak nincs tapasztalata, de ismeri azokat a billentyűparancsokat, amelyeket egy idősebb kolléga nem. Emberenként változó képességekkel a csapatmunka arra késztetheti az egyik programozót, hogy tiszta kódot állítson elő, de egy másik személy tönkreteszi azt, amikor karbantartást végez a kódon. Ugyanez vonatkozik az egységtesztekre is.

A páros programozás nem oldja meg ezt a lehetséges problémát, mivel a párban lévő csapattagoknak ugyanazok a gyengeségei lehetnek. A párosok nem veszik fel olyan gyorsan az új technikákat, mint amikor az egész csapat részt vesz, és még mindig vannak hiányosságaik. Ráadásul az átállás a főként egyedül végzett munkáról a hét nagy részében partnerrel végzett munkavégzésre sokkoló élmény, amely ellenálláshoz vezethet.

Ehelyett a maffiaprogramozás lehetővé teszi a csapat számára, hogy a legjobb élményt építsék ki a szobában anélkül, hogy állandó csapatmunkára lenne szükség a héten. Például a legjobb SQL programozó tanácsot ad az SQL felépítéséhez. A csapat minden tagja számára előnyös, ha új technikákat és gyakorlatokat tanul társaitól. Bizonyos értelemben a maffiaprogramozás hasonló egy tanulási gyakorlathoz, de jó minőségű gyártási kódot eredményez.

A maffiaprogramozás finom előnyökkel is járhat mind a felügyelők, mind az alkalmazottak számára. Azok a felügyelők, akik frusztráltak amiatt, hogy az alkalmazottak nem követik az új előírt gyakorlatot, az egy órás munkamenet során megerősíthetik a követelményt. Ugyanakkor a gyakorlatban frusztrált alkalmazottak felhívhatják a frontvonal felettesére, hogy mi a probléma a megközelítéssel.

Amikor az egész csapat részt vesz a megbeszéléseken, a mob-programozás kiváló minőségű és szerkezetű működő szoftvert állít elő, miközben a csapaton belül megosztott tudást épít. Hatékony módja a programozók rutinjainak megzavarásának is, mivel a munkanapot részmunkaidős tevékenységként felosztja, és működő kódot szállít.

Hogyan valósítsuk meg a mob programozást

Bármely csapat elkezdheti a maffiaprogramozást egy új funkció kifejlesztésével és közös munkával.

Először válaszd ki a táblán a legfontosabb történetet. Például az e-kereskedelemben válasszon egy történetet, amely érinti a fizetést. Hagyományos termelékenységi szoftverek esetén válassza ki a rendszer azon részét, amely a legnagyobb valószínűséggel megváltozik. Ha az egész csapat ezen a funkción dolgozik, többé nem kell aggódnia amiatt, hogy a szerző szabadságra megy, vagy elhagyja a céget, mivel az egész csapat megismeri a funkciót.

Ezután ütemezzen be egy órás találkozót az egész csapat számára – ideális esetben három-kilenc ember számára. Az ugyanazon a helyen lévő csapatnak le kell foglalnia egy szobát kivetítővel vagy más megosztott képernyővel, valamint egy osztálytermet vagy konferenciatermet; egy távoli csapatnak konferencia szoftverre és többfelhasználós munkafolyamatra is szüksége van.

Gyakori együttműködési technika a verzióvezérlés használata az átvitelhez. Egy 15 perces időszak végén az illesztőprogramot végző személy átadja a munkát a verzióvezérlésnek, és átadja az értekezlet-gazda szerepkört a következő illesztőprogramnak. Tekintettel a 15 perces forgatásra és egy kis átmeneti időre, érdemes lehet 75 percet ütemezni minden órás megbeszélésre.

Ahhoz, hogy a folyamat sikeres legyen, gyakran szükség van legalább egy bajnokra a vállalaton belül: valakire, aki rendelkezik csapatkommunikációs és megfigyelési készségekkel, hogy pontosan észrevegye, ki vesz részt és ki nem. Ez különösen igaz a távoli csőcselékre.

A maffiaprogramozás megfelelő körülmények között mindennapossá válhat. Míg a napi megbeszélések kihívást jelenthetnek, a legtöbb ember egy órát is képes kezelni egy új munkafolyamatból. Ez a beállítás sokkal kevesebb embert igényel, mint a folyamatos páros programozás, amely a munkanap nagy részében megtörténhet. A csapat csőcselékként dolgozhat együtt egy órát, majd folytathatja a többi feladatot. Ha ellenállást tapasztal, magyarázza el, hogy egyszerre csak egy óra.

Vonjon be mindenkit a csapatba, aki tud kódot írni. Lehet, hogy a grafikusok, a műszaki írók és a Scrum mesterek nem érdekelnek. A fő kérdés az, hogy a csapat hajlandó-e lassítani és magyarázkodni. Ha nem, akkor ezek a csoportok jobban járhatnak, ha máshol töltik az idejüket. Ám ha arra kényszerítjük a csapatot, hogy magyarázza el gondolkodási folyamatait, feltárulnak a hiányosságok, és jobb ötletek születnek. Jobb késlekedni és elmagyarázni, mint elhagyni néhány embert.

Működtesse a mobbingot

Mivel a mobbing csak programozás, beleillik a szoftverfejlesztési munkafolyamatba. A programozók kódot írnak és elküldik a verzióvezérlőnek. Ennek ellenére a csapatoknak valószínűleg több dolguk lesz egy 75 perces munkamenet végén. Előfordulhat, hogy a szolgáltatás, amelyen a csapat dolgozott, nem teljes. Letehetik egy ágba, és holnap átvehetik, vagy odaadhatják egy programozónak, hogy még ma fejezze be. Talán az lenne a legjobb, ha az utolsó navigátor átveszi és befejezi a történetet.

A maffiaprogramozás elfogadásához a legnagyobb szükség van valódi próbálkozási hajlandóságra, valamint a csapattagok fegyelmére, hogy aktívan részt vegyenek, amikor nem töltik be a sofőr vagy a navigátor szerepét. Valószínűleg ez a legalkalmasabb a valóban együttműködő csapatok számára, ahol a felelősségi körök szándékosan összemosódnak, és szívesen fogadjuk az egyéni hozzájárulásokat. Ez azt jelenti, hogy a csapattagok nem túlzottan birtoklóak a kódbázis egyes részei iránt.

Másrészt az erős kódtulajdonosokkal rendelkező csapatok nagy hasznot húzhatnak a mobbingból, mivel minden, a mob által meghatározott attribútum közös tulajdonban van. Az alapkövetelmény az új dolgok tanulására, kipróbálására való hajlandóság.

A maffiaprogramozás nem minden projektre megoldás. Amikor az agilis csapatok integrálják a mob programozást, lemondanak más programozási technikákról. Ha a csapat nem támogatja teljes mértékben ezt az új módszert, jó eséllyel csökkenni fog a megírt kód teljes mennyisége. A csapat valószínűleg elveszíti érdeklődését a projekt iránt, ha nem működnek együtt teljes mértékben a maffia programozásával.

Ez egy intenzív folyamat, ahol mindenki ugyanazon a hullámhosszon van, de helyesen végrehajtva a mob programozás hasznos gyakorlat lehet egy Agilis projektben.

Leave a Comment