INFORMATYKA EKONOMICZNA BUSINESS INFORMATICS 2(32) 2014 Wydawnictwo Uniwersytetu Ekonomicznego we Wrocławiu Wrocław 2014
Redaktor Wydawnictwa: Dorota Pitulec Redaktor techniczny: Barbara Łopusiewicz Korektor: Hanna Jurek Łamanie: Barbara Szłapka Projekt okładki: Beata Dębska Publikacja jest dostępna w Internecie na stronach: www.ibuk.pl, www.ebscohost.com, w Dolnośląskiej Bibliotece Cyfrowej www.dbc.wroc.pl, The Central European Journal of Social Sciences and Humanities http://cejsh.icm.edu.pl, The Central and Eastern European Online Library www.ceeol.com, a także w adnotowanej bibliografii zagadnień ekonomicznych BazEkon http://kangur.uek.krakow.pl/ bazy_ae/bazekon/nowy/index.php Informacje o naborze artykułów i zasadach recenzowania znajdują się na stronie internetowej Wydawnictwa www.wydawnictwo.ue.wroc.pl Kopiowanie i powielanie w jakiejkolwiek formie wymaga pisemnej zgody Wydawcy Copyright by Uniwersytet Ekonomiczny we Wrocławiu Wrocław 2014 ISSN 1507-3858 Wersja pierwotna: publikacja drukowana Druk i oprawa: EXPOL, P. Rybiński, J. Dąbek, sp.j. ul. Brzeska 4, 87-800 Włocławek
Spis treści Wstęp:... 9 Część 1. Informatyka w organizacji Zbigniew Antczak: Wpływ narzędzi informatycznych na kierunki ewolucji funkcji personalnej w przedsiębiorstwach w Polsce w XXI wieku... 13 Ewa Badzińska: Indywidualizacja rozwiązań ICT w praktyce gospodarczej na przykładzie start-upów akademickich... 24 Grzegorz Biziel, Adam Pyka, Tomasz Skalniak, Jan Słowik: Platforma zarządzania usługami jako narzędzie wspierające życie osób starszych... 33 Iwona Chomiak-Orsa, Michał Flieger: Wykorzystanie technologii informacyjno-komunikacyjnych determinantą doskonalenia komunikacji z interesariuszami w gminach... 41 Małgorzata Furmankiewicz, Anna Sołtysik-Piorunkiewicz, Piotr Ziuziański: Artificial intelligence and multi-agent software for e-health knowledge management system... 51 Małgorzata Furmankiewicz, Anna Sołtysik-Piorunkiewicz, Piotr Ziuziański: Zaawansowane techniki graficznej analizy danych epidemiologicznych na kokpicie menedżerskim... 64 Wiesława Gryncewicz, Karol Łopaciński: Technologia informacyjna jako determinanta rozwoju e-usług w sektorze medycznym i rehabilitacyjnym. 78 Jarosław Jankowski, Maciej Janiak: Zastosowanie modeli wnioskowania rozmytego w projektowaniu struktury interfejsu systemu rekomendującego. 86 Jerzy Korczak: Chmura obliczeniowa dla logistyki projekt LOGICAL... 95 Krzysztof Kubiak: Przepływy wartości z wykorzystaniem narzędzi ICT case study... 106 Bernard F. Kubiak: Model informacji strategicznej w obsłudze procesów biznesowych przemysłu turystycznego... 116 Iwona Małgorzata Kutzner: Wykorzystanie Visual Basic w procesie rekrutacji i selekcji pracowników na przykładzie Instytutu Edukacji Gospodarczej Sp. z o.o.... 133 Maja Leszczyńska: Analiza i ocena uwarunkowań oraz możliwości wirtualizacji procesów wdrażania i utrzymywania systemów informatycznych... 156
6 Spis treści Józef Bohdan Lewoc, Iwona Chomiak-Orsa, Antoni Izworski, Sławomir Skowroński, Antonina Kieleczawa, Marion Ann Hersh, Peter Kopacek: Optimization of network topology in a CIMM system used in organization management... 168 Maria Mach-Król: Narzędzia budowy systemu z temporalną bazą wiedzy wspomagającego twórczość organizacyjną... 179 Adam Nowicki, Bogdan Burkot: Zarys koncepcji doskonalenia procesów programowych podejście systemowe... 188 Maria Pietruszka, Marian Niedźwiedziński: Third dimension of e-commerce... 198 Cezary Stępniak, Tomasz Turek: Technologiczne uwarunkowania budowy regionalnej społeczności biznesowej... 213 Radosław Wójtowicz: Wdrażanie systemów klasy Enterprise Content Management jako złożone przedsięwzięcie informatyczne... 223 Łukasz Żabski: Functions of the integrated computer system of Ministry of the Treasury within the scope of exercising the owner s supervision... 235 Część 2. Dydaktyka Ewa Badzińska: Potencjał urządzeń mobilnych i gamifikacji w usługach edukacyjnych... 251 Paweł Chrobak: Wdrażanie infrastruktury VDI w środowisku akademickim studium przypadku... 262 Dorota Jelonek, Barbara Łukasik-Makowska: Efekty kształcenia jako podstawa projektowania programu studiów na kierunku Informatyka ekonomiczna... 274 Arkadiusz Januszewski: Zastosowanie technologii informatycznych w kształceniu studentów w zakresie controllingu i rachunkowości zarządczej... 300 Jerzy Korczak, Witold Abramowicz, Jerzy Gołuchowski, Andrzej Kobyliński, Mieczysław Owoc: Wzorcowy program studiów licencjackich kierunku Informatyka ekononomiczna koncepcja wstępna... 311 Karol Korczak, Konrad Szymański: Wykorzystanie wiedzy z zakresu Informatyki ekonomicznej w procesie modelowania ścieżek kształcenia... 338 Barbara Łukasik-Makowska, Jerzy Korczak, Paweł Chrobak, Maciej Bac: Wykorzystanie technologii informacyjnych w procesach wdrażania Krajowych Ram Kwalifikacji dla Szkolnictwa Wyższego... 350 Karolina Muszyńska, Jakub Swacha: Wykorzystanie narzędzi komunikacji, współpracy i wymiany plików przez studentów kierunków Informatyka i Zarządzanie... 365 Małgorzata Pańkowska: Prezentacja efektów kształcenia w kartach przedmiotów... 376
Spis treści 7 Summaries Part 1. Informatics in organization Zbigniew Antczak: The influence of information tools on the evolution trends of hr function in enterprises in Poland in the XXI st century... 23 Ewa Badzińska: Individualization of ICT solutions in business practice on the example of academic start-ups... 32 Grzegorz Biziel, Adam Pyka, Tomasz Skalniak, Jan Słowik: Service management platform as an independent living supporting tool for senior citizens... 40 Iwona Chomiak-Orsa, Michał Flieger: ICT technologies as a way to improve communication with stakeholders in local governments... 50 Małgorzata Furmankiewicz, Anna Sołtysik-Piorunkiewicz, Piotr Ziuziański: Sztuczna inteligencja i multiagenci oprogramowania w systemie zarządzania wiedzą w e-zdrowiu... 63 Małgorzata Furmankiewicz, Anna Sołtysik-Piorunkiewicz, Piotr Ziuziański: Advanced techniques for graphical analysis of epidemiological data on management dashboard... 77 Wiesława Gryncewicz, Karol Łopaciński: Information technology as a determinant of e-services development in medical and rehabilitation sector.. 85 Jarosław Jankowski, Maciej Janiak: Application of fuzzy inference models in the Web recommending interface design... 94 Jerzy Korczak: Architecture of computing cloud LOGICAL project... 105 Krzysztof Kubiak: Value stream flow using ICT tools case study... 115 Bernard F. Kubiak: Model of strategic information in support of business processes of the tourism industry... 132 Iwona Małgorzata Kutzner: Usage of Visual Basics in the process of recruitment and selection of employees at IEG LLC... 155 Maja Leszczyńska: Analysis and evaluation of determinants and possibilities of virtualization of implementation and maintenance processes of it systems... 167 Józef Bohdan Lewoc, Iwona Chomiak-Orsa, Antoni Izworski, Sławomir Skowroński, Antonina Kieleczawa, Marion Ann Hersh, Peter Kopacek: Optymalizacja topologii sieci w systemach CIMM wykorzystywana w zarządzaniu organizacjami... 178 Maria Mach-Król: Tools for developing a system with temporal knowledge base to support organizational creativity... 187 Adam Nowicki, Bogdan Burkot: Draft of a concept for software process improvement system approach... 197
8 Spis treści Maria Pietruszka, Marian Niedźwiedziński: Trzeci wymiar w e-commerce... 212 Cezary Stępniak, Tomasz Turek: Technological conditionings of regional spatial community creation... 222 Radosław Wójtowicz: Implementation of ECM As a complex it project... 234 Łukasz Żabski: Funkcje zintegrowanego systemu informatycznego Ministerstwa Skarbu Państwa w zakresie sprawowania nadzoru właścicielskiego.. 248 Part 2. Didactics Ewa Badzińska: Potential of mobile devices and gamification in educational services... 261 Paweł Chrobak: Implementation of VDI infrastructure in an academic environment case study... 273 Dorota Jelonek, Barbara Łukasik-Makowska: Learning outcomes as the base for program of studies design at the business informatics field of study... 299 Arkadiusz Januszewski: Application of information technology to managerial accounting and financial controlling at the university-level education. 310 Jerzy Korczak, Witold Abramowicz, Jerzy Gołuchowski, Andrzej Kobyliński, Mieczysław Owoc: Standard program of bachelor study in Business Informatics preliminary concept... 337 Karol Korczak, Konrad Szymański: The use of knowledge of business informatics in the learning pathways modeling process... 349 Barbara Łukasik-Makowska, Jerzy Korczak, Paweł Chrobak, Maciej Bac: USe of it in implementation process of the National Framework of Qualification Standards for Higher Education... 364 Karolina Muszyńska, Jakub Swacha: Use of communication, collaboration and file sharing tools by students of information technology and management... 375 Małgorzata Pańkowska: Learning outcomes presentation in course cards... 387
INFORMATYKA EKONOMICZNA BUSINESS INFORMATICS 2(32) 2014 ISSN 1507-3858 Adam Nowicki Politechnika Częstochowska e-mail: nowicki@zim.pcz.czest.pl Bogdan Burkot Sygnity SA e-mail: bogdan.burkot@gmail.com ZARYS KONCEPCJI DOSKONALENIA PROCESÓW PROGRAMOWYCH PODEJŚCIE SYSTEMOWE Streszczenie: Artykuł opisuje problem doskonalenia procesów programowych. W pierwszej części przedstawiono pięć modeli ich doskonalenia: PDCA, SIX SIGMA, ISO, CMMI i IDEAL. Artykuł zwraca uwagę na ważną rolę w procesie doskonalenia modeli referencyjnych procesów programowych oraz modeli oceny dojrzałości procesów. Przedstawiono zarys autorskiej koncepcji doskonalenia procesów programowych, w której punktem wyjścia jest strategia poprawy systemu informacyjnego, z uwzględnieniem kwestii zarządzania strategicznego, zakładająca wykorzystanie metod i technik inżynierii oprogramowania. Koncepcja doskonalenia procesów programowych wyróżnia pięć etapów: rozpoznanie problemu, badania strategiczne i analizę sytuacyjną systemu wykonawczego, określenie strategii doskonalenia, opracowanie projektu doskonalenia oraz realizację projektu doskonalenia. Słowa kluczowe: doskonalenie procesów programowych, podejście systemowe, modele dojrzałości procesów. DOI: 10.15611/ie.2014.2.16 1. Wstęp Projekty informatyczne obejmujące wytworzenie i dostawę oprogramowania zbyt często kończą się niepowodzeniem definiowanym jako przekroczenie zakładanego budżetu, czasu lub niedostateczna jakość [Kruchten 2007, s. 4]. Według W. Humphreya jakość oprogramowania można polepszyć poprzez doskonalenie procesów jego wytwarzania [Olson, Humphrey, Kitson 1989]. Takie założenie to fundament koncepcji doskonalenia procesów oprogramowania (Software Process Improvement). W. Humphrey definiuje proces programowy (software process) jako zbiór działań, metod oraz praktyk, które wskazują, jak realizować produkcję oprogramowania. Według niego doskonalenie oprogramowania to ciągłe stosowanie praktyk, by osiągać pozytywne rezultaty, a także modyfikowanie tych, które są przyczyną proble-
Zarys koncepcji doskonalenia procesów programowych... 189 mów [Wiegers 1999]. Doskonalenie procesów powinno być ukierunkowane przez cele, jakie zamierza osiągnąć organizacja. Implementacja koncepcji doskonalenia w organizacji wymaga zapewnienia odpowiedniego środowiska. Jego kluczowe elementy stanowią: infrastruktura, metody oceny procesów, mapa drogowa ich doskonalenia oraz plan ich doskonalenia. W ramach infrastruktury, oprócz zasobów finansowych i technicznych, istotną rolę odgrywa organizacja zespołów. Mapa drogowa doskonalenia pokazuje kolejne poziomy dojrzałości, jakie organizacja zamierza osiągnąć. Metody oceny procesów mają na celu wskazanie mocnych i słabych stron procesów. W oparciu o wyniki ocen procesów opracowywany jest plan doskonalenia. K.E. Wiegers wskazuje następujące fazy procesu doskonalenia: definicja celów organizacji, ocena aktualnego stanu procesów, określenie celów doskonalenia dla określonych obszarów lub procesów, wybór projektów pilotażowych, implementacja zmian w organizacji i ich monitorowanie oraz podejmowanie działań dostosowawczych. Doskonalenie procesów programowych nie jest działaniem jednorazowym, lecz wymaga ciągłej realizacji. Przedstawione definicje doskonalenia procesów programowych, opisane w literaturze z zakresu inżynierii oprogramowania, podkreślają głównie aspekt implementacyjny doskonalenia, związany ze wspierającymi je metodami, technikami oraz narzędziami. W związku z brakiem systemowego ujęcia zagadnienia, uwzględniającego dorobek nauk o zarządzaniu, wyłoniła się struktura artykułu. W pierwszym punkcie zostały omówione modele doskonalenia procesów programowych, bazujące głównie na dorobku inżynierii oprogramowania. Przedstawiono pięć modeli: PDCA, SIX SIGMA, ISO, CMMI oraz IDEAL. W dalszej kolejności podjęto próbę zarysowania koncepcji doskonalenia, której punktem wyjścia jest strategia doskonalenia systemu informacyjnego uwzględniająca problematykę zarządzania strategicznego, wzbogacona o wykorzystanie metod i technik inżynierii oprogramowania. 2. Modele doskonalenia procesów programowych Przegląd opisanych w literaturze modeli doskonalenia procesów programowych wskazuje znaczną ich liczbę. Na podstawie ich analizy można stwierdzić, że większość z nich opiera się na modelach zdefiniowanych przez ISO (International Organization for Standaridization) oraz SEI (Software Engineering Institute) [Wangenheim i in. 2010]. W dalszej części nastąpi krótka charakterystyka koncepcji oraz modeli związanych z doskonaleniem procesów: PDCA, SIX SIGMA, ISO, CMMI oraz IDEAL. Jednym z najbardziej rozpowszechnionych modeli doskonalenia procesów jest PDCA (Plan-Do-Check-Act), opracowany przez W.E. Deminiga oraz W. Shewharta. Według niego doskonalenie procesów jest realizowane cyklicznie. Każdy nowy cykl doskonalenia bazuje na zrealizowanych już zmianach procesów oraz zgromadzonej wiedzy. Pojedynczy cykl doskonalenia można podzielić na następujące fazy: planowania (plan), wykonywania (do), weryfikacji (check) oraz poprawiania (act).
190 Adam Nowicki, Bogdan Burkot Faza planowania obejmuje identyfikację oraz analizę problemów. W ramach identyfikacji problemów są realizowane następujące działania: wybór problemów do analizy i ich precyzyjne określenie, ustalenie mierzalnych celów, jakie zostaną osiągnięte w wyniku ich rozwiązania oraz ustalenie procesu koordynacji działań, a także pozyskanie akceptacji kierownictwa. Analiza problemów jest realizowana poprzez: identyfikację procesów wpływających na problem, wybór jednego z procesów, identyfikację działań realizowanych w ramach procesu, zebranie i analizę danych związanych z problemem, weryfikację oraz korektę opisu problemu oraz identyfikację przyczyn problemu. W fazie wykonywania następuje opracowanie rozwiązania oraz jego implementacja. Przygotowanie rozwiązania obejmuje: opracowywanie kryteriów wyboru rozwiązania, określanie potencjalnych rozwiązań mające na celu wyeliminowanie przyczyn problemów, wybór rozwiązania oraz zaplanowanie jego realizacji. Implementacja rozwiązania odbywa się poprzez jego wybór i realizację pilotażu. Faza sprawdzania koncentruje się na ocenie rezultatów pilotażowego wdrożenia poprzez zebranie i analizę pomiarów. W przypadku gdy nastąpi osiągnięcie zamierzonych celów, to w ramach kolejnej fazy cyklu następuje formalizacja procesu, szkolenie, przygotowanie planu jego wdrożenia oraz monitorowanie rezultatów jego implementacji. Brak osiągnięcia celów doskonalenia skutkuje realizacją następnego cyklu, w ramach którego powinna nastąpić identyfikacja innych przyczyn problemów lub innych ich rozwiązań. Nowy cykl doskonalenia jest również realizowany w przypadku osiągnięcia celów w ramach poprzedniego cyklu. SIX SIGMA to filozofia, strategia oraz narzędzia związane z doskonaleniem procesów i poprawą jakości. Celem SIX SIGMA jest realizacja strategii opartej na ilościowym pomiarze, ukierunkowanej na proces doskonalenia i redukcję zmienności. Zakłada się, że im wyższa jakość, tym mniejsze koszty zapobiegania i jej oceny. SIX SIGMA opiera się na cyklu DMAIC, obejmującym następujące fazy: definiowanie celów klienta i projektu, pomiar procesów, analizę danych pomiarowych w celu zidentyfikowania odchyleń oraz ustalenia ich przyczyn, przeprojektowanie lub doskonalenie procesów, w których pojawiły się odchylenia, a także kontrolę rezultatów wprowadzonych zmian [Koszlajda 2010, s. 239 245]. Doskonalenie procesów może być realizowane w oparciu o normy ISO. Zawierają one opis narzędzi umożliwiających wdrożenie procesu doskonalenia, a mianowicie: model procesów referencyjnych (odniesienia), wytyczne do oceny procesów oraz wytyczne związane z doskonaleniem procesów. Etapy doskonalenia procesów programowych są następujące [Bilski, Dubielewicz 2007]: 1. Zbadanie potrzeb i celów organizacji i określenie na ich podstawie celów doskonalenia procesów. 2. Ustanowienie procesu doskonalenia poprzez określenie zakresu doskonalenia, kamieni milowych, ryzyka i podejścia do zarządzania nim. 3. Ocena poziomu dojrzałości procesu. 4. Analiza wyników oceny procesów oraz opracowanie planu ich doskonalenia.
Zarys koncepcji doskonalenia procesów programowych... 191 5. Wdrożenie planu doskonalenia. 6. Pomiar i monitorowanie procesów objętych doskonaleniem, a także podejmowanie wymaganych działań korygujących. 7. Utrzymanie korzyści wynikających z doskonalenia procesów. 8. Monitorowanie wydajności procesów. Istotną rolę w procesie doskonalenia stanowi dwuwymiarowy model oceny procesu. Pierwszy wymiar stanowi zbiór jednostek procesów zdefiniowanych w określonych modelach odniesienia. Modele odniesienia zawierają opis procesów, które organizacja może stosować podczas rozwoju i utrzymywania oprogramowania. Modele odniesienia są opisane w normach ISO/IEC 12207:2008 and ISO/IEC 15288:2008 [Bilski, Dubielewicz 2007]. Drugi wymiar to zdolność procesu. Określenie zdolności procesu następuje na podstawie oceny spełnienia jego atrybutów. Opis modelu oceny zawiera norma ISO/IEC 15504:2008 [Bilski, Dubielewicz 2007]. Doskonalenie procesów programowych można realizować poprzez wdrożenie systemu zarządzania jakością opartego na normie ISO 9001:2000, która formułuje wymagania, jakie organizacja musi spełnić, by system zarządzania jakością był z nią zgodny. Uszczegółowienie tej normy dla organizacji IT które realizują nabywanie, dostawę, wytwarzanie, obsługiwanie i utrzymywanie oprogramowania komputerów zostało zrealizowane poprzez zalecenia opracowane w normie ISO/IEC 90003:9004 [Chrabański, Gwioździk, Kostka-Bochenek 2007]. Na potrzeby organizacji IT powstał model CMM (Capability Maturity Model). Jego celem jest ocena stopnia dojrzałości procesów w kontekście realizacji zdefiniowanych dla nich praktyk. Na bazie modelu CMM powstał model CMMI (Capability Maturity Model Integration) mający charakter kompleksowy i możliwy do zastosowania w organizacjach o różnym profilu działalności. Model ten może być stosowany w organizacjach IT: zajmujących się rozwojem produktów oraz usług, dostarczających usługi, zajmujących się pozyskiwaniem produktów i usług od zewnętrznych poddostawców. Model CMMI składa się z następujących komponentów: poziomów dojrzałości, obszarów procesowych, celów oraz praktyk [Chrabko 2010, s. 2 25]. Poziom dojrzałości określa poziom zawansowania procesów w organizacji. Obszar procesowy to grupa praktyk, aktywności, których realizacja prowadzi do osiągnięcia określonych celów. Spełnienie celów dla danego obszaru procesów warunkuje jego wdrożenie. Praktyki to aktywności realizowane, by spełnić cel wybranego obszaru procesowego. Model CMMI wyróżnia reprezentację stałą i ciągłą poziomów dojrzałości. W ramach reprezentacji stałej doskonalenie procesów przebiega według ściśle określonej ścieżki rozwojowej. Organizacja osiąga kolejne poziomy dojrzałości poprzez wdrożenie określonych obszarów procesowych. Reprezentacja ciągła zakłada, że organizacja posiada wiedzę, by określić poziom dojrzałości poszczególnych obszarów
192 Adam Nowicki, Bogdan Burkot procesowych. Stosując to podejście, należy dla każdego z obszarów procesowych ocenić poziom uzyskany, a także określić poziom docelowy. Ocenę dojrzałości procesów w reprezentacji ciągłej można przetransponować do reprezentacji stałej. Jest to istotne w kontekście porównywania dojrzałości procesów pomiędzy różnymi organizacjami. IDEAL jest modelem doskonalenia procesów programowych opracowanym przez Software Engineering Institute. W ramach modelu zostało wyróżnionych pięć faz: inicjacji, diagnozy, ustanowienia, działania oraz uczenia [Visconti, Cook 2002]. W ramach inicjacji powinna nastąpić identyfikacja celów organizacji i ustalenie ich priorytetów. Istotnym zadaniem jest określenie korzyści wynikających z ich osiągnięcia. W tej fazie powinno również nastąpić zapewnienie zasobów niezbędnych do przeprowadzenia doskonalenia procesów. W ramach fazy diagnozy powinno nastąpić zrozumienie i ocena istniejącego stanu procesów, a także definicja ich docelowego stanu. Oceny stanu obecnego można dokonać z wykorzystaniem modeli referencyjnych ISO 9001 oraz CMMI. W fazie ustanawiania dokonywana jest priorytetyzacja rekomendacji, ustalenie podejścia, a następnie opracowywanie szczegółowego planu wdrożenia. W fazie działania opracowywane są rozwiązania, jest realizowana ich weryfikacja, a także testowanie poprzez pilotażowe wdrożenia. Po zakończeniu testowania rozwiązań następuje ich dostosowanie i wdrożenie w ramach organizacji. W ostatniej fazie następuje określenie i ocena efektów zmian, w szczególności to, czy zostały osiągnięte zamierzone cele. Dodatkowo zostaje określona propozycja dla dalszych udoskonaleń procesów. 3. Zarys koncepcji doskonalenia procesów programowych W celu spojrzenia systemowego na doskonalenie procesów programowych należy organizację analizować w aspekcie jej elementów oraz relacji zachodzących między nimi. Organizacja jest systemem otwartym, o celowym zachowaniu i wyróżnionym z otoczenia. Wejściem organizacji są zasoby rzeczowe, finansowe, ludzkie i niematerialne, natomiast wyjście stanowią wytwarzane produkty i świadczone usługi. Organizacja poprzez swoje związki z otoczeniem dąży również do zmiany celu, treści oraz swojej struktury w celu systematycznego rozwoju. Organizację należy rozpatrywać jako system złożony, w ramach którego można wyróżnić następujące podsystemy: społeczny, zarządzania, wykonawczy oraz informacyjny [Nowicki 1999, s. 16 17]. Doskonalenie w ujęciu systemowym można traktować jako rozwiązywanie sytuacji problemowej w organizacji. Jest to taki stan, który utrudnia osiąganie jej celów lub funkcjonowanie systemu jako całości. Sytuacja problemowa przejawia się konfliktem między otoczeniem a organizacją lub pomiędzy jej elementami [Nowicki 1999, s. 93]. W tym ujęciu proces doskonalenia można podzielić na następujące etapy: 1) rozpoznanie problemu doskonalenia, 2) badania strategiczne i analiza sytuacyjna systemu,
Zarys koncepcji doskonalenia procesów programowych... 193 3) określenie strategii doskonalenia, 4) opracowanie projektu doskonalenia, 5) realizacja projektu doskonalenia. Proces doskonalenia jest realizowany cyklicznie. Powstanie nowej sytuacji problemowej uruchamia kolejny cykl doskonalenia. Jest dla niego opracowywana strategia doskonalenia, która następnie jest realizowana poprzez projekty doskonalenia. Zrealizowanie wszystkich projektów implementujących strategię kończy cykl doskonalenia i jego efektem jest pożądany stan systemu, rozwiązujący sytuację problemową. Poszczególne etapy procesu doskonalenia systemu wykonawczego zostały przedstawione na rys. 1. Sytuacja problemowa Rozpoznanie problemu doskonalenia Badania strategiczne i analiza sytuacyjna systemu wykonawczego Określenie strategii doskonalenia Opracowanie projektu doskonalenia Realizacja projektu doskonalenia NIE TAK Pożądany stan systemu Czy opracowano i zrealizowano wszystkie projekty implementujące strategię? Rys. 1. Etapy procesu doskonalenia systemu wykonawczego Źródło: opracowanie własne na podstawie [Nowicki 1999].
194 Adam Nowicki, Bogdan Burkot Etap 1 rozpoznanie problemu doskonalenia obejmuje: badanie sytuacji problemowej, powołanie zespołu wykonawczego oraz analizę dziedziny problemu. Badanie sytuacji problemowej obejmuje dokładną specyfikację problemu, która jest pogłębiana poprzez analizę jego dziedziny. W ramach niej następuje identyfikacja źródeł problemów, ustalenie ich wagi, a także ustalenie relacji między nimi a zadaniami podsystemu wykonawczego. Na tym etapie następuje również powołanie zespołu odpowiedzialnego za organizację działań mających na celu rozwiązanie sytuacji problemowej. Etap 2 badania strategiczne i analiza sytuacyjna systemu wykonawczego koncentruje się na badaniu pozycji funkcjonalnej organizacji, a także na analizie sytuacyjnej systemu wykonawczego. Określenie pozycji funkcjonalnej organizacji ma za zadanie analizę związków zachodzących pomiędzy jej elementami. Elementami pozycji funkcjonalnej organizacji są: misja, cele i plany gospodarcze oraz cele i funkcje systemu wykonawczego [Nowicki 1999, s. 133]. Misja organizacji to unikatowy powód określający sens i rację jej bytu obecnie i w przyszłości. Powinna ona wyrażać uzasadnienie jej istnienia, przeznaczenie oraz aspiracje [Krupski (red.) 2007, s. 110 113]. Cele i plany gospodarcze konkretyzują zamierzenia organizacji [Rokita 2005, s. 303]. Są one podstawą do wyznaczenia pożądanego stanu systemu wykonawczego. Badania strategiczne mogą być realizowane z wykorzystaniem takich metod, jak: SWOT, SPACE, metody porfelowe itp. [Krupski (red.) 2007, s. 156 198]. Opracowanie strategii doskonalenia wymaga uwzględnienia nie tylko strategii organizacji, ale także elementów strukturalnych i funkcjonalnych systemu. Analiza sytuacyjna systemu wykonawczego ma za zadanie analizę systemu w celu ustosunkowania się do zaistniałej sytuacji problemowej. Jej celem jest identyfikacja przyczyn problemów dotyczących systemu wykonawczego, które uniemożliwiają osiągnięcie celów strategicznych. Etap 3 określenie strategii doskonalenia bazuje na wynikach badań strategicznych i analizie sytuacyjnej systemu wykonawczego. Strategia doskonalenia stanowi zbiór działań mających na celu poszukiwanie najlepszych rozwiązań w zakresie struktury i funkcji systemu [Nowicki 1999, s. 109 141]. Wymaga ona określenia: zadań, wykonawców, kosztów, efektów, a także terminów. Organizacja może formułować wiele wariantów strategii. W oparciu o analizę czynników (tj. zasobów technicznych, finansowych, ludzkich, ekonomicznych) dokonuje się wyboru strategii. Etap 4 opracowanie projektu doskonalenia ma na celu określenie szczegółowych zmian strukturalnych i funkcjonalnych systemu w celu realizacji strategii doskonalenia. Projektowanie doskonalenia może być oparte na podejściu diagnostycznym albo prognostycznym. Punktem wyjścia pierwszego z nich jest badanie istniejącego stanu systemu. Na podstawie diagnozy istniejącego stanu następuje wariantowe opracowywanie rozwiązań w zakresie doskonalenia, a następnie ich ocena i wybór. W podejściu prognostycznym są tworzone nowe stany systemu, m.in. z wykorzystaniem systemów wzorcowych.
Zarys koncepcji doskonalenia procesów programowych... 195 Etap 5 realizacja projektu doskonalenia obejmuje planowanie przedsięwzięć w zakresie doskonalenia, bazujących na opracowanych projektach doskonalenia. Metodyki zarządzania projektami mogą wspomagać planowanie i realizację projektów doskonalenia, z uwzględnieniem takich aspektów, jak: planowanie, monitorowanie postępów, ocena i monitorowanie ryzyka, ocena efektów itp. [Flasiński 2006]. 4. Zastosowanie metod i technik inżynierii oprogramowania w doskonaleniu procesów programowych Rozważając przedstawiony model procesu doskonalenia w kontekście jego implementacji w organizacjach wytwarzających oprogramowanie, należy wykorzystać metody i techniki opracowane w ramach inżynierii oprogramowania, takie jak: modele referencyjne (odniesienia) procesów programowych, modele procesów programowych, metody oceny dojrzałości procesów. Modele referencyjne (odniesienia) procesów programowych są tworzone przez organizacje standaryzujące (np. ISO, SEI), jak również firmy informatyczne (np. IBM, Microsoft). Opis głównych modeli referencyjnych zawarto m.in. w pracach A. Koszlajdy [Koszlajda 2010, s. 60 129], B. Burkota [Burkot 2010, s. 389 397] oraz K. Chrabańskiego, E. Gwioździk i A. Kostki-Bochenek [Chrabański, Gwioździk, Kostka-Bochenek 2007]. Modele referencyjne (odniesienia) są podstawą do tworzenie procesów dla poszczególnych organizacji. Modele referencyjne są dostępne w formie bibliotek dystrybuowanych wraz z narzędziami do definiowania oraz udostępniania procesów. Modele referencyjne (odniesienia) mogą być wykorzystywane do analizy procesów programowych, a w szczególności do wskazywania możliwości w zakresie ich doskonalenia. Modele procesów programowych są dedykowane dla poszczególnych organizacji. Dużą rolę w opisie procesów referencyjnych oraz procesów programowych odgrywają metamodele procesów, zapewniające uniwersalność oraz jednoznaczność ich opisu. Rozpowszechnionym metamodelem jest SPEM 2.0 (Software and System Proces Engineering Meta-Model 2.0), który został opracowany przez OMG (Object Management Group). Wykorzystuje on notacje oraz mechanizmy wprowadzone przez język UML. Pojęcia wprowadzone w metamodelu umożliwiają: opis struktury procesów, opis cyklu życia procesów oraz zarządzanie złożonością procesów. Na potrzeby opisu struktury procesów zostały zdefiniowane podstawowe pojęcia i relacje pomiędzy nimi. Są to: proces, produkt pracy, działanie, zadanie oraz rola. Podstawowym pojęciem metamodelu jest proces, który grupuje wszystkie jego elementy składowe. Celem procesu jest powstanie jednego lub wielu produktów pracy. Produktem pracy jest każdy artefakt wykorzystywany lub wytwarzany przez działanie. Działanie może być dekomponowane na zadania. Działania są przypisywane
196 Adam Nowicki, Bogdan Burkot do ról występujących w czasie wykonywania procesu. Rola definiuje umiejętności, kompetencje niezbędne do wykonywania zadań, a także zakres odpowiedzialności za produkty pracy. W celu opisu cyklu życia procesu zdefiniowano pojęcia cyklu życia, faz oraz iteracji. Cykl życia procesu to zachowanie procesu stosowane w tworzeniu określonego systemu. Cykl życia składa się z faz. Każda faza jest opisem pracy, dla którego określany jest warunek wstępny jej rozpoczęcia, a także kryteria jej zakończenia. Fazy mogą mieć definiowane dodatkowe ograniczenia, określające kolejność ich realizacji. Można je dzielić na iteracje będące zbiorem aktywności, których wynikiem jest wewnętrzne lub zewnętrzne wydanie systemu. Na potrzeby zarządzania złożonością zostaje wprowadzone pojęcie dyscypliny. Dyscyplina grupuje działania procesu związane z tym samym zagadnieniem. Metody oceny dojrzałości procesów, takie jak omówione CMMI oraz ISO, mogą być wykorzystywane w procesie doskonalenia m.in. na etapie: rozpoznania problemu doskonalenia do identyfikacji źródeł problemów, oceny sytuacyjnej systemu wykonawczego, opracowania projektu doskonalenia do opracowywania propozycji zmian. 5. Podsumowanie W inżynierii oprogramowania doskonalenie procesów programowych opiera się na ciągłym stosowaniu nowych praktyk wytwarzania lub modyfikowaniu istniejących, by osiągnąć cele organizacji. Biorąc pod uwagę dorobek nauk o zarządzaniu, doskonalenie procesów programowych można definiować jako rozwiązywanie sytuacji problemowej w obszarze systemu wykonawczego, przejawiającej się w niemożności realizacji celów organizacji lub w trudnościach w jej funkcjonowaniu jako całości. Źródłem sytuacji problemowej może być stan konfliktu między organizacją a otoczeniem lub pomiędzy jej elementami. Taka definicja wymusza podejście do doskonalenia, które uwzględnia badania strategiczne i analizę sytuacyjną systemu wykonawczego, określenie strategii doskonalenia, opracowanie projektu doskonalenia oraz realizację przedsięwzięć w zakresie doskonalenia. Ważna kwestią jest uwzględnienie elementów zarządzania strategicznego, tj. misji, celów i planów gospodarczych. Systemowe podejście do doskonalenia procesów programowych zwiększa szanse na realizację celów organizacji wynikających z adaptacji do zmian w otoczeniu, a poprzez to wpływa na jej rozwój i przetrwanie. Wydaje się, że w zakresie metod i technik w procesie doskonalenia można wykorzystać dorobek inżynierii oprogramowania, w szczególności modele referencyjne (odniesienia) procesów programowych, modele procesów programowych oraz metody oceny dojrzałości procesów. Szczególnie ciekawy aspekt dalszych prac badawczych stanowi doskonalenie procesów w organizacjach IT, które można określić jako organizacje uczące się, wirtualne lub sieciowe.
Zarys koncepcji doskonalenia procesów programowych... 197 Literatura Bilski E., Dubielewicz I., 2007, Cykl życia oprogramowania modele, procesy, jakość w normach ISO, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław. Burkot B., 2008, Zarządzanie wiedzą w procesie tworzenia oprogramowania, [w:] M. Pańkowska, T. Porębska-Miąc, H. Sroka (red.), Systemy Wspomagania Organizacji. Informatyka ekonomiczna jako dziedzina nauki i dydaktyki, Katowice, s. 389-397. Chrabański K., Gwioździk E., Kostka-Bochenek A., 2007, System zarządzania jakością według ISO w organizacji wytwarzającej oprogramowanie, Wydawnictwo Śląska Wyższa Szkoła Zarządzania im. Jerzego Ziętka w Katowicach, Katowice. Chrapko M., 2010, CMMI. Doskonalenie procesów organizacji, PWN, Warszawa. Flasiński M., 2006, Zarządzanie projektami informatycznymi, PWN, Warszawa. http://repository.cmu.edu/cgi/viewcontent.cgi?article=1110&context=sei. Koszlajda A., 2010, Zarządzanie projektami IT. Przewodnik po metodykach, Helion, Gliwice. Kruchten P., 2007, Rational Unified Process od strony teoretycznej, WNT, Warszawa. Krupski R. (red.), 2007, Zarządzanie strategiczne. Koncepcje-metody, Wydawnictwo Akademii Ekonomicznej we Wrocławiu, Wrocław. Mutafelija B., Stromberg H., 2003, Systematic Process Improvement Using ISO 9001:2000 and CMMI, Artech House, London. Nowicki A., 1999, Strategia doskonalenia sytemu informacyjnego w zarządzaniu przedsiębiorstwem, Wydawnictwo Akademii Ekonomicznej we Wrocławiu, Wrocław. Olson T.G., Humphrey W.S., Kitson D, 1989, Conducting SEI-Assisted Software Process Assessments Technical Report CMU/SEI-89-TR-7 ESD-89-TR-7. Rokita J., 2005, Zarządzanie strategiczne. Tworzenie i utrzymywanie przewagi konkurencyjnej, PWE, Warszawa. Visconti M., C.R. Cook, 2002, A Meta-Model Framework for Software Modelling, http://www.inf.utfsm.cl/~visconti/papers/paperrefinedmetamodel2002.pdf. Wangenheim C.G, Hauck J.C.R, Salviano C.F., Wangenheim A., 2010, Systematic Literature Review of Software Process Capability/Maturity Models. http://www.inf.ufsc.br/~gresse/download/ SPICE2010_Systematic_Literature_vf.pdf. Wiegers K.E., 1999, Process Improvement that Works, Software Development Magazine, 7(10), http:// www.processimpact.com. DRAFT OF A CONCEPT FOR SOFTWARE PROCESS IMPROVEMENT SYSTEM APPROACH Summary: The article describes the problems of software process improvement. In the first part it presents five models for software process improvement: PDCA, SIX SIGMA, ISO, CMMI and IDEAL. The article points out the important role of reference models and process maturity assessment models in software process improvement. Next, it presents the draft of the concept for software process improvement, where the starting point is the strategy of improving the information system, taking into account issues of strategic management, enhanced with the use of methods and techniques of software engineering. The draft of the concept for software process improvement identifies five stages: identification problems, strategic research and situational analysis of the system, preparation strategy for improvement, preparation project and its execution. Keywords: software process improvement, system approach, processes maturity models.