Illetve ki nem az. Típushibák egy kitalált történeten keresztül.
Illetve ki nem az. Típushibák egy kitalált történeten keresztül.
Kenéz Lóránd 29 éves fejlesztő Budapesten. Vezető fejlesztő egy kis magyar cégnél.
Névnapok és lagzi alkalmával gyakran találkozott Zoltánnal, aki egy nemzetközi cég magyar leányvállalatánál vezeti a szoftver fejlesztési divíziót. Együtt szoktak beszélgetni egy pohár sör mellett az IT szakmáról, és hogy milyen nehéz is az informatikus élete.
Lóri szerint a menedzserek teljesen feleslegesek, mert igazából nem értenek a programozáshoz, és a projekteket úgyis a fejlesztők csinálják. Amit az öltönyösök tudnak, azt ő is tudja, sőt még többet is. Mert neki, mint vezető fejlesztőnek határozott elképzelése volt arról, mit hogyan lehet megoldani, és úgy általában hogyan kell egy szoftver fejleszteni. Elvégre ez a szakmája. A munkatársakkal néha fél napon át is vitattak egy műszaki problémát, és persze Lóri állandó résztvevője az informatikai konferenciáknak. A legutóbb még elő is adott 30 percben a Microsoft Workflow Engine használatáról (zajos sikert aratott).
A következő lagzi alkalmával Zoltán komolyan felvetette, hogy éppen most mondott fel az egyik embere, és ha Lórinak lenne kedve, akkor nagyon szívesen felvenné. Mivel jól ismerik egymást, interjúra nincs is szükség. Bizonyára Lóri nemcsak hogy ért a szoftverfejlesztéshez, hanem jobban ért, mint bárki a cégnél. Olyan emberre van szükség, aki megbízható, hűséges, és tud teljesíteni – egyszóval pont olyan, mint Lóránd.
Kenéz Lóránd – immár 29 éves menedzser – tehát felvette a régóta porosodó öltönyét, és hétfő reggel megjelent új munkahelyén (impozáns helyen fekvő üvegpalota). A délelőttöt a HR-en töltötte, a szokásos adminisztráció, és átvette céges autóját (Ford), mobil telefonját (HTC), üzemanyag kártyáját (MOL), vadiúj notebook-ját (Dell). Ez utóbbit nem értette, neki jobb lett volna egy nagyteljesítményű asztali gép, azon jobban lehet kódolni.
Délben találkozott Zoltánnal, aki megmutatta neki az épületet belülről, és a cégről beszélt. Projektek, ügyfelek, szervezeti felépítés, prezentációk.
Másnap reggel Zoltán irodájában kezdtek, és Lóránd megkapta első projektjének dokumentációját. Közben Zoltánnak megbeszélései voltak, úgyhogy Lóri egész délelőtt a cég büféjében ült és olvasgatott. Közben felfigyelt arra, hogy néhány arra járó igen szúrós pillantást vet rá. A dokumentációval egyébként nehezen haladt, mert csupa értelmetlen igényspecifikáció volt, nagyon kevés műszaki leírással. Egy programkódról vagy adatbázis sémáról ránézésre meg tudta volna mondani, hogy mit csinál, de helyette csak színes prezentációk és projekt tervek voltak.
Szerdán Zoltán összehívta a fejlesztőket (nagyjából 40-et), és bemutatta Lórit, mint az új sztárt, aki majd rendbe teszi a dolgokat. Lóri csapata a Back-end rendszerekkel foglalkozik, 8 fő, és az aktuális projekt egy banki treasury monitoring rendszer, aminek a mainframe adatbázishoz kapcsolódva kell real time adatokat szolgáltatnia. Kulcsfelhasználók Londonban és Frankfurtban, a szoftvert egész Európában fogják használni.
Szerda délután videókonferencia a megrendelővel. Zoltán bemutatta Lórándot, és volt valami vita is. Lóri nem igazán értette – igaz, hogy az angolja perfekt, de ez azt jelentette, hogy bármilyen angol nyelvű szakmai könyvet megért, és angol nyelvű fórumokra tud beírni. Most vett részt életében először videókonferencián, és most beszélt életében először egy igazi angollal. Annyit értett, hogy a projekt késésben van, eredményeket kellene felmutatni, mindenki mérges.
Lóránd ezután megkapta saját íróasztalát (illetve megmutatták, hol tud leülni), és beszélt saját csapatával. Tibor tűnt a legtapasztaltabb fejlesztőnek, és már csinált programot Workflow engine-nel. Rögtön bele is mentek az engine konfigurálásának részleteibe.
Kati rendszerszervező, mosolygós 35 éves hölgy, minden délután rohan a gyerekekért az iskolába.
Peti és Márton programozók, egy másik cégtől bérben vannak itt, csak a projekt erejéig. Peti írja a szervizeket, Márton pedig az interfészeket.
Zoli adatbázis guru.
Az öltönyös-szakállas fickó István, a tanácsadó. Korábban bankban dolgozott, ismeri az üzleti folyamatokat és a banki szoftverfejlesztést. Lóránd már korábban is úgy gondolta, hogy a tanácsadók feleslegesek, úgyhogy majd István körmére néz.
Rajtuk kívül még ott van Dénes és Sándor, a 2 gyakornok. Ők főként teszteléssel foglalkoznak. Lóri szerint ez így helyes – amíg nem tanulnak meg rendesen programozni, addig csak koloncot jelentenek a csapatnak. Amíg nem nyúlnak a kódhoz, addig legalább nem okoznak kárt.
A dolgokat áttekintve Lóránd számára világos volt, mi a probléma: ahhoz képest, hogy a követelmények vázlatosan megvannak, a programozás még sehol sem tart. Sürgősen bele kell vágni a tervezésbe és a kódolásba. A tervezés alatt persze architektúrális tervezést kell érteni. Lóri szerint az ütemterv nem fontos, hiszen a dolgok úgyse aszerint alakulnak. Majd mindenki sokat dolgozik, és a program készen lesz, amikor készen lesz.
A kis csapat össze is gyűlt az egyik tárgyalóban, és elkezdték az szoftvert nagy vonalakban felvázolni. Lóránd úgy gondolta, hogy majd csapatmunka lesz, és közösen mindent megbeszélnek. Igazából a 2 gyakornoknak mindegy volt. Kati szerint még nincsenek kész a use case-ek, és addig ne álljanak neki programozni. Zoli szerint az adatbázis tervezéssel kellene kezdeni a munkát, mert hiszen az adatbázis az alapja mindennek.
Peti és Marci csak a vállát vonogatta.
Tibornak viszont határozott elképzelései voltak, és ezeket rögtön fel is vázolta. Sajnos a véleménye nem esett egybe Lórándéval, aki megpróbált udvariasan rávilágítani, hogy ezt így nem. Na erre Tibor begorombult, és gyakorlatilag egy késő estébe nyúló vita lett belőle. A többiek nagyon örültek, amikor 7-kor a vitát ideiglenes felfüggesztették, és mindenki hazamehetett.
Miután sikerült a mérges Tiborral kompromisszumot kötnie az architektúrával kapcsolatban, kiosztották a feladatokat – azaz ki melyik komponenst csinálja – és mindenki nekiállt a maga részének. Kati nagy lelkesedéssel kidolgozta a felhasználói igényeket, a fejlesztők megcsinálták az osztály definíciókat és a függvényeket (egyenlőre üresen), Zoli pedig elkészült a fontosabb adattáblákkal (sőt még teszt adatokat is sikerült beletenni).
Egyedül István, a tanácsadó adott hangot kételyeinek, hogy talán másképp kellene, de gyorsan lehurrogták.
Lázas izgalom uralkodott el mindenkin, ami még a Tibor és Lóránd közötti vitát is a háttérbe szorította néhány hétig.
Lóránd amikor csak tehette, került mindenféle megbeszélést. Az ügyféltől jövő levelekre se válaszolt, hiszen most programoznia kellett – a sürgető határidő miatt minden mást háttérbe szorított.
Egyik nap összefutott főnökével, aki kérdőre vonta, miért nem jött a heti státusz megbeszélésre. És ha már nem jött, akkor küldje már át a státusz report-ot, különös tekintettel az aktuális költségekre. Lórándnak gőze se volt róla mi az, ezért megnézte a korábbiakat, és ezek alapján kreált valamit.
Másik nap Peti jött, és mindenféle kérdéseket tett fel az egyik osztállyal kapcsolatban. Lóri nagyon dühös lett, és elzavarta: egy igazi programozó nem kérdez, hanem megnézi és értelmezi! Minél okosabb valaki, annál kevesebbet kérdez!
Délután a gyakornokok kérték, had programozhassanak valamit, de Lóri őket is helyre tette: írjanak teszt eseteket, nézegessék a kódot, aztán ha sikerül belőle tanulni, akkor a következő projektben komolyabb feladatot kapnak.
Hétfőn Lórinak ismét kellemetlen beszélgetése volt főnökével, aki a projekt dokumentáció iránt érdeklődött. Hát olyan nincs – pontosan mire is lenne szükség? Az a lényeg, hogy a program készül, vagy nem?
Ahogy múltak a napok, Lóri és Tibor egyre tovább maradtak bent, éjszakába nyúlóan programoztak. Lóri nem értette, hogy a többiek miért mennek haza 7-kor – aki igazán komoly programozó akar lenni, annak ez az élete, nemdebár?
Arra pedig már egy ideje gyanakodott, hogy István és Marci nem csinál semmit. Végül nem bírta tovább, és az egész csapat előtt kérdőre vonta őket. István arra várt, hogy majd Lóri szól neki, mit kell csinálni. Marci pedig pont azt a komponenst írta, amit 1 héttel korábban kivettek a tervből.
Csütörtök reggel Kati telefonált, hogy nem tud jönni, mert a gyerekei betegek – valamilyen vírusos nyavalya – és az orvos szerint otthon kell maradniuk. Nem, a use case-ek még nincsenek kész, és most nem is tud haladni velük. Ezek nélkül viszont Tibor nem tud haladni.
Délután videókonferencia a bankkal – az angol úr megint aziránt érdeklődik, hogy mikor lesznek kész. Hát majd amikor készen lesznek.
A komponensek jól haladnak, az adatbázis kész. Zoliról, az adatbázis gururól azt mondják, titokban állást keres. Mert projektet szeretne vezetni, és mielőtt Lóri jött, azt hitte ő kapja a munkát – de nem így lett.
Mivel a program lassan működőképes állapotba kerül, szükség lenne egy teszt szerverre, esetleg meg lehetne mutatni az ügyfélnek. Igen erről korábban szó volt, de senki nem csinált semmit. Nincs teszt szerver. Lóri elküldi Tibort, hogy szerezzen egy szervert a cégnél. Tibor egy jó és egy rossz hírrel tér vissza. A jó hír az, hogy lesz szerver. A rossz hír, hogy 2 hónap múlva.
Lóri próbál keménykedni a szerveresekkel, de azok jól helyreteszik. Ha ennyire fontos a projekt, miért nem szólt nekik korábban?
Nem baj, teszt szerver nélkül is meg lehet mutatni a szoftvert az ügyfélnek. Az angol és a német úriembernek nagyon tetszik a szoftver kinézete és az újszerű megoldások. Szeretnék minél korábban kipróbálni. Sajnos azok a funkciók, amiket megnéznének, azok még nem működnek.
Tibor bejelentette, hogy a korábban megbeszéltek szerint a jövő héten elmegy nyaralni 2 hétre (Görögország). Márpedig a következő 2 hét kritikus lenne a szoftver funkcióinak befejezéséhez. Lóri rádöbbent, hogy:
- Az ütemtervben nem vette figyelembe a szabadságot
- Gyakorlatilag most minden az ő nyakába fog szakadni
A következő meglepetést főnöke okozta: Kati egyik korábbi projektjén az ügyfél kért egy sürgős módosítást, úgyhogy Katinak most pár napig ott kell dolgoznia. Ugye nem gond? Nem, persze – egyezett bele megadóan Lóri.
Csak hogy valami jó dolog is történjen, sikerült szerezni egy szervert, feltelepíteni rá a programot, így az ügyfél is ki tudta próbálni. Lóriék úgy gondolták, hogy minden funkció ott van (többé-kevésbé…), és biztosan elégedettek lesznek az angolok…
Nem voltak elégedettek. Néhány napnyi „játszadozás” után egy igen hosszú hibalistát adtak, illetve számos funkciót hiányoltak a programból. Lóri akárhogy próbált visszaemlékezni, nem ugrott be, hogy ezekről a funkciókról valaha is hallott volna… de nem volt mást tenni, mint nekiállni és megcsinálni.
Viszont ez azt jelentette, hogy nem készültek el a megadott határidőre. Az igazat megvallva az átadáshoz még egy kiadós teszt is hiányzott.
Zoltán, a főnök nagyon mérges volt, mert az ügyfél nagyon lehordta – a program nincs kész, nem működik, nincs tesztelve, nem tudják mit csinál, és amit csinál, az sem jó. És hogy nem látszik, mikor lehet használatba venni.
Ezzel szemben Lóri úgy látja, hogy a program majdnem kész, mindent megcsináltak a kéréseknek megfelelően, ha pedig valami nem lenne jó, akkor gyorsan kijavítják. Úgy egyébként is, szerinte az ügyfél hosszú hibalistája és a kérései lassították le a fejlesztést.
Végül nagy nehezen megegyeznek egy út átadási határidőben. Gőzerővel megy a tesztelés, jönnek a hibajegyek. És az új igények is. A banktól váratlanul újabb üzleti szakértők bukkannak fel, akik szerint a szoftver így nem lesz jó. Lehet, hogy így készült el, de sajnos ebben az állapotában nem használható, át kell írni. Lóriék megadóan fejlesztik ki az új funkciókat, csak legyen már kész. (Vicces módon akadnak olyan kérések, hogy egy korábban megváltoztatott funkciót kell az eredeti változatára visszaalakítani).
A csapat már éjjel-nappal, és hétvégén is dolgozik. Különben nem lennének kész.
Átadás hétfőn, persze pénteken, szombaton és vasárnap is éjfélig bent vannak.
A változtatások elkészültek, de még akadnak kisebb hibák – nem baj, ezeket majd később javítják. Elindítják a rendszert éles adatokon, rögtön elhasal. Kiderül, hogy az éles adatbázis olyan kombinációkat tartalmaz, amire a szoftvert nem készítették fel. Meg egyébként is, a lekérdezés jól működött 100 rekordra, de 10000 rekordnál már túl lassú.
Lóránd fáradtan ücsörög Zoltán irodájában, aki érhető módon nagyon dühös. Elbeszélgetett Tiborral, aki szerint Lóránd hibás szakmai döntése miatt nincs kész a szoftver. Lóri szerint az volt a baj, hogy az emberei nem elég képzettek. Az már csak hab a tortán, hogy a két gyakornok szerződése lejárt, és az eléjük tett nagyvonalú állásajánlatot egyikőjük sem fogadta el. Állítólag azért, mert másfajta munkát szeretnének végezni.
Lórándnak fáj a feje. Amikor belevágott, azt hitte, projektet vezetni egyszerű. A szoftver nem készült el, a csapat szétesik, az ügyfél dühös. Beleölték azt a sok időt és munkát, elkötelezettséget tettek az ügyfél felé, és most itt vannak.
Utolsó kommentek