Analiza przedwdrożeniowa, a powodzenie projektu

Dlaczego warto dobrze poznać swój system jeszcze przed jego wdrożeniem.

Projektowany system IT powinien najogólnie mówiąc realizować założone funkcje i spełniać wyznaczone cele. Jak jednak można zauważyć, nie każdy projekt kończy się sukcesem. Co zatem wpływa na jego pomyślną realizację?

Projekt informatyczny jako proces tworzenia danej aplikacji, to szereg etapów i działań, które dążą do stworzenia systemu dostosowanego do wymagań Klienta. Przyglądając się poszczególnym fazom projektu, dochodzimy do wniosku, że krytycznym czynnikiem, w dużej mierze warunkującym powodzenie takiego projektu jest analiza przedwdrożeniowa.

Czym jest analiza przedwdrożeniowa i dlaczego jest ważna?

Analiza przedwdrożeniowa, której jednym z efektów jest projekt funkcjonalny, to szereg działań podejmowanych na etapie przygotowania projektu informatycznego. Ich głównym celem jest przełożenie założeń biznesowych na założenia technologiczne. Można więc powiedzieć, że jest to określenie specyfikacji wszystkich prac, które należy wykonać, by z powodzeniem wdrożyć dany produkt.

Oczywistym powinno wydawać się, że jakiekolwiek działanie, czy to wdrożenie czy dostosowanie danego systemu, powinno być poprzedzone etapem analizy. Niestety wielu przedsiębiorców, jak również i dostawców, nie docenia znaczenia analizy przedwdrożeniowej. Dla Klientów niejednokrotnie jest to zbędne działanie, które generuje tylko niepotrzebne koszty i niewiele wnosi do projektu. Bardzo często pokutuje tu podejście „po to wybieram doświadczonego dostawcę, by wiedział jak ma TO zrobić”.

Dostawcy natomiast często pomijają temat ze względu na ryzyko, iż dostarczane przez nich oprogramowanie okaże się nieodpowiednie dla konkretnej firmy. Często też, zamiast odpowiednio przeprowadzonej analizy potrzeb przedsiębiorstwa, powstaje jedynie dokument opisujący możliwości wdrożenia konkretnego systemu.

Błędne postrzeganie analizy czy to z jednej, czy drugiej strony prowadzi do pojawienia się wielu problemów na etapie prac programistyczno-wdrożeniowych.

Dla przykładu wyobraźmy sobie sytuację: Właściciel sieci sklepów chce rozszerzyć swoją działalność i rozpocząć sprzedaż przez Internet. Znajduje zatem Software House specjalizujący się we wdrożeniach sklepów internetowych i wysyła zapytanie ofertowe, w którym krótko i zwięźle informuje o swoich potrzebach. W tym momencie pojawia się pytanie jak ma wyglądać taka oferta, skoro w zapytaniu przesłano jedynie szczątkowe i bardzo ogólne informacje?

Posłużę się tu dość prostym porównaniem – pewna osoba planuje budowę domu jednorodzinnego. Czy w tej sytuacji również zwraca się do dewelopera z zapytaniem o koszt budowy, podając jedynie metraż nowego domu i ilość pomieszczeń jakie mają się w nim znaleźć? Zgaduję, że nie…

Mimo to, przedstawiona powyżej sytuacja bardzo często występuje na rynku IT. Napływające zapytania ofertowe są niejednoznaczne i bardzo ciężko jest określić zakres prac projektu, a tym samym budżet czy harmonogram.

Jak zatem tworzone są wyceny usług IT? Możliwości jest 3.

  1. Firma bardzo szybko wysyła swoją uniwersalną ofertę bez dodatkowego ustalania szczegółów. Jest ona jednak, tak jak sam zakres projektu, bardzo ogólna, a widełki budżetu czy harmonogram są szerokie.
     
  2. Wersja pośrednia sprowadza się do krótkiego spotkania, wideokonferencji lub też mailowego zebrania dodatkowych szczegółów wdrożenia od potencjalnego Klienta. Następnie opracowywana jest wstępna wycena, która zazwyczaj jest wielowariantowa i również zawiera przedziałowy budżet, jednak już z mniejszym rozrzutem.
     
  3. Wersja optymalna sprowadza się właśnie do zaproponowania przeprowadzenia analizy przedwdrożeniowej. Po wstępnym zebraniu informacji Software House proponuje potencjalnemu Klientowi przeprowadzanie analizy, której wynikiem będzie specyfikacja szczegółowo opisująca potrzeby oraz cele przedsiębiorstwa. Dopiero na jej podstawie powstaje wycena realizacji projektu.

