Pożytek ze skrupulatności

Nawet niewielkie przedsiębiorstwa stają przed koniecznością samodzielnego zaprojektowania i wykonania aplikacji. Do usprawnienia tego procesu przydaje się nowa klasa narzędzi do zarządzania cyklem życia aplikacji ALM (Application Lifecycle Management). Porządkują one proces tworzenia i przynoszą firmom realne oszczędności związane z usprawnieniem projektowania całego systemu.

Nawet niewielkie przedsiębiorstwa stają przed koniecznością samodzielnego zaprojektowania i wykonania aplikacji. Do usprawnienia tego procesu przydaje się nowa klasa narzędzi do zarządzania cyklem życia aplikacji ALM (Application Lifecycle Management). Porządkują one proces tworzenia i przynoszą firmom realne oszczędności związane z usprawnieniem projektowania całego systemu.

Nie ma chyba w Polsce przedsiębiorstwa, którego prezes co najmniej raz nie zastanawiał się nad tym, czy zamiast ogromnych sum płaconych za systemy dostarczane przez firmy informatyczne, nie lepiej we własnym zakresie zaprojektować i wdrożyć potrzebne narzędzia informatyczne. Mimo rozbudowanej oferty systemów dla małych i średnich przedsiębiorstw, przed taką koniecznością stają nawet stosunkowo niewielkie firmy.

Samodzielne napisanie systemu może być sensowną i tanią alternatywą dla aplikacji sprzedawanych przez duże firmy. Zwłaszcza tam, gdzie w grę wchodzą rozwiązania niestandardowe wymagające tworzenia całkowicie nowego systemu. Niestety, samodzielne tworzenie aplikacji jest obarczone dużym ryzykiem. W firmach, które na co dzień nie realizują rozbudowanych projektów informatycznych, nie zatrudniają doświadczonych kierowników projektów oraz programistów i nie mają wprawy we współpracy z zewnętrznymi dostawcami piszącymi systemy na zamówienie, jest to poważny problem.

Wspomóc proces tworzenia

Menedżerowie planujący rozwój aplikacji zapominają o istotnych funkcjach, które muszą być potem dopisywane do tworzonego systemu. Analitycy odzwierciedlający funkcje w systemie dowolnie interpretują sobie założenia dotyczące projektowanych rozwiązań, przez co ostateczna wersja funkcjonalna mocno odbiega od oczekiwań osób odpowiedzialnych za przygotowanie całego projektu. Niezależnie od tego swoją porcję błędów dodają do tworzonego rozwiązania programiści. Dlatego stworzenie całego systemu trwa dwa razy dłużej i kosztuje trzy razy więcej niż zakładano.

Pomocne w takiej sytuacji mogą się okazać systemy do zarządzania życiem tworzonych aplikacji ALM (Application Lifecycle Management), pozwalające na kompleksowy nadzór nad projektowanymi systemami - od momentu zdefiniowania problemów i procesów, które mają być zinformatyzowane w firmie, poprzez opracowanie systemu, jego testowanie i wdrożenie, aż po utrzymanie aplikacji.

Narzędzia tego typu pomagają w rozwiązaniu podstawowego problemu, z którym borykają się firmy projektujące we własnym zakresie systemy informatyczne - kłopotów w komunikacji pomiędzy działem IT a analitykami biznesowymi i przyszłymi użytkownikami systemów. Na tych ostatnich systemy typu ALM wymuszają precyzję w sformułowaniu wymagań stawianych przed systemem. Minimalizują więc ryzyko porażki projektu wynikającego z nieprzemyślanego tworzenia tych założeń. Informatyków zaś zmuszają do większej precyzji w odzwierciedlaniu wymagań strony biznesowej w tworzonym rozwiązaniu.

Dla małych i średnich

Po co mała i średnia firma miałaby inwestować w zakup tego typu narzędzi, stosowanych dotychczas przede wszystkim przez największe korporacje? Przede wszystkim, aby poprawić jakość tworzonych samodzielnie systemów informatycznych. Systemy ALM ułatwiają bowiem wychwytywanie błędów i nieścisłości już na wstępnym etapie definiowania założeń do systemu. Dzięki sformalizowaniu procesu tworzenia oprogramowania sprzyjają podwyższaniu kwalifikacji osób zaangażowanych w projekt rozwoju aplikacji. Z tych samych powodów pozwalają na optymalne zaplanowanie prac nad tworzonym systemem. W ten sposób - odpowiednio wykorzystane - gwarantują, że nawet duży projekt tworzenia nowego systemu nie zdezorganizuje funkcjonowania całego przedsiębiorstwa.

