Kvalita a management Nejsme tak bohatí, abychom mohli šetřit (na kvalitě) Nestačí vám výkon procesoru, kapacita disku? Nevadí - koupí se rychlejší procesor, více paměti, větší disk. Asi každý to tak řeší, tedy každý domácí uživatel. Neplatí to však už u podnikových systémů. Přístup "hrubou silou" už není únosný. S omezenými investicemi musejí existující systémy odvádět více práce i bez přikupování výkonnějšího hardwaru. Ten má rezervy, protože většina systémů je vzhledem ke své nedostatečné pružnosti využívána jen na zlomek kapacity. Důraz je kladen na maximální využití systému, tedy i na kvalitu a bezchybnost softwaru (dále jen SW). Podle průzkumů nejsou škody způsobené chybami softwarových aplikací nijak vzácné a z nich plynoucí ztráty bývají značné. KVALITA VÝVOJE SW Kvalita SW závisí především na dokonalosti procesu jeho vývoje. Ve vývoji kvalitního SW je světovou autoritou SEI (Software Engineering Institute), výzkumné centrum při Carnegie Mellon University v Pittsburghu, sponzorované Ministerstvem obrany USA. Už v osmdesátých letech vytvořilo model SW-CMM (Capability Maturity Model for Software - model vyspělosti pro software). Ten má pět úrovní, poskytujících vývojářům vodítko k postupnému a stálému zdokonalování práce. Vychází z poznatku, že přechod na nejvyšší úroveň kvality práce musí probíhat postupně, s definovanými cíli jednotlivých etap, které jsou předpokladem k přechodu do dalších úrovní a nemohou být vynechány. Popis modelu CMM lze nalézt na uvedených adresách, proto jen stručně: První úroveň, zvaná chaotická, neznamená žádnou procesní vyspělost. Je to pouze výchozí úroveň, charakterizovaná improvizací managementu i expertů a ad hoc přístupem bez řádného plánování a řízení. Pro manažery je vývoj neprůhlednou "černou skříňkou". Termíny i náklady se určují jen odhadem, což vede k jejich neplnění a následně ke šturmování a "hašení" nejpalčivějších problémů. Činnosti, které nevedou bezprostředně k plnění závazků, jsou zanedbávány, což snižuje kvalitu práce. Cílů je dosahováno jen díky neúměrnému vypětí pracovníků a úspěch organizace je založen hlavně na práci vynikajících jedinců, "guru" ve svém oboru. Druhá úroveň, opakovatelná, už využívá základní mechanismy řízení a sledování projektů - to je založeno na zkušenostech z podobných zakázek. Manažeři mohou sledovat kvalitu a plnění projektu alespoň v několika kontrolních bodech, většinou mezi jeho etapami. Třetí úrovně zvané definovaná dosáhne organizace ustavením nejen manažerských (řídicích a plánovacích) procesů, ale i vlastních procesů vývoje a jejich integrací do standardních softwarových procesů. V nich jsou definovány standardy a techniky i kontrolní mechanismy a kritéria vývoje, umožňující plánovat a průběžně kontrolovat jeho postup. Tyto procesy se stávají součástí činnosti pracovníků organizace, což vede k dalšímu zvýšení kvality a efektivnosti práce. Definovány jsou i čtvrtá a pátá úroveň, které zavádějí přesné, statisticky podložené řízení kvality vývoje SW a jeho optimalizaci. Odpovídajících kvalit však bylo dosaženo jen v nevelkém počtu organizací a projektů. Ohodnocení CMM nemá charakter certifikátu - slouží hlavně pro hodnocenou organizaci jako měřítko jejího postupu v procesu zdokonalování vývoje SW. V České republice dosáhla ohodnocení CMM třetího stupně podle našich informací jako první a zatím jediná skupina vývojářů Motorola Czech Systems Laboratories v Rožnově pod Radhoštěm, pracoviště, které působí jako celosvětové Centre of Excellence pro řízení elektrických motorů. Vyvinutí kvalitního SW je jen počátkem, důležité je i to, jakým způsobem je implementován a jak efektivně je využíván. Tímto problémem se zabývají největší softwarové firmy a zástupci dvou z nich koncem roku 2003 navštívili Prahu, aby dále rozvinuli aktivity na našem území. Byli to Irene Dawson, EMEA Senior Vice President firmy Compuware, a Jason Phippen, EMEA Product & Marketing Director firmy Veritas, kteří nám v rozhovorech představili své firmy a produkty. VÝVOJ A IMPLEMENTACE Společnost Compuware poskytuje produkty a profesionální služby, pomáhající vyvíjet, testovat, implementovat a spravovat kritické podnikové aplikace. Oblast její činnosti přibližuje graf, znázorňující náklady, resp. zisky při dvou průbězích zavádění aplikace. Průběh A přináší úspory vyplývající jednak z vyšší kvality a/nebo spolehlivosti aplikace (2), jednak z její rychlejší implementace (1). Proto firma poskytuje nástroje pro měření a řízení výkonnosti aplikací, pro sledování jejich spolehlivosti, odstraňování chyb apod., ale i nástroje pro modelování a automatizaci obchodních procesů, pro urychlení vývoje, pro odlaďování a detekci chyb a v neposlední řadě i pro simulaci reálného provozu aplikací ještě v testovacím prostředí (zavedení nedostatečně prověřené aplikace může způsobit značné ztráty). Nástroje jsou jen základem, Compuware ve svých řešeních klade důraz i na další složky. To jsou jednak lidé, schopní nástroje využívat, jednak ověřené metodologie a procesy. Ani to však nestačí, důležité je také dodržování disciplíny, zaručující, že žádný z podstatných prostředků implementačního procesu nebude zanedbán. Za nejdůležitější považuje Compuware komunikaci mezi IT specialisty tvořícími aplikace a odborníky schopnými definovat obchodní cíle společnosti - i sebekvalitnější aplikace je samoúčelná, když nepřináší maximální užitek. CARS je integrované řešení pro podporu implementace a řízení kvality aplikací. Zajišťuje sledování všech projektů a procesů během celého životního cyklu aplikací a poskytuje nástroje pro sledování a řízení jejich kvality. Je určeno pro spolupráci s nástroji dodávanými firmou Compuware, ale umožňuje i použití produktů jiných výrobců. SPRÁVA SYSTÉMU A DAT Firma Veritas je pojmem především v oblasti zálohování a obnovy dat. I ji přivedly požadavky moderní IT ke zdůraznění významu efektivnosti systémů. K tomu zavádí koncepci utility computing, v níž jsou služby IT poskytovány za úhradu podle hodnoty poskytnutých služeb podobně jako dodávky energie či vody. K tomu musí být systém vždy dostupný, musí být schopný poskytovat uživateli v pravý čas požadované zdroje a musí stále optimalizovat výkon aplikací, aby mohl dodávat požadovaný výkon. Předností řešení firmy Veritas je to, že nenabízí obnovu celého systému, ale díky otevřenosti svých produktů může modernizaci systému řešit čistě softwarovou cestou. Důležitou roli v současných systémech hraje virtualizace, tedy schopnost pružně dělit a přidělovat existující výpočetní zdroje podle aktuální potřeby. Virtualizace není vlastně nic nového, v oblasti mainframe se užívá již dávno. Protože jde v podstatě o back-end technologii, vyžaduje dostatek front-end řešení i v oblasti otevřených heterogenních systémů. Virtualizace nejdále pokročila v paměťových zařízeních, tedy v oblasti, v jejímž řízení (a tedy i ve virtualizaci) je firma Veritas na světové špičce. Po nedávné akvizici firmy Jareva však posiluje svou působnost i v oblasti správy serverů. Firma Veritas je také významným dodavatelem klastrových řešení. Technologie klastrů či gridů, tedy spojování jednotlivých zařízení do těsně spolupracujících celků, je vlastně druhou stranou téže mince jako virtualizace - existující prostředky (servery, procesory, diskové či síťové jednotky) je nejprve nutno spojit, a teprve potom je lze podle potřeby rozdělovat. Utility computing, on-demand či adaptive computing, N1 a podobné strategie každá svým způsobem směřují k témuž cíli - systému, který plně odpovídá potřebám zákazníka. Nejde už jen o hardwarový či softwarový problém, ale spíše o správu systémů a procesů. Důraz je nyní kladen především na plnění obchodních cílů zákazníka, což je problematika, která ještě nedávno byla doménou konzultačních společností. A CO BĚŽNÍ UŽIVATELÉ? Mezi běžnými uživateli snaha o efektivní využití hardwaru ještě nezdomácněla, ale "první vlaštovky" již existují. Příkladem může být SETI@home - projekt na principu grid computingu, v němž můžete svůj počítač zapojit do pátrání po mimozemských civilizacích. A vlastně zadarmo - využívá se volné kapacity vašeho počítače, který není plně vytížen, ani když vy jste plně zaměstnáni třeba prací v některém "office" programu. Dalším příkladem může být umístění více operačních systémů na jednom disku, nebo dokonce vytvoření několika virtuálních počítačů na jednom stroji. Tato řešení mají přednost především ve větší pružnosti a užitné hodnotě systému, ale například pokročilá řešení firmy WMware podporují i funkce užívané v managementu "velkých" systémů. Josef Chládek INFOTIPY www.sei.cmu.edu/cmm/cmms/transition.html Originální informace o modelu SW-CMM www.lbms.cz/Reseni/Produkty/ informace_IT_Management_model.htm Informace o modelu SW-CMM v češtině http://seir.sei.cmu.edu/pml/ Seznam organizací, které dosáhly ohodnocení podle CMM www.compuware.com/products/CARS Komplexní řešení řízení efektivity aplikací od společnosti Compuware www.veritas.com/utilitycomputing Princip utility computing podle firmy Veritas http://setiathome.ssl.berkeley.edu Domovská stránka projektu SETI@home