Która sytuacja jest najbardziej korzystna? Nie trudno domyślić się, że idealnym rozwiązaniem zarówno od strony Klienta, jak i dostawcy oprogramowania, jest wariant trzeci. Tylko w tym przypadku Klient może bowiem w pełni świadomie podjąć decyzję o nawiązaniu (lub nie) współpracy z daną firmą.
 


Projektowane przez nas aplikacje wspierają m.in.:

Systemy i aplikacje dedykowane - wybrane realizacje


Dlaczego analiza przedwdrożeniowa jest najlepszym rozwiązaniem?

Analiza przedwdrożeniowa daje możliwość kontroli nad projektem oraz zapobiega występowaniu wielu problemów na etapie realizacji. Dzięki niej dostawca wie dokładnie, czego oczekuje Klient i jak te wymagania spełnić. Z drugiej strony Klient ma pewność, że to co powstanie, będzie dokładnie takie jak potrzebuje.

Niejednokrotnie Klient wysyłając zapytanie ofertowe w rzeczywistości skupia się na rozwiązaniu. Nieuświadomienie realnych potrzeb oraz złożoności rozwiązania przed przystąpieniem do jego realizacji skutkuje pojawianiem się w późniejszym etapie nowych potrzeb bądź też wielu istotnych zmian. To wszystko generuje dodatkowe koszty oraz wydłuża czas realizacji.

Załóżmy zatem, że bohater naszej historii spotkał się z drugą z przedstawionych możliwości – dostawca został wybrany. Rozpoczęły się zatem prace nad aplikacją, w pewnym momencie jednak Klient doszedł do wniosku, że niektóre z funkcjonalności są niepotrzebne, gdyż istnieją w obecnie działającym w firmie systemie. W zamian chciałby wprowadzenia innych modułów.

Gdyby zostało to ustalone przed rozpoczęciem prac – nie byłoby większego kłopotu. Jeśli jednak prace są już realizowane, lub co gorsza zostały już zakończone to pojawia się pytanie co z czasem, który został poświęcony na ich opracowanie? Nie wiemy także czy możliwe jest w ogóle opracowanie nowych modułów.

Jak będzie się to przekładało na zaplanowany budżet oraz harmonogram? Kto powinien w takim przypadku pokryć dodatkowe koszty i ponieść konsekwencję za „nieterminową realizację projektu”? Tak właśnie rodzi się problem, który z każdą tego typu zmianą będzie narastał, a którego można było uniknąć.  

Oczywiście analiza przedwdrożeniowa nie sprawia, że takie sytuacje w ogóle nie wystąpią. Z całą pewnością jednak można powiedzieć, że znaczna część tego typu problemów zostanie rozwiązana zanim jeszcze się pojawią.

Korzyści analizy przedwdrożeniowej ze strony Klienta:

  • Znajomość realnych kosztów projektu
    W dokumencie opisującym analizę znajdują się wszystkie najważniejsze elementy projektu, dlatego też dużo łatwiej kontrolować koszty. Im mniej niewiadomych tym dokładniejsza wycena. Co ważne, jest to wycena produktu dokładnie takiego jaki wspólnie obie strony ustaliły, że chcemy otrzymać. I mimo, iż sama analiza jest dodatkowo płatna, w praktyce przynosi wymierne oszczędności.
     
  • Skrócenie czasu realizacji projektu
    Znajomość zakresu prac pozwala na trafniejsze określenie harmonogramu oraz zminimalizowanie buforu rezerwowego. Pozwala także na lepsze planowanie i rezerwowanie zasobów potrzebnych na danym etapie do sprawnej realizacji prac. W efekcie minimalizujemy przestoje spowodowane np. oczekiwaniem na odpowiedź na kluczowe pytanie, czy dosłaniem brakujących w danym momencie materiałów.
     
  • Łatwe wprowadzenie zmian
    Dzięki analizie przedwdrożeniowej Klient już przed wdrożeniem wie, jak będzie wyglądał i funkcjonował przyszły system. Daje to możliwość weryfikacji pomysłu czy wręcz „przetestowania go” z pracownikami, którzy będą go w przyszłości na co dzień używać. W przypadku niespełnienia niektórych oczekiwań, szybciej i bez niepotrzebnych kosztów dodatkowych możemy nanieść odpowiednie modyfikacje.
     
  • Zwiększenie szans realizacji oczekiwań
    Po przeprowadzeniu analizy zarówno Klient, jak i firma dostarczająca oprogramowanie są świadomi realnych potrzeb organizacji. Dzięki temu jest dużo większa gwarancja osiągnięcia sukcesu oraz realizacji zakładanych celów.
     
  • Gwarancja wykonania
    Jasne określenie elementów przyszłego systemu daje punkt odniesienia do weryfikacji gotowego rozwiązania. W przypadku błędów w funkcjonowaniu czy niewywiązaniu się z określonych założeń jest to dokument do którego zawsze można się odnieść.
     
  • Konsulting
    Zewnętrzne oraz specjalistyczne spojrzenie na firmę daje możliwość identyfikacji problemów, których dotychczas nikt nie zauważył. Jest to szansa na odpowiedź na pytania, na które nikt dotąd nie odpowiadał lub nawet nie pomyślał o ich zadaniu.
     
  • Bliższe poznanie zespołu
    Efektem analizy jest również lepsze zapoznanie obu firm, jak i zespołów. Jest to doskonała okazja do sprawdzenia jak kształtuje się między nimi współpraca jeszcze przed przystąpieniem do właściwych prac.

