Praca doktorska

Metoda oceny ryzyka projektów informatycznych. Wydział Informatyki Politechniki Szczecińskiej, czerwiec 2008 r.
 
Streszczenie:
 
Postęp technologiczny i związany z nim dynamiczny rozwój sektora teleinformatycznego to jeden z najbardziej zmiennych obszarów współczesnej gospodarki. Tym samym, obserwowany jest wzrost zapotrzebowania zgłaszanego przez rynek na narzędzia informatyczne, znajdujące zastosowania w różnych dziedzinach życia. Rozwój ten pociąga za sobą zwiększenie liczby prowadzonych projektów informatycznych, które odznaczają się coraz większą komplikacją. Typowe obszary oczekiwań wobec projektów skoncentrowane są z jednej strony na dążeniu do zapewnienia wymagań funkcjonalnych oraz odpowiedniej jakości oprogramowania, zaś z drugiej strony na aspekcie ekonomicznym przedsięwzięcia wyrażającym się przez nakład prac, czas trwania oraz poniesione koszty. Stąd też, umiejętne zaplanowanie podstawowych parametrów projektów informatycznych, jak i właściwe zarządzanie przedsięwzięciem zapewnia jego powodzenie.  
 
Główną przesłanką zainteresowania się oceną ryzyka projektów informatycznych jako istotnym problem badawczym stanowiły "złe statystyki" o odsetku nieudanych przedsięwzięć oraz akceptowalna niechęć wykonawców projektów informatycznych do realizacji zadań związanych z zarządzaniem ryzykiem. Przyczyn tej sytuacji należy upatrywać w traktowaniu procesu zarządzania ryzykiem jako działania pobocznego, ograniczającego się często do sfery dokumentacyjnej, wynikającego z zapisów w kontraktach lub podejmowanego w przypadku pojawienia się zakłóceń. Takie postrzeganie zarządzania ryzykiem jest najczęściej następstwem konieczności pozyskania informacji od konkretnych osób, dla konkretnych przedsięwzięć oraz w określonym czasie. W zaistniałej sytuacji istotną rolę w procesie planowania oraz realizacji projektów informatycznych odgrywa umiejętność pozyskiwania informacji oraz sprawna komunikacja zachodząca między stronami zaangażowanymi w projekt, a w szczególności między jego wykonawcami. Stąd, też pożądane jest dostarczenie zespołom projektowym odpowiedniego wsparcia informacyjnego, pozwalającego na podejmowanie trafnych decyzji. Takie wsparcie informacyjne mogą dostarczyć narzędzia informatyczne, wykorzystujące uczenie maszynowe, a pozwalające na wyodrębnienie wzorców, reguł lub modeli opisujących analizowane zjawiska.  
 
Ostatnia dekada przyniosła rozwój metod uczenia maszynowego, pozwalających na analizę obszernych zbiorów danych w poszukiwaniu wzorców niedostępnych dla człowieka, z powodu jego ograniczonej percepcji i możliwości przetwarzania dużej ilości danych. Wraz z metodami statystyki, narzędziami baz danych czy algorytmami sztucznej inteligencji, tworzą one dział informatyki zwany eksploracją danych (ang. data mining), który jak wykazują wyniki licznych badań dostępnych w literaturze, jak i w tym szczególnym przypadku, prezentowane także w dysertacji, pozwalają na szukanie rozwiązań dla problemów dotychczas słabo zbadanych czy trudnych w algorytmizacji.
 
Zgodnie z podanymi w dysertacji argumentami, projekty informatyczne wyróżniają się spośród innych rodzajów projektów szczególnie dużym ryzykiem, często występującym zjawiskiem "pływania" zakresu projektu, dużą nieokreślonością projektu szczególnie w początkowych etapach oraz konkretyzowaniem jego celu w czasie trwania. Stąd modele opracowane w dysertacji działają jako klasyfikatory, pozwalając na ocenę klasy (rzędu) wielkości charakteryzujących projekt. Przyjęte stanowisko znajduje swoje potwierdzenie w praktyce prowadzenia projektów informatycznych, które cechują się dużymi rezerwami kosztów czy czasu, jaki i ograniczonymi możliwości zastosowania modeli regresji.
 
