IT SYSTEM 6/2003

Application mining

Jak překonat rizika outsourcingu vývoje IS?

Ivo Růžička





V současné době se v oblasti informačních a komunikačních technologií (ICT) prosazují dva vzájemně protichůdné trendy: na jedné straně neustále roste význam ICT pro konkurenceschopnost společnosti, na straně druhé zajištění vývoje a provozu informačních systémů (IS) vyžaduje stále více lidských, finančních a technických zdrojů.

V mnoha případech však oblast ICT není nosnou činností podniku a pro mnohé ze společností se tak ukazuje jako finančně a personálně náročné nebo dokonce nemožné, aby si všechny činnosti související s vývojem, provozem a údržbou IS zajišťovaly vlastními silami. Pro udržení konkurenceschopnosti se proto většina firem snaží vytěsnit některé nebo většinu těchto specifických činností mimo podnik - na externí dodavatele komponent a služeb ICT, jinými slovy - realizuje outsourcing. Aplikace outsourcingu v oblasti ICT bývá často rozdělována na outsourcing vývoje a outsourcing provozu. Průzkumy ukazují, že uplatnění outsourcingu ve vývoji pokročilo dále než v oblasti provozu.

Obě oblasti představují potenciální přínos i potenciální riziko. Outsourcing umožňuje společnosti soustředit se na hlavní činnost, snížit operativní náklady, uvolnit lidské zdroje pro jiné účely, zjednodušit organizaci práce a v neposlední řadě předvídat a plánovat náklady na vývoj IS. Rizika, která vyplývají z přenesení vývoje informačního systému na externího dodavatele, souvisejí především s neschopností podniku sledovat práci dodavatele do hloubky a kontrolovat kvalitu dodaného produktu. V případě, že dojde k ukončení spolupráce dosavadním dodavatelem (důvodem může být nespokojenost s dosavadní prací, zánik společnosti dodavatele outsourcingu apod.), je obvykle velmi obtížné, ne-li zhola nemožné, porozumět existující aplikaci a pokračovat v jejím dalším vývoji. Těmto problémům je možné předcházet využitím technologie application mining.

Application mining umožňuje pochopit strukturu a vnitřní funkcionalitu aplikace, vzájemnou závislost polí a souborů a simulovat změny. Nástroje pro application mining jsou tedy mocným nástrojem na sledování a kontrolu práce dodavatele outsourcingu a umožňují zachovat znalosti i po ukončení spolupráce (a to nezávisle na dodané technické dokumentaci).

Application mining je dnes relativně nová oblast softwarového inženýrství. Prostřednictvím této technologie mohou uživatelé nalézt vstupní body aplikace, rozhraní s dalšími příbuznými aplikacemi, její funkcionální dělení, datovou architekturu nebo spojení mezi programy. Díky zajištění dodržování programátorských standardů umožňuje rychlejší zapracování nových členů do týmu a výrazné zlepšení týmové spolupráce. Integrace a migrace různých aplikací je pak výrazně jednodušší, levnější a spolehlivější. Application mining je založeno na technologiích, které analyzují kód a datové struktury aplikací a výsledky analýzy se centrálně ukládají. Tyto informace jsou pak průběžně aktualizovány tak, aby byly vždy k dispozici.

Jak proces Application Mining probíhá?
Nástroje Application mining získávají metadata o struktuře aplikací prostřednictvím pokročilé analýzy kódu a ukládá tyto informace do sdíleného otevřeného repositáře (application warehouse). Data uložená v repositáři jsou dynamická - v případě, že dojde ke změně kódu aplikace se změna promítne také do repositáře. Takto získané informace jsou jednoduše dostupné celému týmu IT po celý životní cyklus aplikace.

Výhody Application Mining u aplikací vyvíjených prostřednictvím outsourcingu:

. Umožňuje udržet klíčové znalosti o aplikaci uvnitř společnosti bez ohledu na to, kdo aplikaci vyvíjí.
. Udržuje intelektuální vlastnictví společnosti i u subkontrahovaných projektů a umožňuje vynutit si u dodavatele systému dodržování požadovaných standardů softwarového vývoje.
. Redukuje dopad změny dodavatele, změny pracovníků vývojového týmu a umožňuje bezproblémové převzetí dalšího vývoje vlastními silami či přesunutí subdodávek na další subjekty.
. Efektivně vyvíjet a udržovat velké robustní systémy je možné pouze s jasným porozuměním, jakou má aplikace strukturu a jaké jsou vazby mezi jednotlivými komponentami.
. Zlepšuje připravenost k provádění změn tím, že společnost má okamžitě aktuální informace o nákladech, požadované komplexnosti a proveditelnosti požadavku na změnu.
. Optimalizuje možnosti interní mobility pracovníků softwarového vývoje.
. Je možné alokovat více zdrojů do nových projektů.
. Zlepšuje přenos znalostí, čímž rapidně zvyšuje produktivitu vývojářů na složitějších aplikacích.
. Zvyšuje kontrolu nad průběhem a kvalitou projektu, a to nezávisle na reportech dodavatele.
. Zvyšuje kvalitu týmové práce - okamžitě lze zjistit, jaké změny provedl někdo jiný, jaký mají tyto změny dopad, a lze včas zabránit negativním efektům těchto změn.
. Umožňuje odhalit a odstranit defekty ještě před implementací, a zabránit tak neúspěchu projektu.
. Podporuje automatizovanou tvorbu programátorské dokumentace.
. Zvyšuje produktivitu softwarového vývoje a snižuje náklady na maintenance

Na trhu lze dnes nalézt dva vedoucí produkty - Cast Application Mining Suite (www.castsoftware.com) a Arcad Observer Suite (www.arcadsoftware.com), které dohromady pokrývají drtivou většinu používaných technologií(Java, Visual Basic, PowerBuilder, Oracle Forms, ASP, JSP, PHP, Delphi, Oracle, Sybase, Microsoft SQL .NET, AS/400 a další).

Autor článku, Ivo Růžička, zastává pozici ředitele obchodní divize společnosti Unicorn Distribution.

Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.


Inzerce

Peníze od Ježíška? V lednu si dopřejte Apple za zlomek původní ceny

Obálka od babičky, příspěvek od rodičů, něco od strýčka. Vánoce jsou pryč, ale peníze zůstaly. Leden přináší jedinečnou šanci pořídit si prémiovou Apple techniku za ceny, které jindy neuvidíte.