Vállalatunk szerkezeti- és szoftverfejlesztési módszertanának átalakulása

Az informatikai szektor számtalan kihívással állítja szembe a fejlesztő vállalatokat, ahogy az AutSoftot is. A fejlődés sikeressége a stratégiában, és a kiválóan testre szabott módszertanban rejlik.
Elsődleges célunk egy olyan szervezet kialakítása volt, mely kellő rugalmassággal, permanensen tudja követni és támogatni az új, változó technológiák alkalmazását a cég fejlesztési folyamataiban.

Vállalatunkról pár szóban

Az AutSoft Zrt.-t 2011-ben alapította a Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszéke. Egyedi termék- és szoftverfejlesztéssel, tanácsadással, oktatással foglalkozunk. Az AutSoft 2018-tól zártkörűen működő részvénytársaságként van bejegyezve. A jól megválasztott vállalati struktúra és módszertan támogatja szervezetünket a folyamatos növekedés fenntartásában.

Hatékony létszámnövekedés

Vállalatunkban mikromenedzsment működött az első 5-6 évben, ekkor 50-60 fővel dolgoztunk együtt. Ezt a létszámot még könnyű volt kezelni, átlátható működés, fejben tartható munkafolyamatok jellemezték ezt a pár évet.

2018-ra elértük a mikromenedzsment szempontjából már kritikusnak tartott létszámot, 70 főt. A csapataink rugalmasan működtek, gyorsan reagáltunk minden kihívásra, könnyen tudtuk követni a technológia fejlődését. Vállalatunk növekedése azonban megrendelői szinten is megmutatkozott, nagyobb és összetettebb projekteken kezdtünk el dolgozni, melynek hatására szembesültünk a legnagyobb problémával: nem tudtunk jól skálázódni, produktívan növekedni.

Tudtuk, hogy itt nem állhatunk meg, így elkezdtünk azon gondolkodni, hogy miként tudunk hatékonyan tovább bővülni.

A kis- és középvállalkozásoknál ismert probléma (főleg kezdetben), hogy a tapasztaltabb kollégáknak egyszerre több szerepkört kell betölteniük. Nálunk is fennállt ez a helyzet, szenior szoftverfejlesztő kollégáink gyakorta folytak bele üzleti elemzői folyamatokba, tesztelésbe, olykor projekt csapatokat is vezettek.
Ez a vállalati struktúra hosszú távon több szempontból nem fenntartható:

  • Kizsigereli a szenior kollégákat (ez kiégéshez, majd felmondáshoz vezethet),
  • Elaprózódó feladatok (senki nem képes ennyi folyamatot egymaga kézben tartani),
  • Sokszor nem a szakterületeiken kell helyt állniuk a kollégáknak (kevesebb sikerélmény, mégis több befektetett munka),
  • Nincsenek letisztázott felelősségi körök (ellentétek kialakulása, számon kérhetőség hiánya)

Hamar felismertük, hogy ezen negatívumok gátat szabnak a fejlődésnek, így elkezdtünk kitűzni célokat, s megfogalmaztuk, mi kell ezek eléréséhez. Tisztáznunk kellett felelősségi köröket, hierarchia szinteket, valamint átgondolni, hogy tartható fenn a rugalmas és agilis működés egy ilyen átalakulás során.

Változásmenedzsment

Az ügyfél- és csapatközpontúság elve

A struktúra kialakításánál fő szempontként az ügyfél- és csapatközpontúság megtartását jelöltük meg. Ennek tükrében kellett megválasztanunk eszközeinket vállalatunk átformálásához.

Milyen célokat tűztünk ki?

  • Transzparens hatáskörök kialakítása,
  • Skálázhatóság kialakítása,
  • Fókuszáltság növelése,
  • DevOps szélesebb körű alkalmazása,
  • Agilis fejlesztési módszerek fenntartása,
  • Magas szintű szoftverminőség fenntartása.

A felsoroltak mellett fontos volt számunkra, hogy megszerezzük az ISO/IEC 270001 minősítést, mely információbiztonsági szempontból kulcsfontosságú mérföldkőnek számított vállalatunk életében.

Működési struktúránk

Korábbi tapasztalatainkra támaszkodva megállapítottunk főbb területeket, melyeket korábban ad-hoc jelleggel vontunk be a folyamatokba egy-egy projekt kapcsán. Ezen területekből divíziókat alakítottunk ki, egy strukturáltabb szervezet érdekében.

Divízióink:

  • UX/UI
  • Full Stack
  • Mobil
  • Microsoft
  • Mesterséges intelligencia
  • Adatbányászat
  • BI
  • Tesztelés

A projektjeinken minden divízióból szervezetten dolgoznak együtt a kollégák, a divíziókért a divízió vezetők a felelősek, ők menedzselik a munkaidőt, osztják el a feladatokat.
Szoros együttműködésben üzleti elemző kollégáinkkal, akik a megismert ügyféligényt egyeztetik projektvezetőkkel, fenntartva az átlátható kommunikációt és a rugalmas folyamatokat. Így a fejlesztőkhöz minden esetben a konkrét igény jut el. A projekt megvalósítását nagyban segíti a folyamatos DevOps működés is. Célunk olyan szoftverek fejlesztése, melyek gyorsan továbbfejleszthetők, s könnyen karbantarthatók.