Korzyści analizy przedwdrożeniowej dla wykonawcy:

  • Jasne oczekiwania
    Etap analizy pozwala na połączenie wizji Klienta oraz wykonawcy, dzięki czemu wszystkie wymagania są usystematyzowane i znany jest obraz systemu. Powstaje pełna specyfikacja oprogramowania. Zespół wykonawcy zna wówczas dokładnie swoje zadania, a w związku z tym praca nad projektem jest dużo prostsza. Dodatkowo eliminuje to wiele nieporozumień występujących na linii Klient – wykonawca.
     
  • Rozplanowanie harmonogramu
    Znajomość elementów projektu pozwala na właściwe rozplanowanie prac z uwzględnieniem potrzeb wszystkich równolegle realizowanych projektów. Firma wówczas ma również możliwość optymalizacji czasu swojej pracy. Dzięki temu nie ma aż tylu zastojów i efektywnie prowadzone są wszelkie niezbędne działania. Co więcej, podczas rozplanowywania funkcjonalności często wyłapywane są potencjalne błędy, co również skraca czas realizacji.
     
  • Zaangażowanie ze strony Klienta
    Niestety brak zaangażowania ze strony Klienta jest częstym problemem. Niejednokrotnie spotkać można się z przekonaniem, że to specjaliści IT sami powinni odpowiedzieć na pytania dotyczące systemu. Brak reakcji na przedstawiane kwestie prowadzi do frustracji oraz kolejnych niepotrzebnych zastojów. Dzięki etapowi analizy już na początku projektu budowana jest relacja partnerstwa między Klientem, a wykonawcą. Co więcej, większość kwestii jest już ustalona i na etapie realizacji zostaje jedynie ewentualne dogranie szczegółów.
     

Jak wygląda proces analizy przedwdrożeniowej?

Analiza przedwdrożeniowa może przebiegać na wiele sposobów. W tej kwestii wiele zależy zarówno od Klienta jak i samego dostawcy i jego metodyki pracy. Uogólniając jednak, proces ten można przedstawić w następujący sposób:

Proces analizy przedwrożeniowej

Jak widać na przedstawionym powyżej schemacie podstawą działania jest komunikacja. Kluczowym elementem są wywiady z zespołem Klienta, podczas których szczegółowo określane są oczekiwania oraz wymagania względem działania projektowanego systemu. Konsultanci zbierają wówczas informacje o tym jakie zadania ma realizować system, poznając równocześnie środowisko biznesowe czy aktualną sytuację przedsiębiorstwa. W wyniku tych działań opracowywany jest obszerny dokument zawierający opis potrzeb biznesowych oraz specyfikację wymagań funkcjonalnych i pozafunkcjonalnych.

Analizę przedwdrożeniową można podzielić na 2 obszary przygotowań, które obejmują analizę biznesową oraz specyfikację wymagań.

Analiza biznesowa to nic innego, jak określanie poszczególnych występujących w firmie procesów biznesowych, które obejmuje dany projekt. Jasne wskazanie takich obszarów już na samym początku wdrożenia jest bardzo pomocne, gdyż pokazuje najważniejsze dla przedsiębiorstwa tematy oraz skupia wokół nich swoją uwagę. Jest to ważny etap przede wszystkim dlatego, że pozwala „zaglądnąć” do wnętrza firmy, poznać sposób jej funkcjonowania oraz dojść do porozumienia co i jak należy zmienić, aby wdrożyć konkretną zmianę biznesową. Etap ten równocześnie pozwala wykryć aspekty, które mogą ulec automatyzacji i optymalizacji.