Zatem z punktu widzenia dyscypliny jaką jest informatyka, praca może zostać scharakteryzowana jako praca poświęcona wielostanowej i wielowymiarowej klasyfikacji obiektów. Stąd też dysertacja przyjęła następującą tezę:Przy zastosowaniu wybranych metod klasyfikacji możliwe jest opracowanie metody oceny ryzyka projektów informatycznych, opartej na modelach predykcyjnych w czterech wymiarach: zakresie, czasie, kosztach oraz aktywności przedsięwzięcia, pozwalającej na określenie profilu ryzyka projektów informatycznych (w zależności od wariantu wybranego przez decydenta).
 
Przyjęta teza pracy dla jej udowodnienia wymagała postawienia celu pracy określonego jako:Opracowanie metody wielowymiarowej oceny ryzyka projektów informatycznych, umożliwiającej predykcję wartości podstawowych parametrów tychże przedsięwzięć oraz kontroli efektów ich realizacji.
 
Rozprawa składa się z czterech rozdziałów oraz informacji dodatkowych zawartych w licznych załącznikach. Rozdział pierwszy został poświęcony prezentacji problematyki ryzyka projektów informatycznych oraz systematyzacji metod stosowanych do identyfikacji oraz analizy ryzyka projektów informatycznych. Dokonując systematyzacji metod szczególny nacisk położono na identyfikację źródeł informacji wykorzystywanych w procesie zarządzania ryzykiem projektów informatycznych. W rezultacie wyodrębnione zostały metody oparte na wiedzy ekspertów, metody bazujące na diagramach sieciowych oraz metody uczenia maszynowego.
 
Rozdział drugi przedstawia ryzyko projektów informatycznych postrzegane, z punktu widzenia metod uczenia maszynowego, jako zadanie klasyfikacji obiektów diagnostycznych. W rozdziale tym zostały zaprezentowane zagadnienia wstępne związane z pojęcie diagnostyki systemu oraz identyfikacji stanu obiektów. Ponadto dokonany został w nim dobór metod klasyfikacji, które zostały wykorzystane w dalszej części dysertacji.
 
Część badawcza została zgromadzona w rozdziale trzecim, gdzie zaprezentowano wielowymiarową ocenę ryzyka projektów informatycznych. Eksperymenty badawcze zostały wykonane na bazie projektów software'owych udostępnianych na licencji FLOSS (ang. Free/Libre/Open Source Software). Użyte dane zostały wyodrębnione z baz danych repozytorium projektów zarejestrowanych na platformie SourceForge.net. Ekstrakcja danych z repozytorium FLOSS Research Data pozwoliła na zebranie materiału badawczego, umożliwiającego zbudowanie czterech zbiorów danych opisujących: kategorię projektu, zadanie projektowe, wykonawcę projektu oraz aktywność projektu. Zbiór danych "kategoria projektu" identyfikował parametr diagnostyczny "zakres projektu". Zbiór danych 'zadanie projektowe" identyfikował parametr diagnostyczny "czas trwania projektu". Zbiór danych "wykonawca projektu" identyfikował parametr diagnostyczny "koszt prac projektowych". Zbiór danych "aktywność projektu" identyfikował parametr kontrolny "efekty projektu".
 
