A solidCode első webinár beszélgetése a szoftverfejlesztés működése köré épült. Különböző területek képviselőit hívtuk meg, hogy megosszák tapasztalataikat a szoftverfejlesztési folyamatok felépítésről, azáltal, hogy milyen munkakörben dolgoznak.
Szakterületek képviselői voltak:
- Belasitz Orsolya – FullStack Software Engineer
- Bödecs Anna – Agile Coach / Scrum Master
- Érsek Attila – Software Architect
- Földházi Péter – Test Architect
- Senor Tamás – Engineering Manager
- Vőneki Marcell – Product Owner
A következőkben áttekintést kaphattok a legfontosabb gondolatokról.
Melyek a feladatai egy szoftverfejlesztésben dolgozó szakembernek?
Scrum Master szerepköre:
- SCRUM, agilis keretrendszert a gyakorlatban is alkamazhatóvá teszi
- érthetővé teszi a fejlesztői és üzleti oldal számára is egyaránt, hogy hogyan zajlik a szoftverfejlesztési folyamat
- megteremti a közös nyelvet a résztevők között
- betartattja a szabályokat
- elhárítja az akadályokat
Product Owner szerepköre:
- kapcsot képez az üzleti oldal és a szoftverfejlesztő csapat között
- megérti a terméket, és megtervezi a lépéseket a specifikációk által
- összedolgozik több csapattal (pl.: designer, fejlesztő)
- szervezési munkát elvégzi a csapatok között
- ellát projektmenedzseri feladatok is
- megérti a termék teljes életciklusát (end-to-end át kell látnia)
DevOps szerepköre:
- karbantartja az élő környezetet(naprakész, stabil, skálázható legyen)
- automatizálja a környezetet (tesztek felhasználásával)
- támogatja a fejlesztői csapatokat több folyamat lépésében
Test Architect szerepköre:
- őrzi a minőséget
- az egész projektbe bevonják
- megtervezi a teszt folyamatokat
- sok cégnél konzultáns jellegű munkakör
Agile Coach szerepköre:
- megteremti a megfelelő környezetet az agilis keretrendszer által
- megvalósítja a gyakorlatban az agilis értékeket
Szoftverfejlesztő szerepköre:
- kódot ír, esetenként tesztel is (különbség van nagy és kis cégeknél: ha kicsi a cég akkor több feladatot is elláthat)
Quality Assurance / Tesztelő szerepköre:
- elvégzi a tesztelési feladatokat
- ellenőrzi a megfelelő működést
- riport készít
- tesztesteket futtat az adott alkalmazáson
- nyomon követi a hibákat
- Auto QA: manuális tesztelés hosszadalmas, ezért automatikusan futtatja le a tesztesteket
Software Architect szerepköre:
- együttműködik a fejlesztői csapatokkal
- összekötő a csapatok között (termék hogyan fejlődik tovább, milyen követelmények mentén)
- nem a tulajdonosa a terméknek, hanem az “őre”: figyelembe veszi azokat a követelményeket, amelyekre a fejlesztők a sok feladat miatt nem tudnak összpontosítani
Engineer Manager szerepköre:
- betartja a projekt időkeretének betartása
- levezényli a projektet
- megoldja és elhárítja a külső és belső problémákat
- kapcsolatot tart a csapatokkal
Milyen egy jól működő szoftverfejlesztési csapat?
- csapattagok tudják mi lesz a szerepük és ehhez megvan a kompetenciájuk
- elkötelezettség a tevékenységek iránt
- megfelelő felelősségkörök lehatárolása és ennek elfogadása
- csapaton belüli és kívüli kommunikáció
- kreatív és innovatív gondolkodás
- önálló feladatvégzés
- megfelelő tervezési folyamat az elvégzendő feladatokkal kapcsolatban
- átlátható, közös kép a közös célról
- ,,mi” tudat a csapaton belül
- tapasztalati, folyamatos tanulás
- bizalmi légkör megléte
Milyen kihívások vannak egy csapaton belül?
- csapat egyben tartása ha a cél és környezet megváltozik
- csapaton belüli szabályok figyelmen kívül hagyása
- konfliktusoktól való félelem
- bizalom, elköteleződés hiánya
- eredményorientáltság megtartása
- nagy nyomás hatására létrejövő kiégés felismerése
- emberek pótlása komplex projekteknél
- gyorsan változó világban a közös nyelv megteremtése
Milyen tényezőkre érdemes figyelni egy beilleszkedési folyamat során?
- csapat figyeljen arra, hogyha új tag érkezik
- integrációs folyamatban a csapattagok partnerként kezelése
- minden csapat egyedi: csapatra kell szabadni egy új tag beillesztését
- folyamatos visszajelzés a kezdeti időszakban mindkét oldalról (új tag és csapat)
- legyen mentori rendszer: személyre szabottan (más egy junior és egy senior fejlesztő)
- legyen egy onboarding terv amin az új munkavállalók végig tudnak menni
Fontos üzenetek a résztvevőktől:
- A csapat a termék elkészítésével kapcsolatban igyekezzen mindig a büszkeség irányába elmenni!
- Ha valaki magasabb pozícióba lesz promótálva, akkor másképp kell gondolkodnia, ez egy hosszú tanulási folyamat!
- Fontosak a mentor kapcsolatok: mindenki tud egymásnak új információkat, nézőpontokat adni!
- Olyan szakmába dolgozzanak az emberek, amelyek valóban érdekli őket!
- Nyitottság és érdeklődés kell, hogy a munkavállalók jól tudják végezni a munkájukat!