Dziesiątki lat istnienia branży informatycznej wzbogaciły ją o dobre praktyki i metodologie, przestrzeganie których gwarantuje pomyślne i bezproblemowe zakończenie projektu, bez konieczności zwiększania zakresu prac, czasu realizacji oraz jego kosztów.
W przypadku wyboru naszej firmy do realizacji interesującego Państwa projektu, wykorzystamy posiadaną wiedzę teoretyczną, a przede wszystkim zdobyte już doświadczenia, do optymalnego kierowania projektem, aby wszystkie cele przyjęte przez kierownictwo przedsiębiorstwa, związane z wdrożeniem systemu RCP ostały osiągnięte.
Pamiętać należy, że realizacja jakiegokolwiek przedsięwzięcia informatycznego związanego z realizacją prac programistycznych oraz integracyjnych podpada pod funkcjonujące w branży informatycznej schematy i procedury i Państwa przedsiębiorstwo nie może być wyjątkiem.
Kwestią podstawową jest zdefiniowanie strategii informatyzowania Przedsiębiorstwa. Pod pojęciem tym rozumieć należy;
-
Zbiór celów i głównych przedsięwzięć przedsiębiorstwa w zakresie informatyki,
-
Przemyślany kompletny plan, który określa jakie decyzje i kiedy będą podjęte, przewidując, możliwe scenariusze rozwoju sytuacji.
Strategia projektowania systemu uwzględniać musi;
-
Sformułowanie problemu, w tym;
- analizę przedprojektową,
- określenie celów projektu, tj. jakich efektów końcowych spodziewają się decydenci,
- powołanie zespołu ds. kierowania projektem i określenie jego kompetencji.
-
Analizę sytuacji problemowej, w tym;
-
zdefiniowanie mogących się pojawić ograniczeń, np. brak na dany
czas wystarczających środków do realizacji projektu,
- określenie kamieni milowych budowy projektu.
-
Zdefiniowanie wyboru strategii i podjęcie decyzji o jej realizacji.
Strategia budowy- rozwoju systemu informatycznego ponadto uwzględniać musi metodologię prowadzenia projektów informatycznych, kamienie milowe budowy systemu, sposoby jego finansowania, termin zakończenia projektu. Pomyślne wdrożenie systemu informatycznego winno odpowiadać założeniem i oczekiwaniom zdefiniowanym przez kierownictwo przedsiębiorstwa.
Realizacja każdego projektu inwestycyjnego, w tym projektów informatycznych wymaga zdefiniowania trzech podstawowych kryteriów, tworzących umownie trójkąt; zakresu prac, czasu realizacji projektu, kosztów użytych zasobów. Podstawą określenia kosztów i czasu jest zakres projektu. Każdy projekt składa się z reguły z kilku pod projektów, te zaś z zadań, jakie w każdym podprojekcie muszą być zdefiniowane. Można przyjąć, że zakończenie każdego pod projektu, bądź każdego ważniejszego zadania w ramach pod projektu, winno być kamieniem milowym w harmonogramie budowy systemu.
Koszty i czas realizacji całego projektu można dokładnie określić, po wykonaniu bardzo precyzyjnego zdefiniowania zakresu prac. Analiza wymagań, stanowiąca podstawowy dokument do określenia zakresu prac może być czasochłonna i kosztowna. Z reguły sięga 10% wartości projektu. W projektach złożonych nawet 25% wartości. Przewidzieć przy tym należy, że pomimo bardzo dobrze wykonanej analizy całego projektu, pojawią się w toku prac nie zdefiniowane wcześniej potrzeby, które wymagać będą zarówno zwiększenia czasu, jak i środków przeznaczonych na realizację projektu.
Dobrą praktyką jest realizowanie zdefiniowanej strategii budowy systemu informatycznego w częściach - etapach, z których każdy wymagać będzie wykonania oddzielnej analizy wymagań, zdefiniowania zakresu prac oraz określenia czasu i kosztów. Niektóre projekty realizowane są częściami nawet przez kilka lat, m.in z uwagi na stopień złożoności, bądź brak środków do jednorazowego wydania. Zyskuje się w ten sposób i czas i pieniądze, ponieważ analizę zakresu prac kolejnych etapów można prowadzić równolegle do realizacji rozpoczętych już prac, przewidzianych dla pierwszego i kolejnych realizacji projektu. Jednocześnie wraz z budową systemu analityk – projektant dostrzega większość dalszych potrzeb przedsiębiorstwa w toku realizacji zadania. Nie musi zatem poświęcać specjalnie czasu na zdobywanie wiedzy o wymaganiach i procedurach, ponieważ z częścią z nich zapozna się mimowolnie już podczas pracy nad kolejnymi realizowanymi zadaniami.
Każdy etap pod projektu, każde zadanie informatyczne związane z budową, bądź integracją systemu z reguły wiąże się z wprowadzaniem zmian. Za zmianę uważa się każda propozycję zmiany czegoś, co już wcześniej zostało zdefiniowane i wycenione w zakresie czasu i kosztów. W procesie budowy systemu przewidzieć zatem należy konieczność wdrożenia systemu zarządzania zmianami. Zmiany nie mogą być ignorowane. Muszą być dostrzegane i identyfikowane. Musi zatem występować procedura wprowadzania zmian. Trzeba zdefiniować, kto ma prawo żądać wprowadzenia zmiany, a w ślad za tym zdefiniować jak wprowadzona zmiana wpłynie na pozostałe pod projekty, jaki będzie jej dodatkowy koszt oraz dodatkowy czas niezbędny na jej wprowadzenie. Przyjąć należy, że wprowadzanie zmian odbywać winno się na poziome kierowników projektów.
W realizacji projektu dostrzec należy kluczowe role, jakie przypisane są kierownikom projektów, zarówno po stronie Zamawiającego, jak i Wykonawcy. Z tego względu na kierownika projektu wyznaczać winno się osoby zaangażowane, których kompetencję będą wystarczające do ogarnięcia całości projektu i każdego z jego elementów.
Do głównych zadań kierownika projektu należy:
-
Realizacja terminów kosztów i celów,
-
Spełnienie wymagań i oczekiwań decydentów i partnerów uczestniczących w projekcie,
-
Planowanie, recenzowanie i kontrolowanie,
-
Szkolenie, kierowanie i motywowanie zespołu,
Każdy projekt programistyczny, bądź integracyjny, lub jakakolwiek jego część odbywa się według określonej metodologii, która obejmuje wykonanie;
-
Analizy wymagań – zdefiniowanie zakresu prac, czasu i kosztów,
-
Wykonania projektu,
-
Implementacji,
-
Wdrożenia, w tym; wersji wstępnej, testowej, pełnej i produkcyjnej,
-
Utrzymania systemu w niezawodnej sprawności.
Najważniejszy, jest etap pierwszy - analizy. Źle wykonana analiza, błędne informacje, błędne założenia, pociągają za sobą konsekwencje w postaci potrzeby wprowadzania zmian. Błędnie funkcjonujący system rzadko swą przyczynę ma w błędach popełnionych przez programistę. Najczęściej, błędy w aplikacji wynikają z błędów popełnionych na etapie analizy. Dlatego bardzo ważne jest, aby analityk systemowy – projektant systemu, był osobą posiadającą nie tylko odpowiednią wiedzę, lecz przede wszystkim duże doświadczenie w zakresie wykonywania analizy i projektowania systemów. Niestety, ludzie o takich kompetencjach są bardzo poszukiwani na rynku, zatem i koszt ich zatrudnienia jest wysoki.
Projektowanie wykonywane według przejrzystych grafów, w każdej chwili można poprawić, bądź rozwinąć. Wspomniane grafy wraz z opisem stanowić mogą element składowy dokumentacji dla certyfikatów jakości produkcji typu ISO, lub podobnych.
Proces wdrożenia aplikacji, nie jest jak by się mogło wydawać czynnością jednorazową i prostą. W pierwszej kolejności wykonuje się bowiem prototyp aplikacji / modułu, procesu/, testuje się go na serwerze testowym, po czym nanosi wskazane uchybienia, ale tylko te które się mieszczą w zdefiniowanym i wycenionym wcześniej zakresie prac. Poprawiona aplikacja trafia do użytkowników jako tzw. wersja Beta, czyli testowa. Osoby pracujące na aplikacji wykonują wszystkie czynności tak, jakby realizowali zadania produkcyjne. Na tym etapie także pojawić się mogą poprawki w funkcjonowaniu aplikacji, modułu, bądź procesu. Po ich usunięciu model testowy staje się modelem produkcyjnym i osadzony zostaje na serwerze produkcyjnym.
Wszystkie pod projekty, moduły, procesy, wykonywane są według opisanej metodologii. Według takiej metodologii wykonywana jest również integracja zarówno z modułami wewnętrznymi, jak również systemami zewnętrznymi. Ta ostania wymaga dodatkowo pisania skryptów – konektorów, które mogą wykonywać tylko wykwalifikowani programiści.
Wraz z wykonaniem aplikacji niezbędne jest zapewnienie odpowiedniej opieki serwisowej nad aplikacją, zwaną z angielskiego maitenance. Obejmuje ona usuwanie dostrzeżonych uchybień w funkcjonowaniu aplikacji na serwerze produkcyjnym, likwidowanie awarii, wprowadzanie drobnych zmian w funkcjonowaniu aplikacji. Oczywiście opieka serwisowa aplikacji jest płatna, bądź wliczona w koszty wykonania aplikacji, modułu, procesu.