facebook LinkedIN LinkedIN - follow
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

ERP v cloudu

Je skutečně pro každou firmu?

Chcete držet krok s dobou a zvažujete přechod na cloudový ERP systém? Není divu. Cloudová řešení jsou bezpochyby trendem a umožňují firmám rychleji rea­go­vat na změny a nové výzvy, kterým musí v dynamickém a neustále se proměňujícím světě podnikání čelit.