Czwarty rozdział pracy zawiera prezentację metody wielowymiarowej oceny ryzyka projektów informatycznych, dokonaną na bazie modeli predykcyjnych opracowanych w trzecim rozdziale. Zakończenie rozdziału stanowią rozważania dotyczące potencjalnego zastosowania prezentowanego algorytmu w systemie wspomagania decyzji. Rozważania te stanowią studium zastosowalności opracowanej metody. Metoda wielowymiarowej oceny ryzyka projektów informatycznych ukazuje możliwości rzeczywistych zastosowań data mining, poprzez pozyskiwanie wiedzy o problemie na podstawie eksploracji danych z istniejących baz. Stanowi tym samym alternatywę dla podejść, które zakładają konieczność gromadzenia danych na potrzeby konkretnych rozwiązań, pracujących na wyspecjalizowanej informacji. Materiał badawczy jaki został wykorzystany w dysertacji należy uznać za bardzo reprezentatywny, gdyż pochodzi z baz danych zbieranych podczas prac największej na świecie platformy projektów typu FLOSS. Praca stanowi rzeczywisty przykład eksploracji danych, gdzie tak jak w praktycznych zastosowaniach pierwotnym źródłem danych stanowią obszerne, nieuporządkowane zbiory danych, które są gromadzone w celach innych niż samo przeprowadzenie data mining'u.
 
Szczególną zaletą zaproponowanej metody jest jej intuicyjność. Wielowymiarowa ocena ryzyka projektów informatycznych odbywa się w czterech wymiarach: zakres, czas, koszty oraz efekty projektu. Wymiary te bezpośrednio przekładają się na podstawowe składowe sukcesu projektów informatycznych: koszt, czas, zakres. Składowe te w znacznej mierze zadecydowały o przyjętym kształcie eksperymentów badawczych. Ponadto, zaletą metody jest praktyczne zastosowanie algorytmów uczenia maszynowego do dokonywania odkryć w bazach danych. W zaproponowanym w dysertacji zastosowaniu bazy modeli predykcyjnych w systemie wspomagania decyzji, przy planowaniu oraz realizacji projektów informatycznych, szczególne znaczenie odgrywa komunikacja z relacyjną bazą danych. Rozwiązanie takie obejmuje poszukiwanie zależności zachodzących między danymi zgromadzonymi w bazie danych, a wiedza wydobyta w ten sposób może być przechowywana oraz wykorzystywana do przeprowadzenia wnioskowania.
 
Zaproponowana baza modeli predykcyjnych pozwala na przeprowadzenie procesu diagnostycznego w planowanych i realizowanych przedsięwzięciach informatycznych w zależności od preferencji decydenta w zakresie wyboru metod uczenia maszynowego. Zdolność klasyfikatorów do generalizacji wiedzy przebadano z wykorzystaniem wskaźników dokładności, precyzji oraz skuteczności w zakresie klasyfikacji danych. Najlepsze modele predykcyjne posłużyły jako baza testowa do badania zachowań modeli przy uwzględnieniu możliwości modyfikacji podstawowych parametrów poszczególnych klasyfikatorów, gdzie przeprowadzono również eksperymenty ukazujące zmiany zachowań modeli predykcyjnych w zależności od doboru różnych wartości nastaw w poszczególnych metodach uczenia maszynowego. Uzyskane w ten sposób informacje mogą stanowić pomoc przy konstrukcji systemu wspomagania decyzji w zakresie zarządzania ryzykiem projektu.
 
