Az NJSZT Szoftvertechnológiai Fórumának rendezvényeire ritkán kerül sor, de általában érdekesek. Most sem volt másképp.
A rendezvényről magáról itt lehet olvasni. Az előadás PDF formátumban letölthető innen.
Az anyag elég hosszú (52 oldal), a fő üzenetet kiemelném:
Most software creators are not software professionals.
Végtelenül leegyszerűsítve és dióhéjban: a technológiának köszönhetően ma már a felhasználók is képesek arra, hogy alapvetően szoftvermérnöki feladatokat végrehajtsanak. Ilyen például az Excel makro írás, HTML kód építés copy-paste módszerrel, HTML kódba történő belejavítás, vagy Access alapon üzleti alkalmazás építés.
Habár ezeket a tevékenységeket nem nevezzük szoftverfejlesztésnek, de ezek olyan tevékenységek, amiket szoftverfejlesztők szoktak végezni.
A felismerés az, hogy a felhasználók képesek ezen egyszerű IT tevékenységek végrehajtására. Mary végzett egy felmérést, amiből kiderült, hogy valójában nagyon sok felhasználó nagyon sok „szoftvert” épít, számban messze felülmúlva a „hivatásos” szoftvermérnököket.
A prezentáció az USA-ban több mint 90 millió felhasználóval számol, akik többsége valamilyen módon „programozik”. Ehhez képest a hivatásos szoftvermérnökök száma kb 2.5 millió. Az arányok elképesztőek.
Közbevetés: nem is olyan régen írtam az Árnyék IT ökológiájáról, kb hasonló üzenettel: az IT osztályon túl is létezik IT, a felhasználók saját maguk belevágnak egy-egy szoftver fejlesztésbe (hogy milyen eredménnyel, az más kérdés).
Úgy vélem, hogy darabszámra valóban áll a tétel, azaz többen vannak az automatizált Excel formokat gyártó pénzügyesek, mint a pénzügyi rendszert fejlesztő szoftver mérnökök. Budget szempontjából is hasonló lehet a helyzet – miközben az IT költségeket mindenhol erősen nyírják, addig az üzleti költségvetésben elrejtett árnyék-projektek dagadnak.
Szóval a lényeg a lényeg: sokkal többen vannak a programkészítő felhasználók, mint a programkészítő mérnökök.
Az Internet a legnagyobb és leginkább szem előtt lévő példa (a legnagyobb Ultra Large Scale system). Az interneten rengeteg web oldal és szolgáltatás van, amit nem informatikusok készítettek.
Mivel a felhasználók többen (sokkal többen) vannak, ezért az alapvetőnek számító IT tételek Mary szerint nem érvényesek. Ilyenből rengeteg van, de íme 2: a programozás már nem csak a programról és a GUI-ról szól, illetve nem törvényszerű, hogy egy szoftverfejlesztésnek legyen vezetője.
Mindenképpen érdemes végignézni a prezentációt, mert sok érdemes gondolat van benne. Igaz az, hogy ma már jópár informatikai alaptétel nem érvényes. Ismerjük fel, hogy ma másképp fejlesztünk szoftvert, mint 10 vagy 20 éve, és majd 10-20 év múlva másképp fogunk szoftver fejleszteni.
De azt is érdemes látni, hogy mi a gyengéje a gondolatmenetnek. Mert úgy vélem, habár elgondolkodtató a „Most software creators are not software professionals” kijelentés, de nem igaz.
Legalább 2 ok miatt nem.
1. ok: Mit jelent szoftvert készíteni?
Nagyvállalati környezetben előfordul (elég gyakran), hogy a felhasználóknak elegük lesz saját IT-jukból, és az informatikusok kihagyásával informatikai projektbe vágnak. Klasszikus árnyék projekt. Kimondhatjuk, hogy ilyen mindenhol van. Például a pénzügyön, ahol nem kaptak megfelelő Data Warehouse rendszert ezért fejlesztettek egy Access adatbázist, vagy a marketingen, ahol BI rendszer hiányában kifejlesztettek valami hasonlót Excel alapokon.
Ezek a fejlesztések jól vagy rosszul, de mennek. Amíg a feladat egyszerű, és amíg megoldható copy-paste-tel, addig egész jól haladnak. Az még megy, hogy az interneten vagy a help-ben találnak egy lekérdezést, azt átmásolják és belepiszkálnak.
De ha a feladat meghaladja ezt, akkor megáll a tudomány. Amikor többre lenne szükség, mint a help-ben talált lekérdezés alkalmazására, akkor a „fejlesztési projekt” megtorpan és összeomlik.
Ilyenkor derül ki, hogy valójában a felhasználók nem programoztak, hanem csak utánozták a programozást. De ez csak utánzás volt. Messziről, illetve elemeiben programozásra hasonlít. Amint igazi, bonyolult programozási feladat kerül elő, azzal nem tudnak mit kezdeni.
És itt eljutottunk ahhoz, mi is a programozás definíciója. Analógiának megfelelő a házépítés. Tegyük fel, hogy levisz pár cserepet a szél a tetőről, tehát veszek a boltban új cserepet, hétvégén felmászok és megjavítom magam. Ez egy olyan tevékenység, amit a kőműves, az építész végez – ergo én házat építek és építész vagyok. Pedig nem csak utánoztam a kőművest. Halvány lila lövésem sincs, hogyan kell rendesen tetőt fedni, csak reménykedek benne, hogy jól csinálom, és a következő szél nem fogja levinni a cserepet. Ez nem más, mint szerencsejáték. Tudom, hogy nem vagyok kőműves, soha nem is állítanám magamról ezt. Ha ezt az analógiát elfogadjuk, akkor bizony a felhasználók sem készítenek programot.
2. ok: Nem az emberek száma, hanem a teremtett érték számít
A felmérés a mérnökök és a felhasználók számát arányosítja. Na most ez szerintem részrehajlás, hiszen nem az emberek száma a lényeg, hanem amit letettek az asztalra. Ha megnézzük egy vállalatnál, hogy mik a fő informatikai szolgáltatások és rendszerek, összevetve a szoftvermérnökök és a felhasználók által készített termékeket, akkor hiába látjuk a felhasználók óriási számú produktumát, de azok összességében jelentéktelenek.
Például hiába gyártanak le a könyvelők 200 darab automatizált Excel táblát, de a pénzügy lényegét mégiscsak a SAP adja – amit mérnökök fejlesztettek és mérnökök tartanak karban. 200 Excel tábla nem összehasonlítható az 1 darab SAP modul teljesítményével, és a vállalat számára termelt értékével.
Ugyanez a helyzet, ha az Internetet (mint a prezentációban többször emlegetett példát) tekintjük. Igaz, hogy az internet felhasználók jelentős része nem mérnök. De az Internet képét olyan cégek és alkalmazások formálták, mint a Facebook, a Google vagy Twitter – amiket egy csoport szoftver mérnök készített és tart karban. Hiába a felhasználók milliói, az a pár tucat mérnök mégiscsak túltesz rajtuk.
Annak ellenére, hogy nem igaz a kijelentés, azért még érdemes a gondolatmenettel foglalkozni.
Például azzal, hogy a felhasználók egyre több feladatot tudnak átvenni a mérnököktől, illetve hogy egyre több informatikai feladat végrehajtásához nem lesz szükség diplomás mérnökre. Idővel egyre több és több feladat végrehajtható mérnök nélkül – de sosem fogjuk elérni azt a pontot, amikor nincs szükség mérnökre. Mert mérnökre mindig szükség lesz.
Az is igaz, hogy a diplomás mérnök és a technológiához nem értő felhasznál között széles a skála. Ott vannak a wannabe programozók, a kódvető kisiparosok, a web site specialisták, vagy az otthon 3 szerveres hálózatot üzemeltető pénzügyi igazgató.
A történet az a része is igaz, hogy a szoftver fejlesztés változik, bizonyos mértékben. De az, amit az egyetemen tanultunk programozás címszó alatt, az megmarad. Radiális változások nincsenek és nem is lesznek, apró változások igen.
Például az bizonyos, hogy 50 év múlva is a fejlesztési projektet projektvezető vezeti, egy személyben, központosított módon. (Ez ugyanis a vállalatok működési sajátossága, semmi köze sincs az aktuális IT trendekhez.)
De az már kevésbé bizonyos, hogyan fogjuk 50 év múlva kezelni a felhasználói igényeket.
Utolsó kommentek