Roger Sessions, az ObjectWatch technológiai igazgatója és szoftver szakértő az IT projektek sikertelenségének legnagyobb okaként a túl nagy komplexitást határozta meg. Szabadalmaztatott módszert dolgozott ki, amely segít sikeres formára hozni a nagy rendszereket.
Sok mindent szokás hibáztatni egy IT projekt bukásáért, a metodológiát, a kommunikációt, egyes személyeket, stb. Mindössze egyetlen tényező van azonban, mely mindig jelen van a bukásnál, és ez a komplexitás. Sessions felvetése szerint ahogy egy rendszer nő, nagyobb és drágább lesz és ezzel együtt összetettebb - az összetett rendszerekkel azonban nehezebb bánni és emiatt hajlamosabbak a bukásra. Sessions becslései szerint a 750 ezer dollárnál kisebb költségvetésű projektek esélye a sikerre nagyon jó, de a 2 milliós nagyságrendben már csak alig 50 százalék. Az ennél lényegesen nagyobb munkák esetében végül sikeresség esélye közelít a nullához.
A bukás szlogenje: bárcsak ne kezdtük volna el!
Sessions terminológiájában a bukás az, ha a vállalkozás a projekt bevezetése után visszanéz és azt mondja: ha ezt mind tudtuk volna a legelején, akkor nem kezdtünk volna bele.
Nagyon erőteljes példa erre az Egyesült Királyságban a National Program for Information Technology, mely a betegellátó rendszer IT infrastruktúráját volt hivatott biztosítani. Sessions három évvel ezelőtt megjósolta a projekt eredménytelenségét, amely mostanra be is jött: a 20 milliárd dollár értékű programot felszámolják és tiszta lapról indulva építenek új megoldást.
Sessions szerint ez egy extrém nagy példa, a legtöbb bukás a 2-4 millió dolláros rendszerek produkálják, ezek kevesebb mint fele teljesít. (A szakértő nem saját becsléseire, hanem másokéra, például az ACM - Association for Computing Machinery - 2007-es adataira alapoz.) Ezzel szemben a kisebb, 1 millió alatti értéken létrehozott projektek 75 százalékban sikeresek. Tíz millió felett már csak 10 százalék esély van a sikerre.
Tartsuk egyszerűen
Sessions ad néhány segítő szándékú tippet. Először is, ne csináljunk túl komplex rendszereket, csináljunk inkább kicsiket. Sessions ajánlja a szabadalmaztatott Simple Iterative Partitions (SIP) módszertant az egyszerűség fenntartásához a tervezés során. Ez az első szabadalom, amely együttesen foglalkozik az üzleti és IT folyamatok párhuzamos egyszerűsítésével - mint ahogy a kér struktúra elkerülhetetlenül összefügg.
Fotó: Carlos Sotelo
A nagy rendszerek széttördelésével redukálható a funkcionalitás és az összetettség, valamint az ár is. Cél, hogy az egyes rendszerek esélye a sikerre legalább 75 százalék legyen. Csakhogy ezzel a törekvéssel párhuzamosan a kis rendszerek közti függések erősödnek, ami nagyobb komplexitáshoz vezet, így ott vagyunk, ahol a part szakad.
A síp erőssége, hogy matematikai módszerekkel keresi az optimumot a két ellentétes irány között, azaz az alrendszerek egyszerűsége mellett igyekszik visszafogni a rendszerek közötti függőségek okozta komplexitást is. Mivel a partíciók meghatározása is matematikai alapon megy - ellentétben a SOA-val, ahol többé-kevésbé önkényes -, a rendszer felépítése során biztos tartható a kis összkomplexitás is.
Nem kell feltétlenül felhő
Sessions szerint a felhők sokmindenre megoldást adhatnak, de sokszor csak a komplexitás egy újabb szintjét jelentené a bevezetésük. Nagy hiba lenne egy nagy, komplex rendszer felhőre vinni, nem csak azért, mert ez nehéz, igen bonyolult feladat és nehezen is menedzselhető, de azért is, mert ott állunk majd a végén egy óriási rendszerrel, odaláncolva egy beszállítóhoz. Fel kell tenni olyan kérdéseket is a partíciókkal kapcsolatban, hogy vajon érdemes-e egyáltalán szolgáltatás-orientált architektúrát követni? Érdemes-e a felhőt alkalmazni? Mindezeket a kérdéseket csak azután érdemes feltenni, hogy a síp segítségével már hatékonyra particionáltuk a projektet.
Mi van a már futó-döcögő óriásrendszerekkel?
A sok esetben leálló, hibázó rendszereknek általában megvannak a tipikus hibát okozó pontjai. Mindig van néhány csomópont, ahol a komplexitás nagyon magas, gyakran itt a hibaforrás. A másik tipikus eset, hogy a más rendszerekkel való együttműködés hibádzik. Nagyon sokszor architekturális probléma van a háttérben, például egy funkciót nem a megfelelő partícióban valósítottak meg, ha ezt jobb helyre telepítjük át, akkor az összkomplexitás nagy mértékben csökken.
Jön az IT nagy leállása?
Sessions arról híresült el, hogy nagy problémákat, afféle katasztrófát jósol az IT-ben. Ennek lényege ismét a gyilkos komplexitás: a rendszerek már eleve nagyon összetettek, közel ahhoz a szinthez, ahol borítékolható a bukás és a komplexitás egyre nő. Esik a siker esélye, a hibák megdrágítják a rendszert és az spirálba kerül, végül végzetébe zuhan. A kérdés Sessions szerint az, hogy ?Mennyi pénzt költünk még bukott IT rendszerekre, mielőtt elismernénk, hogy szétestek?"
Végül Sessions mondása, melyet érdemes megfontolni minden rendszertervezőnek: ?Azon gondolkodj, hog ymit tudsz megvalósítani egymillió dollár alatti áron, mert jobb, ha van valamid egymillióért, ami működik, mint ha 10 millióért nem működik semmi sem."
A részletes interjú a Network World-ben jelent meg.