Szoftverarchitect

Szoftverarchitectként a következő helyzetekben tudok segíteni kkv-, nagyvállalati és startup ügyfeleimnek egyaránt.

Meglévő architektúra tovább gondolása

Időnként a szoftverarchitektúra átgondolása szükségessé válhat, amennyiben a jelenlegi megoldás nem támogatja kellőképpen az üzleti célokat (lassú szállítás, lassú rendszer, bonyolult rendszer vagy sok meghibásodás), vagy olyan kockázatok merültek fel (pl. bizalomvesztés, személyi cserék), amelyek indokolttá teszik azt. Ebben az esetben a már meglévő, összetett technikai megoldást (kód, design és architektúra) kell elemezni, megérteni, szükség esetén challenge-elni annak érdekében, hogy a megrendelő kiszolgáltatottságát vagy a felmerülő kockázatokat csökkentsük.

A megfelelő architektúra megalkotásához figyelembe vesszük a rendelkezésre álló szervezeti struktúrát, szükség esetén a kulcsemberek tulajdonságait is.

Másodvélemény

Nagyon gyakran felmerülő kérdés, hogy az üzleti megrendelő mennyire bízhatja rá magát a technikai szakembereire. Néha szükség lehet arra, hogy egy független szakértő is véleményt alkosson egy már meglévő rendszerről vagy koncepcióról.

„Low cost” megoldás

Sok esetben merül fel problémaként, hogy a fejlesztő egy olyan megoldást „álmodott meg” a megrendelő igényei alapján, amelyet a megrendelő túl drágának talál. Sok esetben a fejlesztő túltervezi, „túlálmodja” az eredeti üzleti elképzeléseket, amiknek a megvalósítása így túl drágává válik. A megrendelő sokszor érzi azt ilyenkor, hogy egy egyszerűbb megoldás is megfelelő lenne, és ezzel az egyszerűbb megoldással is el lehetne indulni.

Mi az a „legkisebb közös többszörös” megoldás, amivel el lehet indulni? Erre a kérdésre akkor lehet kielégítően válaszolni, ha pontosan feltérképezzük és megértjük a megrendelő helyzetét és motivációját.

Evolúciós architektúra (Evolutionary architecture)

Termékfejlesztési vagy más hosszú távú projektek esetében kulcsfontosságú lehet, hogy az architektúra maga is agilis legyen. Nem lehet előre tudni, hogy hosszú hónapokkal vagy évekkel később a rendszer fejlesztése milyen irányt fog venni, kik lesznek a megvalósítók, üzemeltetők. Hogyan lehetséges olyan architektúrát designt építeni, amely támogatja a folyamatos változásokat úgy, hogy közben az architektúra könnyed (lightweight) marad?

Erre a kérdésre ad választ az evolúciós architektúra koncepciója, amelynek ötlete beépíthető a szállítási folyamatba.

Az evolúciós architektúra célkitűzései nagyon fontosak lehetnek egy szinttel alacsonyabb szinten, a kód designjának szintjén is. Ebben az esetben az a kérdés, hogy milyen technológiákat és designt alkalmazzon a csapat, amely lehetővé teszi a kód jövőbeni könnyű és gyors továbbfejleszthetőségét.

Csapatok mentorálása

Szoftverfejlesztő csapatokat szükség esetén mentorálok, hogy a hiányzó módszertani, technikai és emberi skillek az adott csapat rendelkezésére álljanak. Szükség lehet erre akkor is, ha sok a junior kolléga, vagy a csapatnak esetleg szüksége van egy kis „vérfrissítésre”.

Alapvetően Java-alapú megoldásokban dolgozom, de szükség esetén partnereim bevonásával más technológiai stack kivizsgálására is sor kerülhet.

Főbb alkalmazott módszerek, technikák:

  • Agilis mindset,
  • Lean startup, customer development,
  • SCRUM, Kanban,
  • Test Driven Development, Behaviour Driven Development,
  • Clean code, Refactoring,
  • Domain Driven Design,
  • Continuous Integration, Continuous Delivery,
  • Extreme Programming practices
  • QA in Production, Agile testing
  • Java
  • CloudFoundry (PaaS),
  • service-based architecture, microservice architecture
  • Innermetrix ADV személyiségdiagnosztika

Ajánlatot kérek



    Kérdése van? Vegye fel velem a kapcsolatot!

    hello@istvanmarhefka.com

    +36 70 338 60 49