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!

            Ha kiváncsiak vagytok a teljes beszélgetésre: