Azt hinnénk, hogy a számítástechnika egzakt mérnöki tudomány. Egyértelmű műszaki technikai szabályok alapján kell meghozni a tervezési és kivitelezési döntéseket, aminek az eredménye kiváló szoftvertermék. Az egyes helyzetekre léteznek vitán felül álló, bevált megoldások, amik megtanulhatóak, és szisztematikusan alkalmazandóak. Bárcsak így lenne!
A valóságban a számítástechnikai rendszerek tervezése sokkal inkább művészet, ahol a tervezőnek az intuíciója, tehetsége és tapasztalata alapján kell mérlegelnie az adott szituáció finom részleteit is. Vegyünk egy példát: tervezzünk egy űrlapot, amin az irodaházak bérlői be tudják jelenteni a problémáikat a gondnokság felé. Ezen az űrlapon meg kellene adni a probléma minél pontosabb helyét is, hogy a karbantartó szerelők odataláljanak. Vajon melyik megoldás lenne az igazi az alábbi kettő közül?
A-megoldás: a bejelentő kötelezően válassza ki a felbukkanó értéklistából az ingatlant, épületszárnyat, emeletet és szobaszámot. Mérnöki szemmel ez lenne a precíz, valóságot legjobban lekövető megoldás. A karbantartók pontosan tudnák, hova kell menniük, és rendszer szinten is helyiség pontosságú statisztikákat lehetne készíteni a bejelentésekről. Csakhogy nem ez az egyetlen, de még csak nem is ez a legfontosabb tervezési szempontunk. Egy ilyen képernyő hármas terhet ró a felhasználókra minden alkalommal, amikor bejelentenek – e miatt utálkozni fognak. További gond, hogy az üzemeltető cég adminisztrátorainak folyamatosan naprakészen kell tartaniuk az épületek, emeletek, helyiségek nyilvántartását, ami több tucat vagy száz ingatlan esetében nem egyszerű feladat. A precizitás árát ez esetben igen komoly adminisztrációs munkával kell megfizetnünk:
B-megoldás: a bejelentő az ingatlan kiválasztása után egyetlen szabad szöveges mezőbe írja bele, hová várja a szerelőket. Első látásra primitív megoldásnak tűnik, de a felhasználók imádni fogják a csodásan egyszerű űrlapot. Az adminisztratív teher szinte zéró, ami azt is jelenti, hogy szinte azonnal be lehet majd vonni a rendszerbe egy-egy új ingatlant. Az adataink természetesen meglehetősen pontatlanok lesznek, nem tudunk helyiség szintű statisztikákat készíteni – de meglehet, hogy ilyenre senkinek nincs is szüksége. Ha a helyszínt jól ismerő technikusaink vannak, akkor ez teljesen működőképes megoldás lesz:
A részletek mérlegelése nélkül nem mondható ki, hogy egyik megoldás jobb lenne, mint a másik. Tudnunk kell, mi is az üzleti célja a rendszernek: a bérlőknek akarunk kényelmi funkciót adni, az üzemeltetőknek készítjük a rendszert vagy a menedzsment bízott meg minket, mert átláthatóbb működést szeretnének? A hatékonyság fokozása a fontosabb, vagy a dokumentáltság szintjét kell növelni? Sok vagy kevés épületről és helyiségről van szó? A bejelentők a problémásabbak vagy a helyszínre kiszálló technikusok? Egy jó tervezőnek a célokat, arányokat és a hangsúlyokat figyelembe véve kell döntést hoznia, cseppet sem gépiesen, hanem finom intuitív módon.
Művészek, akik vagyunk 😉