ZASTOSOWANIE TECHNIK EKSPLORACJI DANYCH DO ESTYMACJI PRACOCHŁONNO CI PROJEKTÓW INFORMATYCZNYCH ANDRZEJ KOBYLI SKI, PRZEMYSŁAW POSPIESZNY Szkoła Główna Handlowa w Warszawie Streszczenie W dzisiejszym wiecie opartym na wiedzy, informacja stanowi o przewadze konkurencyjnej i decyduje o szybko ci adaptacji do wymaga rynku. W ostatnich latach techniki pozyskiwania wiedzy, takie jak eksploracja danych (ang. data mining), znalazły powszechne zastosowanie w ró norodnych dyscyplinach jako narz dzia wsparcia procesu decyzyjnego, dostarczaj c kluczowych informacji zarz dczych. S one wykorzystywane w szczególno ci do problematyki, gdzie wyst puje du a niepewno i prawdopodobie stwo zaistnienia niekorzystnych zjawisk. W odniesieniu do zarz dzania projektami informatycznymi, techniki eksploracji danych umo liwiaj szeroki zakres zastosowa, w tym przede wszystkim do rozwi zywania problemów pojawiaj cych si w pocz tkowych fazach przedsi wzi informatycznych, a zwi zanych z planowaniem zasobów niezb dnych do zako czenia projektu sukcesem. Celem tego artykułu jest przedstawienie mo liwo ci zastosowania algorytmów data mining do estymacji pracochłonno ci inicjatyw informatycznych we wst pnych etapach realizacji projektów, gdy informacja o wytwarzanym produkcie ko cowym jest niepełna. W pracy dokonano porównania dokładno ci szacunków otrzymanych przy pomocy trzech powszechnie uznawanych za efektywne technik predykcyjnych: ogólnych modeli liniowych, sieci neuronowych i drzew decyzyjnych CHAID. Omówiono mo liwo wdro enia tych technik w praktyce, jako narz dzi wsparcia decyzyjnego. Słowa kluczowe: eksploracja danych, data mining, algorytmy predykcyjne, zarz dzanie projektami informatycznymi, estymacja pracochłonno ci, szacowanie rozmiaru oprogramowania Wst p Zarz dzanie projektami pojawiało si od zarania dziejów, jednak najwi kszy rozwój i popularyzacja tej dyscypliny przypada na drug połow 20. wieku. W latach 60. metodyki i narz dzia zarz dzania inicjatywami zostały zastosowane w szerokim zakresie do realizacji zło onych przedsi wzi przez takie organizacje, jak NASA i IBM. W tamtym te okresie powstały organizacje odpowiedzialne za powstanie wielu standardów prowadzenia projektów, takie jak Project Management Institute (PMI) oraz International Project Management Association (IPMA). Dyscyplina zarz dzania projektami odgrywa w dzisiejszym wiecie wa n rol. Wynika to z wszechobecno ci aplikacji informatycznych, które zostały wytworzone w procesie realizacji projektu. To dzi ki rozwi zaniom informatycznym istnieje mo liwo automatyzacji procesów zarz dzania i wytwarzania dóbr oraz podejmowania racjonalnych decyzji, w oparciu o dostarczone
68 Andrzej Kobyli ski, Przemysław Pospieszny Zastosowanie technik eksploracji danych do estymacji pracochłonno ci projektów informatycznych informacje zarz dcze. W rezultacie mo e si to przeło y na redukcj kosztów, usprawnienie komunikacji, czy te popraw efektywno ci zachodz cych procesów [1, 33]. Realizacja projektów informatycznych jest ograniczana przez trzy stałe projektu, takie jak: ramy czasowe, bud et oraz zakres. Definiowane s one w pocz tkowych etapach przedsi wzi, celem okre lenia opłacalno ci inicjatyw, zdefiniowania przypadków biznesowych oraz zaplanowania prac zwi zanych z wytworzeniem produktu ko cowego. Jednak zgodnie z przeprowadzonymi badaniami [2] [3], w ostatnim 20-leciu mo na było zaobserwowa, e w znacznym odsetku projektów nie udało si utrzyma pierwotnie przyj tych zało e odno nie do bud etu, harmonogramu i zakresu. Zjawisko to cz sto prowadzi do zaniechania rozpocz tych ju przedsi wzi, gdy okazuje si, e koszt realizacji przewy sza potencjalne korzy ci z wdro enia systemu lub czas realizacji nie gwarantuje osi gni cia przewagi konkurencyjnej. Przyjmuje si, e jedn z przyczyn powy szych zjawisk s zaniedbania poczynione w procesie planowania projektu [4], kiedy to definiowane s zało enia inicjatywy, odnosz ce si w szczególno ci do pracochłonno ci. Okre lenie pracochłonno- ci jest istotne, gdy od niej zale y czas i bud et, jaki nale y zapewni wykonawcom, by ci mogli skutecznie opracowa produkt ko cowy. Estymacja pracochłonno ci zwi zanej z realizacj projektu, przeprowadzona w fazie inicjacji lub planowania, jest trudnym zadaniem. Trudno ta wynika z niepełnej wiedzy, jak posiada estymuj cy, na temat zakresu ko cowego produktu i jego funkcjonalno ci. Powszechnie wykorzystywane techniki wspomagaj ce ten proces przewa nie polegaj na szacowaniu przez analogi, ocenie eksperckiej lub przez dekompozycj. U yte przez niedo wiadczonych kierowników projektów dostarczaj bł dnych, przewa nie nadmiernie optymistycznych szacunków. Organizacje, w których zarz dzanie projektami stoi na wy szym poziomie, stosuj bardziej zaawansowane metody algorytmiczne, oparte na liniach kodu ródłowego (ang. source lines of code, SLOC) lub punktach funkcyjnych (ang. function points, FP). Przykładami technik wykorzystuj cych te miary s SLIM i COCOMO II. Jednak podej cia te s w znacznej mierze subiektywne [11, 62 63] oraz słabo odzwierciedlaj rzeczywisto, gdy stosowane s współczesne j zyki programowania (4GL) [5]. Dodatkowo, wspomniane metody cz sto nie uwzgl dniaj pełnej pracochłonno ci zwi zanej z definiowaniem funkcjonalno ci produktu ko cowego i jego testami [6, 12], wymagaj przeszkolonego personelu oraz przeprowadzenia manualnych, stosunkowo skomplikowanych oblicze. Z powodu wspomnianych niedoskonało ci obecnie stosowanych metod szacowania pracochłonno ci przedsi wzi, pojawiło si zapotrzebowanie na bardziej dokładne i zautomatyzowane metody estymacji tej e pracochłonno ci. W ostatnich dwóch dekadach techniki eksploracji danych (ang. data mining) s szeroko stosowane w ró nych dziedzinach, w szczególno ci do prognozowania zjawisk, w których wyst puje du y poziom niepewno ci i mo liwo ci wyst pienia ryzyka. W odniesieniu do zarzadzania projektami, techniki data mining maj potencjalnie szeroki zakres wykorzystania. Mog by stosowane do predykcji pracochłonno ci, monitorowania z u yciem EVA (ang. earned value analysis) lub te oceny kosztu przyszłego utrzymania systemu. Niniejsza praca po wi cona jest najbardziej istotnemu, z punktu widzenia sukcesu projektu, aspektowi zwi zanego z realizacj przedsi wzi : estymacji pracochłonno ci projektu. Jej celem jest wykazanie, e metody eksploracji danych mog by skutecznie zastosowane do szacowania pracochłonno ci projektów informatycznych. Do tego wykorzystane zostan trzy algorytmy predykcyjne: ogólny model liniowy (ang. generalized linear model, GLM), sie neuronowa i drzewo decyzyjne CHAID. Do budowy modeli wykorzystano dane z bazy projektów informatycznych International Software Benchmarking Standards Group (ISBSG) [7]. W celu okre lenia dokładno ci
POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 73, 2015 69 wymienionych metod do estymowania pracochłonno ci, zdefiniowane zostan kryteria ewaluacji. Posłu one do porównania wyników uzyskanych trzema badanymi algorytmami. Zaprezentowana zostanie dyskusja odno nie do mo liwo ci wykorzystania tych algorytmów w praktyce zarz dzania projektami informatycznymi. 1. Estymacja projektów Szacowanie pracochłonno ci przedsi wzi cia jest jedn z najwa niejszych i stanowi cych najwi ksze wyzwanie czynno ci realizowanych w ramach zarz dzania projektem. Jest ono niezb dne do ustalenia ram projektu w postaci bud etu oraz harmonogramu. Ustalenie tych parametrów projektu pozwala na bie ce mierzenie post pu inicjatywy oraz na jej monitorowanie i kontrolowanie. Wszelkie odchylenia od zało onych parametrów mog by zidentyfikowane, a odpowiednie plany naprawcze wdro one. W wyniku tego kierownik projektu mo e podejmowa dobre decyzje w trakcie sterowania projektem i osi gn zało ony efekt ko cowy w postaci produktu lub usługi [8, 14]. Rys. 1. Sto ek niepewno ci w projektach, przedstawiaj cy przedziały szacunkowego kosztu realizacji inicjatyw w poszczególnych krokach milowych ródło: Opracowanie własne na podstawie [9]. Zło ono procesu szacowania jest uwarunkowana specyfik produktu ko cowego projektu informatycznego, którym jest przewa nie zestaw logicznie poł czonych instrukcji i zbioru informacji. Dodatkowo, na etapie estymacji w pocz tkowych fazach inicjatywy, jego posta nie jest w pełni sprecyzowana, tak wi c wyst puje wysoki poziom niejasno ci i niepewno ci co do jego finalnych funkcjonalno ci. Tak wi c proces szacowania odbywa si na podstawie niepełnej wiedzy, co zwi ksza ryzyko popełnienia bł du i mo e skutkowa niepowodzeniem przedsi wzi cia. Jak wynika ze sto ka niepewno ci Boehma z roku 1981 [9], przedstawionego na rys. 1, najwi ksza niepewno
70 Andrzej Kobyli ski, Przemysław Pospieszny Zastosowanie technik eksploracji danych do estymacji pracochłonno ci projektów informatycznych istnieje w momencie rozpocz cia projektu, kiedy to rzeczywista, ostateczna warto mo e by nawet cztery razy wi ksza lub cztery razy mniejsza od wst pnie szacowanej. Dokładno estymowanych warto ci ro nie wraz z post pem inicjatywy, gdy informacja o produkcie ko cowym staje si pełniejsza. W wyniku post pu technologicznego oraz usprawnie metodyk zarz dzania projektami skala Boehma uległa spłaszczeniu i obecnie przyjmuje si warto ci bł du zwi zanego z estymowaniem parametrów na poziomie +100/-50% dla studium wykonalno ci, +50/-25% dla opracowania wymaga i +20/-10% dla projektowania [10, 111]. 2. Zarz dzanie wiedz w projektach Osi gni cie celów projektu i zako czenie go sukcesem jest w znacznym stopniu uwarunkowane odpowiednim zarz dzaniem wiedz w ramach danej inicjatywy. Wiedza jako zasób jest generowana na ka dym etapie przedsi wzi cia w postaci nieustrukturowanej wiedzy członków projektu, jak i sformalizowanego repozytorium informacji i dokumentacji projektowej. Od jej odpowiedniego wykorzystania zale y wytworzenie produktu w ramach zało onego harmonogramu, bud etu, a tak e spełniaj cego wymagania funkcjonalne i jako ciowe u ytkownika ko cowego. Zarz dzanie wiedz w projektach składa si z szeregu procesów, maj cych na celu wytwarzanie, u ycie i rozpowszechnianie wiedzy niezb dnej do przeprowadzenia projektu (mikro-wiedzy) oraz przyczyniaj cych si do budowania wiedzy organizacji (makro-wiedza), zwi kszaj c zdolno ci organizacji do osi gania celów biznesowych i tym samym wpływaj c pozytywnie na prowadzone w ramach przedsi biorstwa inicjatywy [12]. Project Management Institute definiuje 10 podstawowych obszarów wiedzy, w których zgrupowana jest wiedza projektowa generowana w procesie cyklu ycia inicjatywy. Zalicza si do nich zarz dzanie integralno ci projektu, zakresem, czasem, kosztami, jako ci, zasobami ludzkimi, komunikacj, ryzykiem, zaopatrzeniem i interesariuszami [13, 60]. W licznych organizacjach dane o inicjatywach s zbierane i utrzymywane w postaci bazy projektów. Informacja ta, generowana przez zespół projektowy, odnosi si do kluczowych aspektów przedsi wzi cia, czyli kosztu, harmonogramu, jako ci w czasie trwania projektu. Pozwala ona przede wszystkim na monitorowanie i raportowanie trwaj cych projektów, w celu identyfikacji potencjalnych zagro e. Poza tym umo liwia wyci gni cie wniosków z projektów ju zako czonych i u ycie tej wiedzy celem optymalizacji procesu zarz dzania kolejnymi projektami. Tym samym si gaj c po najlepsze praktyki i do wiadczenia organizacje stopniowo zwi kszaj szanse zako czenia inicjatyw sukcesem. Baza projektów stanowi potencjalne ródło zastosowania procesu odkrywania wiedzy (ang. knowledge discovery in databases, KDD), którego jednym z istotnych kroków jest eksploracja danych (ang. data mining). Jest to dziedzina interdyscyplinarna, czerpi ca ze statystyki, matematyki, uczenia maszynowego (ang. machine learning), sztucznej inteligencji (ang. artificial intelligence), a tak e rozpoznawania wzorców (ang. pattern recognition). Polega na analizie du ych zbiorów danych z u yciem modeli w celu wydobycia wzorców, reguł i struktur [14, 7]. W ostatnim 20-leciu data mining stała si dziedzin niezmiernie popularn, której techniki s stosowanie w szerokim spektrum dyscyplin i gał zi przemysłu, takich jak bankowo, ubezpieczenia, telekomunikacja, czy medycyna do predykcji przyszłych zjawisk lub te identyfikacji prawidłowo ci. Swoj popularyzacj algorytmy eksploracji danych zawdzi czaj przede wszystkim wysok precyzj otrzymanych rezultatów, przez co umo liwiaj redukcj kosztów, zwi kszenie sprzeda y, zwi kszenie rodków na badania i rozwój, tym samym zapewniaj c osi gni cie przewagi konkurencyjnej.
POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 73, 2015 71 Zasadniczo wyró nia si dwie kategorie zada do jakich eksploracja danych mo e by stosowana: opisowe i predykcyjne, które mog by u yte zale nie od oczekiwanego rezultatu. Pierwsza z nich ma na celu scharakteryzowanie własno ci danych, natomiast predykcja odpowiada za wnioskowanie na podstawie zbioru danych, celem szacowania przyszłych warto ci [15, 21]. W praktyce szczególnie u yteczna jest grupa technik predykcyjnych, które maj charakter uczenia nadzorowanego. Wymagaj one posiadania danych odzwierciedlaj cych badane zjawisko w celu estymacji nowych warto ci. Przyjmuj one posta klasyfikacji lub regresji w zale no ci od typu zmiennej zale nej. W pierwszym przypadku ma ona charakter dyskretny (binarny lub nominalny), natomiast wynikiem regresji jest warto numeryczna. W grupie znanych technik predykcyjnych mo na wyró ni trzy algorytmy, które powszechnie uznawane s za dostarczaj ce dokładnych estymacji, a tak e s odporne na braki i szumy w danych, tak powszechne w zbiorach informacji u ywanych do procesu ich uczenia: ogólny model regresji (GLM), sieci neuronowe oraz drzewa decyzyjne. Pierwszy z nich stanowi rozszerzenie linearnej regresji i umo liwia predykcj zjawisk, gdy wyst puj nieliniowe zale no ci pomi dzy zmiennymi. GLM nie wymaga rozkładu normalnego oraz stałej wariancji zmiennej obja nianej, co stanowi istotn własno w przypadku, gdy zmienne niezale ne maj niejednakowy wpływ na zmienn wynikow. Sztuczne sieci neuronowe s zespołem algorytmów nieliniowej regresji, zaliczanych do technik uczenia maszynowego, znanych z wszechstronno ci zastosowania oraz dokładno ci modeli. Podstawow zalet sieci jest zdolno do pracy z wielowymiarowymi bazami danych, charakteryzuj cymi si niepełn informacj. Natomiast drzewa klasyfikacyjne, zaliczane równie do technik uczenia maszynowego i nadzorowanego, polegaj na intuicyjnym i graficznym odzwierciedleniu wiedzy za pomoc struktury drzewa oraz zbiorów w złów decyzyjnych poł czonych poprzez gał zie rozchodz ce si w dół korzenia, a do finalnych li ci. Te odnosz ce si do zmiennej w postaci nominalnej nazywane s drzewami klasyfikacyjnymi, natomiast w przypadku zmiennej zale nej ci głej drzewami regresyjnymi. 3. Przegl d literatury Wraz z popularyzacj technik data mining, w latach 90. rozpocz ły si liczne badania w obszarze ich zastosowania do zarz dzania projektami. S one aplikowane do takich problemów zwi zanych z przeprowadzaniem inicjatyw informatycznych jak: [1] wst pna estymacja szacowanie pracochłonno ci, bud etu oraz harmonogramu projektu na etapie inicjacji lub planowania projektu, [2] monitorowanie projektów estymacja zasobów niezb dnych do uko czenia projektu podczas jego trwania; opiera si przewa nie na szacowaniu wska ników metody monitorowania Earned Value Management (EVA) [16] [17], [3] jako oprogramowania predykcja ilo ci i klasy bł dów zidentyfikowanych podczas testów oraz czasu naprawy bł dów [18] [19], [4] estymacja kosztu utrzymania systemów szacowanie zasobów niezb dnych do utrzymania wdro onego systemu, dokonane na podstawie przewidywanych zmian w systemie i liczbie prognozowanych bł dów [20]. Spo ród wymienionych problemów, najwi kszym zainteresowaniem badaczy cieszył si problem wst pnej estymacji. Wynikało to ze wzgl dów pragmatycznych to bł dna estymacja
72 Andrzej Kobyli ski, Przemysław Pospieszny Zastosowanie technik eksploracji danych do estymacji pracochłonno ci projektów informatycznych niezb dnych zasobów uznawana jest za podstawow przyczyn niepowodze projektów informatycznych. Tab.1 zawiera spis wybranych publikacji z tego zakresu. Tab. 1. Wybrane publikacje z zakresu zastosowania technik eksploracji danych do predykcji zasobów projektu Lp Autor Tytuł Rok Zadanie Techniki Baza danych 1 I.Barcelos Tronto, J.Simoes da Silva, N. Sant'Anna 2 D.Dzega, W.Pietruszkiewicz 3 4 A.Bakır, B.Turhan, A.Bener Promise Data Repository, Software Engineering Research Laboratory (SoftLab) Repository ISBSG C.Lopez- Martin, C.Isaza, A.Chavoya 5 J.Balsera, F.Fernandez, V.Montequin, R.Suarez 6 K.Dejaeger, W.Verbeke, D.Martens, B.Baesens ródło: opracowanie własne. Comparison of Artificial Neural Network and Regression Models in Software Effort Estimation Classification and Metaclassification in Large Scale Data Mining Application for Estimation of Software Projects A comparative study for estimating software development effort intervals Software development effort prediction of industrial projects applying a general regression neural network Effort Estimation in Information Systems Projects using Data Mining Techniques Data Mining Techniques for Software Effort Estimation: A Comparative Study 2006 Estymacja pracochłonno ci 2009 Estymacja czasu trwania 2010 Estymacja pracochłonno ci 2011 Estymacja pracochłonno ci 2012 Estymacja pracochłonno ci i czasu trwania 2012 Estymacja pracochłonno ci Sieci neuronowe, regresja liniowa Drzewa decyzyjne: C4.5, random tree oraz CART Liniowa analiza dyskryminacyjna, k-najbli szych s siadów oraz drzewa decyzyjne Sieci neuronowe, regresja Drzewa decyzyjne MARS drzewa decyzyjne (M5, CART, MARS), sieci neuronowe, maszyna wektorów no nych oraz ró nego typu modele oparte na regresji liniowej COCOMO SourceForge ISBSG Cocnasa, Maxwell, USP05, CO- COMO, Desharnais, the Experience, ESA, ISBSG, and Euroclear
POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 73, 2015 73 Zasadniczo prace badawcze s prowadzone w odniesieniu do problematyki klasyfikacyjnej oraz predykcyjnej data mining i dotycz szacowania pracochłonno ci oraz czasu trwania zwi zanego z wytworzeniem produktu ko cowego. W zale no ci od stosowanego podej cia, cz bada po- wi cona jest wyłonieniu najbardziej efektywnego i dokładnie wyja niaj cego badane zjawisko algorytmu, poprzez budow wielu modeli i porównaniu wyników [18] [21] [22]. Inne natomiast koncentruj si na procesie przygotowania danych, od których zale ne s ko cowe rezultaty [23]. Analizy przedstawiane w publikacjach oparte s o ró ne bazy projektów zastosowanych w procesie uczenia algorytmów. Do najwa niejszych mo na zaliczy : COCOMO [24], Albrecht [25], NASA [26], SourceForge [27] oraz ISBSG [7]. Jako kryterium oceny modeli, standardem przyj tym do porównywania dokładno ci otrzymanych szacunków, jest stosowanie redniego wzgl dnego bł du (ang. mean relative error, MRE), redniego wzgl dnego bł du wielko ci (ang. mean magnitude of relative error, MMRE) oraz stosunku predykcji do warto ci rzeczywistych (PRED) [28]. Pomimo wielu publikacji i opracowywania przez badaczy licznych modeli wykorzystuj cych szeroki zakres algorytmów, pocz wszy od uczenia maszynowego, sko czywszy na regresji, dotychczas trudno jest zaobserwowa wdro enie technik eksploracji danych do estymacji zasobów projektów informatycznych w praktyce jakiejkolwiek organizacji. Wynika to przede wszystkim z braku standardowego podej cia ukierunkowanego na zastosowanie modeli w praktyce, czego efektem s ró nice w dokładno ci poszczególnych technik i niespójno wyników. Przyczyn tego zjawiska jest niedokładna konfiguracja algorytmów [29] oraz rodzaj bazy danych u ytej do procesu ich uczenia. Cz sto stosowane zbiory danych o projektach zawieraj niewielk ilo zapisów, co mo e powodowa przeuczenie algorytmów. Dodatkowo, brak jest ogólnie przyj tej metodyki przygotowania danych do modelu, co skutkuje stosowaniem ró nych podej w odniesieniu do warto ci odstaj cych oraz brakuj cych. 4. Estymacja pracochłonno ci z u yciem technik Data Mining Ta cz artykułu po wi cona jest estymacji pracochłonno ci projektów informatycznych z wykorzystaniem predykcyjnych technik eksploracji danych. Spo ród znanych licznych metod, metod wst pnej selekcji i w oparciu o przegl d literatury, do dalszych bada wybrano trzy algorytmy powszechnie uznane za generuj ce dokładne szacunki oraz odporne na brakuj ce i zaszumione dane: ogólny model liniowy, sieci neuronowe i drzewa decyzyjne CHAID. Pierwszy z nich stanowi rozszerzenie regresji liniowej i charakteryzuje si du a dokładno ci estymacji zło onych zjawisk. Spo ród algorytmów uczenia maszynowego wybrano sieci neuronów (perceptor wielowarstwowy MLP) oraz drzewa decyzyjne CHAID. Zalet pierwszego z nich jest odporno na warto ci odstaj ce i brakuj ce oraz du ilo zmiennych wej ciowych. Natomiast zalet drzew decyzyjnych CHAID jest graficzny sposób reprezentacji wiedzy. Algorytmy te zostan porównane, celem oceny ich zdolno ci do odzwierciedlania badanego zjawiska oraz ich potencjalnej przydatno ci do zastosowania w praktyce. Do budowy modeli zastosowano metodyk Cross-Industry Standard Process for Data Mining (CRISP-DM) [30], natomiast dane zostały pobrane z bazy danych o projektach ISBSG. W odró nieniu od innych dost pnych zbiorów danych o projektach informatycznych, baza ISBSG jest najbardziej kompletnym i wiarygodnym ródłem informacji na temat inicjatyw informatycznych realizowanych przez ró ne organizacje na całym wiecie. Baza ISBSG w wersji 12 (2013) u yta do budowy modeli, zawiera dane o 6006 projektach, jakie miały miejsce w ostatnich dwóch dekadach.
74 Andrzej Kobyli ski, Przemysław Pospieszny Zastosowanie technik eksploracji danych do estymacji pracochłonno ci projektów informatycznych Projekty te zrealizowano głównie w sektorze komunikacyjnym, przemysłowym, finansowym i usługowym. W ramach przygotowania danych wst pnie wybrano 28 zmiennych niezale nych, które na podstawie przeprowadzonego przegl du literatury oraz dokonanej analizy zale no ci, potencjalnie mogłyby obja nia zmienn zale n : pracochłonno. Nast pnie usuni to obserwacje o danych słabej jako ci i zawieraj ce znacz c ilo warto ci brakuj cych. Za kryterium odrzucenia warto ci odstaj cych, które równie mogłyby wpłyn negatywnie na proces uczenia si algorytmów, przyj to potrójne odchylenie standardowe od redniej wielko ci pracochłonno ci. Tab. 2. Wyniki testów Kołomogorowa-Smirnowa oraz Shapiro-Wilka na normalno rozkładów zmiennej Normalised Work Effort Kołmogorow-Smirnowa Shapiro-Wilk Statystyka df Istotno Statystyka df Istotno Normalised Work Effort 0,207 1494,000 0,734 1494,000 ródło: opracowanie własne. Rys. 2. Wykres normalno ci Kwantyl-Kwantyl dla zmiennej Normalised Work Effort ródło: wydruk z SPSS Statistics. W ramach przygotowania danych zbadano równie rozkład warto ci zmiennej obrazuj cej pracochłonno, która wykazała prawosko no oraz du koncentracj wyników wokół redniej (rozkład leptokurtyczny). Do potwierdzenia odst pstwa od rozkładu normalnego przeprowadzono test Kołomogorowa-Smirnowa oraz Shapiro-Wilka. Dla badanego zjawiska istotno statystyk p nie przekroczyła warto ci 0,05, tak wi c nale y odrzuci hipotez zerow o rozkładzie normalnym analizowanych zmiennych. Parametryczne algorytmy eksploracji danych oraz niektóre z grupy uczenia si maszynowego, takie jak sieci neuronowe, generuj lepsze wyniki w przypadku wyst powania
POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 73, 2015 75 rozkładu normalnego. W zwi zku z tym zmienn zale n poddano transformacji przez logarytmowanie. W rezultacie przygotowania danych otrzymano zbiór 13 zmiennych przedstawionych w tabeli 3 oraz 1494 obserwacji. Lp. Nazwa zmiennej 1 Industry Sector 2 Application Type 3 Development Type 4 Development Platform 5 Language Type 6 Package customization Tab. 3. Zmienne u yte do budowy modeli predykcyjnych Opis Rodzaj Liczba kategorii Rola Sektor przemysłu Nominalna 14 Predyktor Rodzaj aplikacji Nominalna 16 Predyktor Typ dewelopmentu (nowy, rozwój, redewelopment) Platforma sprz towa (PC, Mid Range, Mainframe lub Multiplatform) Rodzaj j zyka programowania (2GL, 3GL, 4GL) Czy wymagane było dopasowanie gotowego systemu? (tak, nie, brak informacji) Nominalna 3 Predyktor Nominalna 4 Predyktor Nominalna 3 Predyktor Nominalna 3 Predyktor 7 Relative Size Klasa wielko ci aplikacji Nominalna 7 Predyktor 8 Architecture Architektura systemu Nominalna 6 Predyktor 9 Agile Czy zastosowano metodyk zwinn? 10 Used Czy zastosowano Methodology metodyk? (tak, nie, brak 11 Resource Level informacji) Rodzaj zasobów projektowych: (zespół projektowy, zespół utrzymaniowy, zespół wsparcia, u ytkownicy ko cowi) 12 Effort Pracochłonno projektu w roboczomiesi cach, zlogarytmowana ródło: Opracowanie własne. Flaga 2 Predyktor Nominalna 3 Predyktor Nominalna 4 Predyktor Ilo ciowa -- Przewidywana
76 Andrzej Kobyli ski, Przemysław Pospieszny Zastosowanie technik eksploracji danych do estymacji pracochłonno ci projektów informatycznych W celu wyboru zmiennych istotnie wpływaj cych na pracochłonno, a tak e w celu zbadania współzale no ci pomi dzy zmiennymi zale nymi, wykonano analiz korelacji Pearsona oraz regresj krokow. Najsilniejsza korelacja wyst powała pomi dzy zmienn pracochłonno (effort) a długo ci trwania (duration) (współczynnik Pearsona na poziomie 0,47) oraz wielko projektu (0,672). Pozostałe zmienne miały wpływ na pracochłonno na znacznie ni szym poziomie (0,1-0,2). Ze wzgl du na wyst puj c relatywnie siln korelacj pomi dzy zmienn effort i duration oraz na fakt, e czas trwania projektu jest wyznaczany przewa nie na podstawie przewidywanej pracochłonno ci zdecydowano o usuni ciu zmiennej duration ze zbioru wej ciowego. Dodatkowo, wspomniana wyst puj ca silna zale no tych zmiennych mogłaby marginalizowa wpływ pozostałych czynników na dostarczane estymacje pracochłonno ci przez zbudowane modele eksploracji danych. Tab. 4. Współczynniki dopasowania modelu regresji krokowej dla zmiennej zale nej effort Model R R- kwadrat Skorygowane R- kwadrat Bł d standardowy oszacowania Predyktory 1,672,451,451,430 (Stała), Relative Size 2,686,471,471,422 (Stała), Relative Size, Language Type 3,697,486,485,416 (Stała), Relative Size, Language Type, Development Platform 4,700,490,489,414 (Stała), Relative Size, Language Type, Development Platform, Package Customization 5,702,493,492,413 (Stała), Relative Size, Language Type, Development Platform, Package Customization, Development Type ródło: opracowanie własne na podstawie wydruku SPSS Statistics. Regresja krokowa wprowadziła do modelu 5 zmiennych w nast puj cej kolejno ci (według malej cego wpływu na zmienn zale n ): Relative Size, Language Type, Development Platform, Package Customization i Development Type. Jednak, jak wykazała analiza korelacji, wszystkie zmienne maj istotny wpływ na predykcj pracochłonno ci. Dlatego do budowy modeli zdecydowano si u y pełnego zestawu czynników przedstawionego w tabeli 4. Wyselekcjonowany uprzednio zbiór danych zawieraj cy 1494 kompletnych obserwacji podzielono na treningowy (80%) i testowy (20%). Pierwszy z nich został wykorzystany do procesu uczenia modeli, natomiast drugi do ich walidacji. Do budowy modeli wykorzystano oprogramowanie IBM SPSS Modeler. Do predykcji zmiennej ci głej pracochłonno zastosowano trzy algorytmy eksploracji danych: ogólny model liniowy (GLM), sie neuronowa (perceptor wielowarstwowy MLP) oraz drzewo decyzyjne CHAID. W przypadku pierwszego zastosowano rozkład normalny, funkcje ł cz c to samo oraz metod parametru skali Chi-kwadrat. Odno nie do sieci neuronowych u yto jednej warstwy ukrytej, funkcji aktywacji typu tangens hiperboliczny. Natomiast w przypadku drzew decyzyjnych zastosowano algorytm podziału drzewa opartego na Chi-
POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 73, 2015 77 kwadrat, maksymaln gł boko drzewa wynosz c pi poziomów i kryterium zatrzymania wynosz ce minimum 2% rekordów w gał zi nadrz dnej i 1% w podrz dnej. W celu ewaluacji zbudowanych trzech modeli oraz oceny ich dokładno ci w predykcji pracochłonno ci projektów informatycznych zastosowano miary prognozy ex post takie jak: redni bł d (ang. mean error, ME), redni absolutny bł d (ang. mean absolute error, MAE), redni bł d kwadratowy (ang. mean squared error, MSE) oraz pierwiastek bł du redniokwadratowego (ang. root mean squared error, RMSE) [15, 362 363] [31, 44 45]. Do oceny modeli szacuj cych pracochłonno inicjatyw zwyczajowo stosuje si dodatkowe miary, które u ywane s do porównywania efektywno ci poszczególnych podej. Do wspomnianych wielo ci odnosi si moduł bł du wzgl dnego (ang. magnitude of relative error, MRE), redni moduł bł du wzgl dnego (ang. mean magnitude of relative error, MMRE) i stosunek predykcji do warto ci rzeczywistych (PRED). W estymacji projektów informatycznych (kryterium Conte a) przyjmuje si poziom wska nika PRED na poziomie PRED(0,25) 0,75, co interpretuje si jako: przynajmniej 75% warto ci przewidywanych zawiera si w 25% rzeczywistych. Natomiast MMRE powinno by mniejsze lub równe od 0,25. W rzeczywisto ci oba poziomy s rzadko osi gane w praktyce [28] [32]. Tab. 5. Porównanie wska ników oceny algorytmów zastosowanych do predykcji pracochłonno ci Drzewo decyzyjne Ogólny model linowy Sie neuronowa CHAID Uczenie Test Uczenie Test Uczenie Test ME 0,000-0,012 0,008 0,002 0,000-0,008 MAE 0,288 0,310 0,308 0,331 0,287 0,313 MSE 0,139 0,162 0,159 0,175 0,140 0,169 RMSE 0,373 0,402 0,398 0,418 0,374 0,412 MMRE 0,203 0,053 0,226 0,113 0,225 0,050 PRED(0,25) 0,599 0,604 0,571 0,545 0,612 0,607 PRED(0,3) 0,680 0,662 0,657 0,623 0,680 0,662 ródło: opracowanie własne. Tabela 5 przedstawia miary oceny trzech modeli: ogólnego modelu liniowego, sieci neuronowej i drzewa decyzyjnego CHAID. Jak wynika z danych zawartych w tej tabeli, wszystkie trzy algorytmy posiadaj wska niki bł du i jako ci dopasowania na bardzo zbli onym poziomie, przy czym nieznacznie dokładniejsze predykcje generuje ogólny model liniowy. redni bł d prognozy (RMSE) dla tego modelu w zbiorze testowym był na poziomie 0,402, co oznacza, e o t warto rednio odchylaj si predykcje pracochłonno ci od warto ci rzeczywistych. Dla porównania wska nik ten dla sieci neuronowej wynosił 0,418 oraz drzewa decyzyjnego 0,412. Tak wi c ró nice bł du dla poszczególnych technik były niewielkie. Warto ci RMSE w niewielkim stopniu odchylały si od redniego bezwzgl dnego bł du (MAE), st d mo na wnioskowa o braku wyst powania bł dów o du ych warto ciach.
78 Andrzej Kobyli ski, Przemysław Pospieszny Zastosowanie technik eksploracji danych do estymacji pracochłonno ci projektów informatycznych Analizuj c redni moduł bł du wzgl dnego (MMRE) mo na zauwa y, e był on wy szy dla zbioru treningowego, gdzie nieznacznie przekracza 20%, ni testowego (1 5%) dla wszystkich zastosowanych algorytmów. Jego poziom wiadczy o popełnianiu do 20% bł du szacuj c z u yciem ogólnego modelu liniowego, sieci neuronowej oraz drzewa decyzyjnego. MMRE dla wspomnianych technik, b d c na poziomie mniejszym ni 25%, spełnia kryterium Conte a o dobrej zdolno ci predykcyjnej zbudowanych modeli. Warto ci PRED oscyluj wokół 60%, czyli na tym poziomie warto ci szacowane zawierały si w 25% pracochłonno ci rzeczywistej. Jest to ni szy poziom ni zakładany przez Conte a ( 75%), jednak bior c pod uwag ilo obserwacji i zmiennych u ytych do szacowania mo na uzna wysoko PRED na bardzo dobrym poziomie. Resumuj c, na podstawie zastosowanych wska ników oceny poszczególnych technik mo na stwierdzi, e modele: ogólny model liniowy, sie neuronowa oraz drzewo decyzyjne CHAID charakteryzuj si dobr zdolno ci predykcji pracochłonno ci projektów informatycznych. Generowane bł dy były niewielkie i na podobnym poziomie, przy czym nieznacznie lepsze predykcje uzyskano stosuj c ogólny model liniowy. Ponadto wszystkie modele cechowały si dobrym dopasowaniem do danych wej ciowych i mog by zastosowane osobno lub razem do szacowania pracochłonno ci zwi zanej z dostarczeniem produktu finalnego projektu. 5. Zako czenie Estymacja pracochłonno ci projektów informatycznych jest jedn z istotniejszych czynno ci przeprowadzanych w pocz tkowych fazach ycia inicjatywy, od której warunkowany jest sukces projektu i wytworzenie produktu ko cowego. Dost pne techniki szacowania parametrów projektów polegaj w du ej mierze na subiektywnej ocenie asesora, co w przypadku niewykwalifikowanego personelu mo e prowadzi do nadmiernie optymistycznych estymacji. Dodatkowo cz sto wymagaj one dokonywania manualnych oblicze, co w przypadku zło onych projektów jest czaso- i pracochłonne. Techniki data mining s powszechnie wykorzystywane s w praktyce do zagadnie charakteryzuj cych si du ym niepewno ci i prawdopodobie stwem materializacji ryzyk. Dlatego te istnieje du y potencjał do ich zastosowania w organizacjach w celu wsparcia procesu estymacji pracochłonno ci projektów informatycznych poprzez zautomatyzowane modele generuj ce predykcje na podstawie danych historycznych. W niniejszej pracy porównano dokładno szacunków trzech algorytmów predykcyjnych. Ka dy z nich dostarczał dokładnych szacunków, tym samym udowodnione zostało, e istnieje potencjał na ich wdro enie w praktyce. Najlepsze rezultaty generował ogólny model liniowy, jednak jego przewaga była nieznaczna. Wdro enie algorytmów eksploracji danych do praktyki projektowej wymaga dysponowania historyczn baz projektów informatycznych. W wi kszo ci organizacji za utrzymanie takiej bazy odpowiada PMO (biuro projektów, ang. Project Management Office), które zbiera dane o przedsi wzi ciach przewa nie do celów raportowych. Aby algorytmy predykcyjne dawały wiarygodne rezultaty, trzeba unikn przeuczenia si algorytmów, wi c baza powinna zawiera wi ksz od 100 liczb inicjatyw oraz kilka do kilkunastu charakterystyk przedsi wzi. Istotnym aspektem bazy projektów jest jako danych w niej zawartych. Powinny by one weryfikowane i systematycznie aktualizowane, tak aby zapewni dokładno modelu wdro onego w praktyce. W zwi zku z tym mo na oczekiwa, e organizacjami, w których do wsparcia procesu estymacji pracochłonno ci projektów informatycznych mog by stosowane modele data mining, powinny by dojrzałe
POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 73, 2015 79 organizacje, na przykład posiadaj ce certyfikacj CMMI (ang. capability maturity model integration). Jako danych ma bezpo redni wpływ na predykcje generowane przez algorytmy eksploracji danych. W przypadku wyst puj cych warto ci brakuj cych lub odstaj cych predykcje mog by niepoprawne. Dlatego te istotnym etapem wdro enia modeli jest odpowiednie przygotowanie danych wej ciowych, tak aby wykluczy czynniki mog ce zakłóci poprawn estymacj. Dodatkowo algorytmy data mining mog dostarcza szacunków o ró nym poziomie dokładno ci w zale no ci od charakterystyki wykorzystywanego zbioru projektów. St d w celu unikni cia tego zjawiska powinny by one u yte w formie zespolonej, gdzie przykładowo wyniki dostarczane przez trzy algorytmy generuj ce estymaty na podobnym poziomie powinny by u rednione, eby zniwelowa mo liwo wyst pienia anomalii wytworzonej przez który z modeli indywidualnych. Pomimo e w ostatnich latach podejmowano wielokrotnie w pracach badawczych tematyk zastosowania algorytmów data mining do estymacji pracochłonno ci projektów informatycznych, brak jest jakichkolwiek doniesie o ich praktycznych wdro eniach. Sytuacja ta mo e wynika z nadmiernej koncentracji badaczy na dokładno ci szacunków dostarczanych przez poszczególne techniki, a nie na wypracowaniu podej cia i metodyki wdro enia algorytmów w organizacjach. Wobec tego, kolejne prace powinny dotyczy mo liwo ci implementacji zespolonego modelu algorytmów data mining w wybranej organizacji celem weryfikacji ich przydatno ci do estymacji pracochłonno ci przedsi wzi, jako narz dzia wsparcia decyzyjnego oraz stanowi cego alternatywne podej cie wobec istniej cych stosowanych dotychczas technik estymacji parametrów projektów. Bibliografia [1] Marchewka J., Information Technology Project Managment Providing Measurable Organizational Value, Management, Wiley 2003. [2] Standish Group, The CHAOS Manifesto 2011, The Standish Group International. EUA, 2011. [3] Czarnacka-Chrobot B., Analysis of the functional size measurement methods usage by Polish business software systems providers, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2009, t.5891 LNCS, s. 17 34. [4] Eveleens J., Verhoef C., The rise and fall of the chaos report figures, IEEE software, 2010. [5] Kemerer C.F., Reliability of function points measurement: a field experiment, Communications of the ACM, 1993, t.36, nr 2, s. 85 97. [6] Galorath D., Evans M., Software Sizing, Estimation, and Risk Management, Auerbach Publications 2006, s. 573. [7] The International Software Benchmarking Standards Group (ISBSG), http://www.isbsg.org [8] McConnell S., Software Estimation: Demystifying the Black Art: Demystifying the Black Art, Microsoft Press 2009. [9] Boehm B.W., Software Engineering Economics, Prentice Hall., 1981, t.10, s. 4 21. [10] Laird L.M., Brennan M.C., Software Measurement and Estimation: A Practical Approach, John Wiley & Sons 2006, s. 257.
80 Andrzej Kobyli ski, Przemysław Pospieszny Zastosowanie technik eksploracji danych do estymacji pracochłonno ci projektów informatycznych [11] Hill P., i International Software Benchmarking Standards Group, Practical Software Project Estimation: A Toolkit for Estimating Software Development Effort & Duration, McGraw Hill Professional 2010, s. 312. [12] Gasik S., A model of project knowledge management, Project Management Journal, 2011, t.42, nr 3, s. 23 44. [13] Project Management Institute, A Guide to the Project Management Body of Knowledge PMBOK Guide, PMI Book, Project Management Institute 2013, Fifth Edit. [14] Linoff G.S., Berry M.J.A., Data Mining Techniques: For Marketing, Sales, and Customer Relationship Management, John Wiley & Sons 2011. [15] Han J., Kamber M., Pei J., Data Mining: Concepts and Techniques, Morgan Kaufmann 2006. [16] Iranmanesh S.H., Mokhtari Z., Application of data mining tools to predicate completion time of a project, Proceeding of world academy of science, engineering and technology, 2008, t.32, s. 234 240. [17] Azzeh M., Cowling P.I., Neagu D., Software stage-effort estimation based on association rule mining and Fuzzy set theory, Proceedings 10th IEEE International Conference on Computer and Information Technology, CIT-2010, 7th IEEE International Conference on Embedded Software and Systems, ICESS-2010, ScalCom-2010, 2010, s. 249 256. [18] Balsera J.V., Montequin V.R., Fernandez F.O., González-Fanjul C.A., Data Mining Applied to the Improvement of Project Management, InTech, 2012. [19] Nagwani N.K., Bhansali A., A data mining model to predict software bug complexity using bug estimation and clustering, ITC 2010 2010 International Conference on Recent Trends in Information, Telecommunication, and Computing, 2010, s. 13 17. [20] Shukla R., Shukla M., Misra A.K., Marwala T., Clarke W.A., Dynamic software maintenance effort estimation modeling using neural network, rule engine and multi-regression approach, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2012, vol. 7336 LNCS, s. 157 169. [21] Dzega D., Pietruszkiewicz W., Classification and metaclassification in large scale data mining application for estimation of software projects, 2010 IEEE 9th International Conference on Cybernetic Intelligent Systems, CIS 2010, 2010. [22] Dejaeger K., Verbeke W., Martens D., Baesens B., Data mining techniques for software effort estimation: A comparative study, IEEE Transactions on Software Engineering, 2012, t.38, s. 375 397. [23] Lopez-Martin C., Isaza C., Chavoya A., Software development effort prediction of industrial projects applying a general regression neural network, Empirical Software Engineering, 2012, t.17, s. 738 756. [24] Reifer D.J., Boehm B.W., Chulani S., The rosetta stone: Making COCOMO 81 Files Work With COCOMO II, University of South California, 1998, s. 1 10. [25] Albrecht A.J., Gaffney J.E.. J., Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation, IEEE Transactions on Software Engineering, 1983, t.se-9. [26] PROMISE Software Engineering Repository, http://promise.site.uottawa.ca/ SERepository/datasets/cocomonasa.arff. [27] SourceForge, http://sourceforge.net/.
POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 73, 2015 81 [28] Conte S.D., Dunsmore H.E., Shen V.Y., Software engineering metrics and models, Benjamin/Cummings Pub. Co. 1986. [29] Paliwal M., Kumar U., Neural networks and statistical techniques: A review of applications, Expert Systems with Applications, 2009, t.36, s. 2 17. [30] Pete C., Julian C., Randy K., Thomas K., Thomas R., Colin S., Wirth R., CRISP-DM 1.0, CRISP-DM Consortium, 2000. [31] Larose D.T., Data Mining Methods and Models, John Wiley & Sons 2007. [32] Jorgensen M., A Critique of How We Measure and Interpret the Accuracy of Software Development Effort Estimation, 1st International Workshop on Software Productivity Analysis and Cost Estimation, 2007, s. 15 22.
82 Andrzej Kobyli ski, Przemysław Pospieszny Zastosowanie technik eksploracji danych do estymacji pracochłonno ci projektów informatycznych APPLICATION OF DATA MINING TECHNIQUES FOR SOFTWARE PROJECT EFFORT ESTIMATION Summary In the current fast pace of the world information plays significant role. It determines companies adaptation abilities to changing market requirements in order to achieve competitive advantage. In recent years data exploration techniques, especially data mining, are utilitised for multiple disciplines as a decision support tool delivering key management information. These techniques are widely used for areas where uncertainty is substantial and where is a high risk of adverse occurrence such as credit scoring and customer churn that may lead to financial loses. In terms of software project management, data mining techniques potentially enable wide range of applications. Foremost they can be used for initial project phases where information about final product is partial due to undefined requirements and when project practitioners are obliged to estimate resources needed for successful project completion. The aim of this article is to discuss possible application of data mining techniques for software effort estimation at the initial project stages when uncertainty and risk occurrence is high. For that purpose three machine learning algorithms are used to build predictive models: generalised linear models, neural networks and decision trees CHAID. The estimation accuracy of these models is compared in order to determine their potential deployment within organisations and which could be applied in combination with traditional and parametric effort estimation techniques or as a sole tool that provide decision support information. Keywords: data mining, data exploration, predictive algorithms, software project management, software estimation, effort estimation Andrzej Kobyli ski Przemysław Pospieszny Instytut Informatyki i Gospodarki Cyfrowej Szkoła Główna Handlowa w Warszawie e-mail: kobyl@sgh.waw.pl