Co bardzo ważne, systemy ALM mogą być przydatne nie tylko dla programistów, ale także dla osób, które zajmują się projektowaniem strony funkcjonalnej systemu. W założeniach mają służyć koordynacji wszystkich grup zajmujących się projektem: menedżerów planujących i projektujących nowy system, architektów systemowych, analityków oraz osób zajmujących się programowaniem i testowaniem.

Etapy pracy

Systemy do zarządzania życiem tworzonych aplikacji pomagają już na wstępnym etapie pracy nad nową aplikacją, tj. podczas jej definiowania. Umożliwiają zebranie w jednym miejscu wszystkich funkcjonalności, które powinny znaleźć się w systemie. To dyscyplinuje osoby odpowiedzialne za planowanie nowych funkcji i zmusza je do sformułowania swoich potrzeb już na pierwszym etapie prac. W efekcie oznacza to ogromne oszczędności. Najbardziej kosztochłonnym elementem każdego projektu jest bowiem dopisywanie do systemu funkcji, które nie były przewidziane w pierwotnym projekcie. To burzy harmonogram całego przedsięwzięcia i najczęściej oznacza dziesiątki, a nawet setki tysięcy złotych dodatkowych wydatków, np. na zaangażowanie dodatkowych ludzi albo modernizację sprzętu kupowanego na potrzeby nowego systemu.

Założenia wypracowane w trakcie definiowania systemu ulegają później dalszemu doprecyzowaniu i uszczegółowieniu. Wszystkie informacje na temat powstałych w trakcie tworzenia zmian są śledzone przez system, choćby po to, aby w razie wystąpienia problemów cofnąć się o kilka etapów do pierwotnych ustaleń na temat systemu. Gotowy projekt jest podstawą do sporządzenia pierwszej wersji kodu źródłowego aplikacji, testowanego później pod kątem efektywności, wydajności, skalowalności i niezawodności. Dzięki wyraźnemu udokumentowaniu wymagań łatwiej zaplanować odpowiednie testy, a więc szybko wykryć wszelkie pomyłki, których usunięcie później oznaczałoby ogromne koszty.

Dobrze zaprojektowany i wykonany system to niższe koszty związane z jego wykorzystywaniem, wynikające z niewielkiej liczby oprawek i rozbudową. Zwłaszcza w sytuacji, gdy w systemie ALM są zawarte wszelkie informacje na temat projektowania systemu, dopisanie kolejnych, dobrze zaprojektowanych funkcji jest stosunkowo proste.

Nauka na własnych błędach

Uporządkowanie i ustrukturyzowanie procesu projektowania systemów informatycznych ma jeszcze jedną zaletę, istotną zwłaszcza z punktu widzenia mniejszych firm. Pozwala ich pracownikom uczyć się na własnych błędach. System łatwo wykrywa podstawowe błędy popełniane podczas projektowania i programowania, a dane na temat wszelkich niezgodności mogą zostać wydrukowane w formie raportów. W ten sposób uczą się nie tylko programiści, ale i menedżerowie projektujący system.

Wdrożenie aplikacji ALM może rozwiązać jeszcze jeden problem, z którym borykają się przedsiębiorstwa z sektora małych i średnich przedsiębiorstw, tj. fluktuacji personelu. Niemal każda firma co najmniej raz miała problemy z powodu odejścia specjalisty, który doskonale znał rozwiązania informatyczne stosowane w danej firmie. Wraz z nim "znikała" wiedza na temat systemu. Jednak dzięki wykorzystaniu podczas projektowania systemów ALM cała wiedza na temat tego, "jak została stworzona dana aplikacja" zostaje zachowana. Na podstawie przechowywanych danych można więc stworzyć dokumentację, dzięki której później będzie rozwijany system.

Nie dla wszystkich

Aplikacje typu ALM nie są oczywiście rozwiązaniami dla wszystkich. Na pewno nie mają sensu w przedsiębiorstwach, które działają w najpopularniejszych branżach. Tego typu firmy mają najczęściej do dyspozycji bogatą ofertę systemów i usług informatycznych. Wdrożeniem rozwiązań do zarządzania życiem aplikacji powinny zainteresować się przede wszystkim firmy, które mają własne - nawet nieliczne - działy informatyki. Zwłaszcza zaś te, które działają w ściśle wyspecjalizowanych segmentach rynku, a więc są niejako skazane na samodzielne projektowanie i modyfikowanie systemów informatycznych.

Systemy ALM to stosunkowo nowy segment rynku informatycznego. Firmy skazane są więc na kilku jedynie dostawców. Dziś narzędzia tego rodzaju mają w ofercie m.in. Borland i Computer Associates. Wkrótce na rynku pojawią się pakiety Microsoftu (Visual Studio 2005) i IBM (platforma Rational Atlantic). Z czasem wybór ten stanie się większy, gdyż nad pomysłem zaoferowania podobnych pakietów zastanawia się wielu innych dostawców.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200