Tego typu analiza sprowadza się zatem do tworzenia modeli procesów biznesowych występujących w przedsiębiorstwie oraz określenia taksonomii organizacji. W przypadku rozbudowanych procesów tworzone są wówczas specjalistyczne schematy umożlwiające ich czytelne przedstawienie.

Notacji modelowania w tym przypadku jest kilka, gdzie wśród najważniejszych można wymienić BPMN (Business Process Model and Notation), EPC (Event-Driven Process Chain) oraz BPEL (Business Process Execution Language). Obecnie jednak najpopularniejszą z nich jest BPMN – Business Process Model and Notation – swoją powszechność zawdzięcza dobrze opisanemu metamodelowi, dzięki czemu dostępna jest w większości wykorzystywanych na rynku narzędziach oraz systemach BPMS (Business Process Management System).

Analiza biznesowa pozwala uzyskać odpowiedź m.in. na pytanie takie jak:

  • W jakich obszarach w przedsiębiorstwie występują wąskie gardła?
  • Jakie są rzeczywiste potrzeby organizacji?
  • Które procesy wymagają optymalizacji i automatyzacji?
  • Jaki jest średni czas oraz koszt poszczególnych zachodzących w firmie procesów?

Kolejnym obszarem działań analizy przedwdrożeniowej jest specyfikacja wymagań. Ta część jest przedstawieniem koncepcji wdrożenia, stanowi kompletny opis całości projektowanego systemu. Uwzględnia takie elementy jak:

  • wymagania funkcjonalne, czyli zdefiniowanie i opisanie wszystkich funkcji jakie system ma oferować, a także uściślenie jak aplikacja ma się zachowywać w określonych sytuacjach. Ta część pozwala na opisanie ogólnej wizji systemu i celów jakie ma on spełniać oraz kontekstu jego powstania.
  • wymagania niefunkcjonalne, czyli ograniczenia oraz standardy jakie system ma spełniać. Dotyczą one takich zagadnień jak wydajność, dostępność, niezawodność, bezpieczeństwo czy skalowalność systemu, a także kwestii norm prawnych.

W przypadku wymagań funkcjonalnych nieodłącznym elementem są modele przypadków użycia (UC – use case), które pozwalają na graficzne zobrazowanie usług systemu widzianych oczami użytkownika i koncentrują się na przedstawieniu interakcji pomiędzy użytkownikiem, a systemem. Modele te występują w postaci diagramów wykonanych w notacji UML i zbudowane są z kilku elementów wśród których wyróżnia się aktorów, przypadki użycia oraz asocjacje, jakie między nimi występują. Aktorem może być tu administrator, sprzedawca czy Klient – każdy, kto wchodzi w interakcję z systemem oraz pełni w nim określoną rolę. Przypadkami użycia zaś są poszczególne czynności jakie za pomocą systemu może wykonać, natomiast występujące między nimi asocjacje określają scenariusz zachowania systemu.

Kolejnym ważnym elementem jest opis wszystkich modułów, które obsługują zdefiniowane wcześniej wymagania funkcjonalne. W wielu przypadkach przygotowywane są wówczas również makiety systemu, które wizualizują kluczowe funkcjonalności/moduły.

Można powiedzieć, ze przygotowane makiety są prototypami serwisu, schematami, które określają jak finalna wersja produktu będzie działać oraz w jaki sposób użytkownik będzie wchodził z systemem w interakcję. Makiety dają także poglądowy obraz wyglądu projektowanego systemu – układ, logika rozmieszczenia poszczególnych bloków. Dzięki takiemu podejściu już na etapie analizy jesteśmy w stanie wyłapać wszelkie niezgodności oraz weryfikować pomysły. Zaletą jest tu także oddzielenie warstwy wizualnej od koncepcyjnej, gdyż myślimy o tym, co jest najważniejsze w tym momencie, czyli ogólnym układzie. Nie skupiamy się na kolorystyce, stylu czy treściach. Podsumowując zatem makieta zawiera informacje takie jak:

  • widok strony głównej oraz kluczowych widoków podstron wraz z ich opisami,
  • układ i opis bloków z uwzględnieniem ich funkcjonalności,
  • układ i opis mechanizmów udostępnionych użytkownikom i administratorom.

