HTML

ITÉlet

Egy multinacionális cégnél dolgozó informatikai manager szakmai blogja. Észrevételek, tapasztalatok szoftver fejlesztésről, vezetésről, managementről és hatékonyságról itthoni és külföldi példákon keresztül. Az informatikáról másképp...

Utolsó kommentek

  • 232323: Szóval managernek jó lenni, akkor dől a nagy lé, felelősség meg számonkérés sehol. Krém. (2019.10.31. 15:24) Kirúgják-e a menedzsert ha hibázik?
  • Simon Géza: "A következő forradalmi áttörés, nagy dobás, ami megint tőzsdei felfutáshoz vezet, az nem valamilyen informatikai dolog lesz, hanem egészen más." Ha a generic AI nem informatikai, akkor igazad van.... (2018.02.19. 07:01) Az IT jövője
  • pggp: @AnyTink: Köszi, de én csak egy blog olvasó vagyok, aki jól tudja használni a keresőt ;-) (2017.10.17. 07:19) Milyen volt hazaköltözni?
  • AnyTink: @pggp: :) Gratulálok a család bővüléséhez és a sikeres 'hazatelepedéshez'. Mi most gondolkodunk a hazaköltözésen és jó olvasni mások élményéről! Köszönöm az írásod :) (2017.10.16. 18:49) Milyen volt hazaköltözni?
  • pggp: Tulajdonképpen igen, alakult valami: akocsis.com "2017 április, Dália eloször Szentesen" ;-) (2017.06.06. 21:51) Milyen volt hazaköltözni?
  • Utolsó 20

Azaz miért kevés az akarat és a jó szándék a sikeres informatikai projekthez? Mi akadályoz meg bennünket a jó szoftver elkészítésében?

Azaz miért kevés az akarat és a jó szándék a sikeres informatikai projekthez? Mi akadályoz meg bennünket a jó szoftver elkészítésében?

Holden vetette fel a kérdést az egyik cikkére adott megjegyzések során. Nézőpontja érthető: minden szakma különböző, de mégis minden szakmától elvárjuk, hogy jól végezze a munkáját – a péktől hogy finom ropogós kenyeret süssön, a festőtől hogy csíkmentesen fesse le a lakást, és hogy a programozó által megírt program jól számolja a túlórapénzt. Valamiért ez utóbbi nem mindig sikerül.

Aludva egyet a kérdésre, a következő tényezőket látom:

Szakmai tudás
Ahhoz, hogy a szoftver megüsse a szakmai szintet, megfelelő tudásra, megfelelő programozóra van szükség. Egy amatőr is pont ugyanúgy meg tud írni egy szoftvert, esetleg pont ugyanolyan szállítási határidővel, mint a profi. A különbség a minőség lesz.
Sajnos azt nehéz mérni, hogy az adott fejlesztő milyen szinten áll és mit ad majd ki a kezéből.
Nincs elfogadott, szakmán belüli mérce arra, hogy mi a szükséges tudás szint. Még az sem egységes, hogy kell-e és mennyi elméletet kell egy leendő programozónak megtanulnia.

Sok amatőr
Tény, hogy programozó végzettség nélkül is lehet programozni. Rengeteg „hogyan tanuljunk meg programozni 5 nap alatt” jellegű könyv van. Az ember megveszi, elolvassa, elkészíti élete első Hello World programját, aztán megy sok pénzt keresni. Mert hiszen ő tud programozni.
A jogászok és az orvosok például szigorúan szabályozzák, ki végezhet jogi, illetve orvosi munkát. Ilyen szabályozás az informatikában nincs, és bizony vannak kontárok.

Mi a jó szoftver?
Már csak azért sem lehet jó szoftvert csinálni, mert a „jó szoftver” nem definiálható. Mert milyen is a jó szoftver?
Az ügyfél azt szeretné, hogy jól/könnyen használható legyen, és benne legyenek a kért funkciók. Arra viszont cseppet sem gondol, hogy a szoftver karbantartható, könnyen továbbfejleszthető, alacsony kapacitásigényű, stabil vagy bolondbiztos legyen. A többi 100 kitételt le sem írom…
Az az igazság, hogy az ügyfél általában nem ért az IT-hoz (pont ezért keres egy IT céget), tehát nem tudja definiálni a szoftver „jóságát”.

A szoftver jósága nehezen mérhető
Ha az ügyfél valahogyan mégis tudta definiálni igényeit és a szoftver „jóságát”, akkor hogyan fogja azt mérni? Mert ezek nagy részéhez informatikai tudásra lenne szüksége. Amihez meg nem ért.