Projekt életciklus menedzsment

A szoftver architekt és a vezető fejlesztő kollégák a projekt fókuszától (technológia fókuszú vagy üzleti fókuszú) függően vesznek részt az ügyfélkommunikációban, csapatvezetésben és architektúra tervezésben.
A stratégiáért, az új technológiák vizsgálatáért és alkalmazásáért az architekt board felel.

Vállalatunk átlátható működése mellett kiemelt figyelmet fordítunk kollégáink továbbképzésére. A cégen belüli folyamatos tudásmegosztás érdekében ún. chaptereket hoztunk létre, melyek különböző technológiai ismereteket dolgoznak fel, például Android chapter, Design chapter, Java chapter. A kollégák általában két chapterbe is be vannak osztva, hogy a szakterületükön kívül eső technológiákkal is megismerkedhessenek.


Szoftverfejlesztői módszertanunk kialakítása

A módszertan kialakítása mindig egy felismeréssel kezdődik, hogy a jelenlegi helyzetben nem hatékony az együttműködés, a csapatok külön szigetként működnek, nincs átjárhatóság, a fejlesztési folyamatok akadoznak.

Egy vállalat menedzsmentje gyakran adja más kezébe a módszertan kialakítását, külsős tanácsadóval, coach-csal egyeztetnek, azonban minden cégkultúra más, különböző projektekkel, folyamatokkal, így az AutSoft fejlesztési módszertanát az erre a célra kijelölt belső munkacsoport rakta össze. Céljuk egy olyan agilis módszertan kialakítása volt, mely illeszkedik projektjeinkhez, a pár napostól a több hónapot, esetleg évet felölelőkig.

Tévhit, hogy az agilis projekteket nem kell tervezni: pontos, előre meghatározott célokkal kell rendelkeznünk a projekt indulásakor. Mi ennek megfelelően ún. user story-kal (felhasználói történetekkel) dolgozunk, melyben röviden megfogalmazásra kerülnek a megrendelői igények.

Ennek értelmében alapelveink közé tartozik az ügyféligények kielégítése. Kialakított módszertanunkban eszerint kapcsoljuk össze szakmai csapatainkat a különböző, projektekben érintett területekkel. Az agilis módszertanok esetében a felelősség megoszlik a többségében önszerveződő csapatok tagjai között.

Szoftverfejlesztési módszertanunk

Egy adott projekt, user story az alábbi folyamaton megy végig:

  1. Projekt nyitás
  2. Specifikáció (üzleti elemzés és ux kutatás), felelős: üzleti elemző
  3. UX - felhasználói élmény (felhasználói élmény tervezés), felelős: UX vezető, projektmenedzser
  4. Tervezés (UI - felhasználói felület tervezés), felelős: projektmenedzser, felhasználó
  5. Fejlesztés (UI - felhasználói felület tervezés, fejlesztés, telepítés), felelős: projektmenedzser, felhasználó (megrendelő)
  6. Tesztelés (felülvizsgálat, felhasználó oldali tesztelés, tesztelés), felelős: projektmenedzser, felhasználó (megrendelő)
  7. Felhasználó oldali tesztelés, felelős: felhasználó (megrendelő)
  8. Projekt zárás

Ebben a struktúrában a projekten részt vevő csapatok agilisan alakítják ki saját folyamataikat, ceremóniáikat, melyek a:

  • Napi standup: rövid napindító megbeszélés, a transzparencia fenntartásáért és a követhető munkafolyamatokért
  • Retrospektív: együttműködés javítása, tapasztalatok levonása érdekében kezdeményezett egyeztetés (proaktivitás szempontjából kiemelten fontos ceremónia)
  • Review: projekt bemutatása
    Esetünkben a review-t nem csak a projekt végén, az elkészült termék/szoftver bemutatásakor kezdeményezzük, hanem a folyamatok közben is, hogy a kollégák egyértelmű visszajelzések mentén tudjanak haladni a munkával.
Az előadás a VIRTUAL AGILE COMMUNITY OF PRACTICE konferencián hangzott el 2020. május 15-én. Konferencia teljes programja: https://2020.va-cop.com/

Az általunk kialakított agilis szoftverfejlesztési módszertan teljességgel testre szabható és az ügyféligényeket szem előtt tartva, az adott projekthez igazítható.
Minden, a belső folyamatainkat érintő fejlesztésben igyekszünk olyan hosszú távú és átlátható megoldásokat bevezetni, melyekkel hatékonyan segíthetjük csapataink munkáját.

Agilis szoftverfejlesztés és változásmenedzsment

Ha egyedi szoftverfejlesztési projektekkel kapcsolatban lenne kérdése, keressen bennünket bizalommal!

https://www.autsoft.net/szolgaltatasaink/egyedi-szoftverfejlesztes/

Weboldalunkon további szolgáltatásainkról is tájékozódhat.

Álláspartnerünk a Jooble
https://hu.jooble.org/