Opracowana koncepcja systemu wspomagania decyzji do wielowymiarowej oceny ryzyka projektów informatycznych wzbogacona została opracowaniem profili ryzyka: projektu bezpiecznego, projektu ostrożnościowego, projektu agresywnego. Celowym zabiegiem było odejście od postrzegania oceny ryzyka projektu przez pryzmat określeń "niskie ryzyko", "umiarkowane ryzyko", "wysokie ryzyko", gdyż są one pojęciami silnie zindywidualizowanymi. Zaletą zaproponowanego rozwiązania jest niewielka ilość informacji jaką należy dostarczyć systemowi wspomagania decyzji, aby możliwe było zaklasyfikowanie danego projektu do jednej z zidentyfikowanych klas atrybutów decyzyjnych. Ponadto, podejście to pozwala na wczesne wykrycie nieprawidłowości w założeniach projektowych wskazując obszar ich modyfikacji. Proces diagnostyczny może być przeprowadzany systematycznie, towarzysząc pracom projektowym od momentu rozpoczęcia do momentu zakończenia przedsięwzięcia.Z punktu widzenia zarządzania projektami informatycznymi opracowana metoda oceniająca projekty w wielowymiarowej przestrzeni atrybutów, co przy użytych metodach konstrukcji modeli pozwala na automatyzowanie procesu oceny projektów, będącego etapem przygotowywania informacji przekazywanych decydentowi w celu wsparcia procesu podejmowania decyzji jest rozwiązaniem niezwykle przydatnym, wypracowującym systematyczność w nadzorze projektu oraz pozwalającym na budowanie obiektywnej wiedzy o procesie produkcji oprogramowania w danym przedsiębiorstwie. Istniejące metodyki prowadzenia projektów informatycznych operują nazbyt ogólnymi pojęciami, zostawiając wiele spraw do indywidualnej oceny przez prowadzącego, przez co możliwości ich zastosowania przez osoby pozbawione wiedzy eksperckiej są ograniczone. Dlatego opracowana wielowymiarowa ocena ryzyka projektów informatycznych może stanowić znaczące wsparcie procesu podejmowania decyzji poprzez zastosowanie jej w wyspecjalizowanym systemie informatycznym.
 
Dysertacja zawiera wyniki obszernych eksperymentów przeprowadzonych w czasie prac nad utworzeniem metody wielowymiarowej oceny ryzyka projektów informatycznych. Wypada nadmienić, że przeprowadzone doświadczenia zostały zrealizowane w kilku wymiarach:

  • różnych cechach charakteryzujących projekty: czas, zakres, koszty, aktywność,
  • zmiennej liczebności atrybutów opisujących modelowane zjawiska,
  • różnych metod klasyfikacji użytych do utworzenia modeli klasyfikacyjnych (prognostycznych).

Zwracając szczególną uwagę na ostatni z punktów, w pracy wykonano modele dla określonego problemu i przy określonej liczebności atrybutów badając kilka popularnych metod klasyfikacji: perceptron wielowarstwowy, sieci bayesowskie, drzewo decyzyjne C4.5 oraz drzewa losowe. Najlepsze wyniki uzyskano dla  klasyfikatora stosunkowo "młodego" klasyfikatora - drzewa losowe, porównywalne dla drzewa decyzyjnego C4.5 oraz sieci bayesowskich. Natomiast, najniższą jakość klasyfikacji zaobserwowano dla perceprtona wielowarstwowego. Wyniki otrzymane dla klasyfikatorów drzewiastych przyjmują postać reguł, są zrozumiałe dla użytkownika bez konieczności dodatkowych wyjaśnień.
 
Zaproponowana metoda może znaleźć praktyczne zastosowanie w pracach nad projektami informatycznymi, a w szczególności we wspomaganiu działań zespołów projektowych. Z uwagi na fakt, że wielowymiarowa metoda oceny ryzyka projektów informatycznych nie wymaga znacznych wydatków inwestycyjnych, a jej funkcjonalność umożliwia przewidywanie zachowań projektu, może także być wykorzystywana przez instytucje finansujące projekty informatyczne. Dysponowanie informacjami pochodzącymi z przeprowadzenia wielowymiarowej oceny ryzyka umożliwi lepsze przygotowanie się do zmian podczas planowania oraz realizacji przedsięwzięć. Natomiast, sama ocena ryzyka pozwoli na wybór odpowiednich kierunków postępowania, poprzez zidentyfikowanie różnych alternatyw realizacji projektu oraz związanego z nimi ryzyka. Tym samym, ułatwione zostanie przygotowanie się do drugiego etapu zarządzania ryzykiem, do kontroli ryzyka, obejmującej opracowanie działań zapobiegania zagrożeniom oraz sposobów postępowania w przypadku ich wystąpienia.