Ellenérdek
A tipikus fejlesztési projektben a megrendelő a saját üzletéhez ért, és azért van szüksége az IT vállalkozóra, hogy a szükséges informatikai tudást behozza. Tehát ne csak szoftvert fejlesszen, hanem tanácsadó is legyen egyben.
Rövid és középtávon azonban az IT vállalkozó ellenérdekelt abban, hogy a szakmai nívót lobogtassa, hiszen neki pont az lenne előnyös, ha minél kevesebb ellenőrzés után minél kevesebb hiba megtalálásával az ügyfél átvenné a programot.
Nyilván az IT vállalkozó – már csak szakmai tisztességből – fenntart egy szakmai nívót, és igyekszik az ipari szabványoknak megfelelni, de ezt mindenki a saját belügyének tekinti. És miért vitatná meg egy IT-hoz nem értő emberrel?

Nem csak egy jó megoldás létezik
A szoftver fejlesztés tipikusan az a terület, ahol nem csak egyféle jó út van, és sok egymástól szögesen eltérő módon, technikával vagy technológiával lehet tökéletesen jó szoftvert írni. Még arról is nagy vita zajlik, hogy melyik szoftver fejlesztési módszertant használjuk – van egy pár.
Amikor dönteni kell az egyes megoldások között, az sok apróságon múlik, esetleg szubjektív szempontok alapján, pl. a fejlesztő melyik technológiát érzi jobbnak az adott feladatra.
Mire kiderül, hogy a döntés jó vagy rossz volt, addigra már úgyis késő.

Szabványok nélkül
Az lenne a legjobb, ha létezne egységes szabvány a szoftver fejlesztésre – de nincs. Mert minden technológia más, minden módszertan más, ezért igazából nem az a kérdés, hogy követem-e a szabványt, hanem az, hogy melyiket.
Ráadásul ezek a szabványok nem közismertek. Lehet, hogy a fejlesztő nagyon jó, de nem ismeri a SCRUM-ot, vagy nem tudja, hogy mit jelent az ITIL szerinti szoftver támogatásban.

Folyamatos technológiai forradalom
Ami még rosszabbá teszi a helyzetet: a technológiák folyamatosan elavulnak, miközben újak jelennek meg. A legjobb gyakorlatok folyamatosan változnak. Ha valaki mestere egy technológiának ma, holnap megjelenik egy újabb, és holnapután a fejlesztő tudása már kevéssé releváns.
Nehéz naprakésznek lenni, nehéz eldönteni, hogy most per pillanat melyik műszaki megoldás a legjobb, és hogy megfelel-e a szoftverünk a ma érvényes legjobb gyakorlatnak.

Van igény selejtre
Az ügyfelek (különösen az ügyvezető igazgatók) úgy vesznek szoftvert, mint egy zsák krumplit: a legalacsonyabb ár nyer. Vagyis a korábban említett alacsony szaktudású, és emiatt olcsó informatikusok munkájára van igény. Mivel van rá igény, mindig is lesznek olcsó informatikusok. A kör bezárult.

Hibamentes szoftver nincs
A rossz szoftvert legtöbbször a hibáiról ismerik fel. Tény, hogy a szoftverben – gyártástechnológiától függetlenül – lesznek hibák, és hogy a hibák előfordulását nem lehet 0-ra csökkenteni. Ha 0-ra nem is de, egy elfogadható szint alá még lehet, ha megfelelő eljárásokat alkalmazunk. De hogy a szoftver fejlesztő alkalmazta-e ezeket az eljárásokat, megtett-e minden tőle telhetőt, ezt nehéz ellenőrizni. Mert ha meg is tett, hibák akkor is előfordulnak.

Vezetői kompetenciahiány
Holden vetette fel a vezetők felelősségét.
Mivel a szoftver fejlesztés komoly dolog, ezért úgy gondolom, a jó szoftver készítése, a minőség prioritás kell hogy legyen. A jó szoftver irányába mutató eljárások alkalmazása időt, pénzt és szaktudást igényel, amit vezetői szinten el kell fogadni és támogatni. Ha ez a támogatás nincs meg, akkor az óhatatlanul azt jelenti, hogy a határidő és az alacsony költségek előnyt élveznek – a szoftver nem lesz jó.
Miért nem támogatják a vezetők a minőséget? Mert esetleg gőzük sincs róla, hogy ez mit jelent, és mi lesz a következménye a rossz eljárásoknak. Mert ők nem veterán informatikusból nőttek ki, hanem mondjuk közgazdászból.
A „Határidőre kész kell lenni” kijelentést én nem a szándékos rosszakarás, hanem a kompetenciahiány és a gondatlanság számlájára írom.