Oczywiście etap ten poprzedza opracowanie oraz opis architektury informacji, najczęściej w formie mapy serwisu/systemu, której celem jest określenie struktury informacji w systemie, jej hierarchii oraz nazewnictwa.  Projektowane serwisy niejednokrotnie składają się z setek, a nawet tysięcy różnych danych, które są ze sobą powiązane. Uporządkowanie ich w sposób przejrzysty dla użytkownika ułatwia korzystanie z systemu w przyszłości. Architektura informacji odnosi się również do zasad dotyczących m.in. inżynierii użyteczności (usability engineering) czy projektowania zgodnie z doświadczeniami użytkownika (UX – user experience), a także kwestii zarządzania wiedzą.

Natomiast jeśli chodzi o wymagania niefunkcjonalne dotyczą one stricte obszaru jakościowego tworzonego systemu, a zatem obejmują parametry techniczne oraz konfigurację oprogramowania. Choć nie są bezpośrednio związane z funkcjonalnościami systemu są równie ważne, gdyż określają działanie systemu „od wewnątrz”. Pozwalają spojrzeć na nałożone na system standardy i ograniczenia z punktu widzenia 3 obszarów:

  • Działania aplikacji  - wymagania związane z efektywnością, wydajnością, niezawodnością czy skalowalnością systemu,
  • Funkcjonowania firmy – wszelkie aspekty dotyczące strategii biznesowej firmy, panującymi w niej standardami, wartościami, sposobem wdrożenia, językiem programowania czy systemem operacyjnym,
  • Otoczenia systemowego – uwzględniają wszelkie czynniki zewnętrzne, a mianowicie wymagania prawne czy etyczne, również te dotyczące bezpieczeństwa, a także interakcji z zewnętrznymi systemami.  

Lista kategorii parametrów jakie należy w rzeczywistości uzgodnić jest bardzo długa, a zakres poszczególnych zagadnień jest bardzo szeroki. Zależy w dużej mierze od rodzaju wykonywanych prac oraz samej aplikacji, a także od środowiska w jakim ma ona funkcjonować. Przykładowo, jeśli projektowany system wymaga integracji z innymi systemami np. ERP, WMS czy systemami płatności, konieczne jest zawarcie zasad z tym związanych, w przypadku natomiast, gdy aplikacja ma zastąpić inną, wcześniej wykorzystywaną należy uwzględnić dodatkowo projekt migracji danych i zaplanować jej przebieg.

Tak przeprowadzona analiza przedwdrożeniowa daje wykonawcy oprogramowania szczegółową wiedzę na temat wszystkich związanych z nim prac. Na tej postawie możliwe jest już dokładne opracowanie budżetu oraz harmonogramu projektu.

Aplikacje dedykowane - etapy wdrożenia

Podsumowując efektem analizy przedwdrożeniowej jest:

  1. Opis procesów biznesowych zachodzących w firmie.
  2. Jasne określenie celu wdrożenia oraz oczekiwanych rezultatów.
  3. Opis wymagań funkcjonalnych oraz pozafunkcjonalnych.
  4. Lista modułów systemu wraz z opisem ich funkcjonowania.
  5. Opis architektury informacji.

Wszystko to w formie zrozumiałej dla obu stron – Klienta i wykonawcy.

Czy możliwa jest realizacja projektu bez analizy przedwdrożeniowej?

Obecny rynek udowadnia, że tak jest to możliwe, ale… Właśnie, jest pewne „ale”, a mianowicie jest nim RYZYKO, które rośnie wraz z zakresem projektu.

Można powiedzieć, że przy dużych, skomplikowanych projektach koniecznością i standardem jest przeprowadzanie analizy przedwdrożeniowej. Przy prostszych projektach może wystarczyć doradztwo eksperta IT oraz współpraca między firmami. Należy jednak zaznaczyć, że nigdy nie zastąpi to profesjonalnie przeprowadzonej analizy przedwdrożeniowej. Czy warto jednak liczyć w tej kwestii na szczęście?

Analiza przedwdrożeniowa jest swego rodzaju gwarancją i jest niezwykle istotna podczas realizacji projektów IT. Oczywiście nie jest to usługa darmowa, jednak korzyści jakie przynosi znacznie przewyższają jej koszty, co więcej przekładają się one na realne oszczędności.

Może zainteresują Cię także

PHP 8 stanie się rzeczywistością już pod koniec tego roku!

2 września 2020
Trwają kolejne etapy prac nad nową, główną wersją języka, która zostanie oficjalnie opublikowana pod koniec listopada 2020 roku.

Jak wykorzystać e-learning w biznesie?

10 sierpnia 2020
Newsline.pl. Autor: Paweł Teper

Co możemy dla Ciebie zrobić?

×

Klienci o nas