Még mielőtt a Kedves Olvasó kétségbeesne, azért elmondom, hogy igenis lehet jó szoftvert csinálni. Íme néhány tipp:

- Tapasztalt informatikusokkal kell dolgoztatni. Kalandorok kíméljenek.

- A tapasztalt informatikusokat meg kell fizetni. Piaci árat adjunk, cserébe versenyképes minőséget várjunk el. Szoftvert lehet olcsón is venni, csak nem éri meg.

- Kipróbált vállalkozót használni, hosszú távú kapcsolatot építeni. Járt utat járatlanért el ne hagyj!

- Jó szoftverhez nem csak jó vállalkozó, hanem jó ügyfél is kell.

- A jó szoftver közös célunk, ehhez mindkét félnek (vállalkozó és ügyfél) sokat kell dolgoznia.

- Ne csak funkcionális igényeket, hanem módszertani és nem-funkcionális igényeket is határozzunk meg. A vállalkozónak is könnyebb ha tudja, mit várnak el tőle.

- Minőségbiztosítás!

- Ne az aktuális hibákra, hanem a hosszú távú kapcsolatra összpontosítsunk. Nem az a jó vállalkozó, aki nem hibázik, hanem az, aki mindent megtesz, hogy ne hibázzon.

- Cipőt a cipésztől – szoftvert csak attól vegyünk, aki tisztában van az IT szabványokkal és azok alkalmazásával a mindennapokban.

- Ne rendeljünk informatikai munkát informatikus segítsége nélkül. Új házat se veszünk szakértő nélkül.

- Hibák mindig lesznek. Nem az a kérdés, hogy van-e hiba, hanem az, hogy hol az elfogadható szint, és meg tudjuk-e a hibákat oldani.

- A problémákat ne „okosba” oldjuk meg, hanem a hivatalos úton. Megalkuvás nélkül. Szívességek helyett professzionális munkát!

Címkék: szoftver szabvány üzlet kapcsolat rossz vállalkozó

A bejegyzés trackback címe:

https://akocsis.blog.hu/api/trackback/id/tr15211379

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

activer 2010.07.22. 17:44:52

Általában soktényezős feladatokat nehéz jól csinálni. Nehéz jó kocsit tervezni és megfelelő minőségben gyártani. Nehéz egy hadsereg logisztikai problémáit jól megoldani. Nehéz egy nagy épületet tervezni, funkcióinak megfelelően kialakítani, jól üzemeltetni. Nehéz egy összetett orvosi problémára jó megoldást adni. Lehet-e egy országot hibamentesen vezetni? Stb. Stb. Stb. ... Éppen ezért vannak rossz autók, amikhez a gyártók "update-ket" adnak ki vagy visszahívnak (kisebb javítgatások). A hadsereg logisztikai problémáit állandó tűzoltással hozzák helyre kézi vezérléssel. A ház tervezőjét és kivitelezőjét szidják, ez nem tetszik, az nem jó stb. Perek születnek. Ki látott már határidőre átadott házat, hidat, metrót? Van-e olyan orvosi beavatkozás, amelynek nincsenek kedvezőtlen mellékhatásai? Egyik professzor nem bírálja-e a másik elveit? A kormányokat pedig 4 évente lecserélik, mert rosszul tették a dolgukat. A szoftver nem valami különleges dolog. Lehet vele hibázni, és hibázunk is. Ahogyan gyártanak rossz kocsikat, rosszul látnak el hadsereget, elrontanak épületeket, orvosi műhibák vannak és országokat visznek politikai csoportok süllyedésbe. Nem kell abban a képzetben élnünk (nekünk, akik IT-ben, szoftverfejlesztésben élünk), hogy amit mi csinálunk, az rossz, pocsék, és minden más tökéletes körülöttünk. Sok más szakma mellettünk ugyanezekkel a gondokkal küzd - a saját specifikus gondjaivel együtt. Ráadásul Lehman már 1980-ban megírta, hogy tökéletes szoftver nincs is, mert nem lehet olyat csinálni. A tippekhez még hozzátenném, hogy lelkiismeretes, elérhető és megszállott emberekkel dolgoztassunk.

deejayy · http://deejayy.hu/ 2010.07.23. 19:23:55

Gyorsaság, Pontosság, Olcsóság. Kettőt lehet választani.

takacsot · http://www.qualityontime.eu 2010.08.12. 13:18:09

Volt erről máshol is téma. Ez jó kiegészítés hozzá: http://www.qualityontime.eu/articles/mit-varjunk-el-egy-szerzodeses-programozotol
süti beállítások módosítása