• Nie Znaleziono Wyników

Przegląd rozwiązań istotnych przy tworzeniu systemów zintegrowanych Projekty informatyczne obarczone są dużym ryzykiem, z tego powodu od

ZAGADNIENIA WDRAŻANIA ZINTEGROWANYCH SYSTEMÓW ZARZĄDZANIA PROJEKTAMI W FIRMIE INFORMATYCZNEJ

3. Przegląd rozwiązań istotnych przy tworzeniu systemów zintegrowanych Projekty informatyczne obarczone są dużym ryzykiem, z tego powodu od

wielu lat opracowywane są metody zwiększenia efektywności procesów

projektowych poprzez opracowanie różnych metodologii. Powstaje pytanie, czy w sytuacji, gdy istnieją setki różnych metodologii, możliwe jest opracowanie nowej propozycji. Zatem przy wyborze rozwiązania celowe jest dokonanie przeglądu istniejących rozwiązań i dostosowanie ich dla potrzeb małych i średnich firm ze szczególnym uwzględnieniem tych procesów, które dadzą największe efekty. Odwzorowanie to zostanie dokonane z m yślą o zintegrowanym komputerowym systemie zarządzania.

Przy zarządzaniu wytwarzaniem oprogramowania m ogą być wykorzystane różne szkielety postępowania (ang. frameworks), opracowane z m yślą o różnych obszarach zastosowania:

1. Standardy i zalecenia (ang. guidelines):

System ISO zarządzania jakością. System ISO 9000/9001 należy do najbardziej rozpowszechnionych i akceptowanych standardów na całym świecie.

Posiada też rozpowszechnioną sieć instytucji przyznających certyfikat jakości. ISO jest szczególnie atrakcyjne z punktu widzenia firm informatycznych, gdyż jest możliwe do osiągnięcia przy ograniczonych kosztach w stosunkowo w krótkim czasie. Jednym z głównych problemów jest własna definicja procesów zarządzania.

Wymienione procesy wejdą w skład systemu zarządzania jakością SZJ zgodnie z normą ISO 9001:2001. W systemach identyfikuje się następujące procesy główne: procesy organizacyjne — zarządzanie całym systemem i jego doskonalenie, procesy operacyjne - procesy wchodzące w skład cyklu wytwarzania oprogramowania, procesy pomocnicze - procesy stwarzające warunki do poprawnej realizacji procesów zarządzania jakością i procesów operacyjnych.

Standard ten ma charakter ogólny i może być zastosowany do dowolnych systemów wytwarzania. W celu ułatwienia firmom informatycznym wdrożenia tego standardu, próbowano opisać sposób jego zastosowania w firmach informatycznych. Dla przykładu rząd brytyjski zlecił opracowanie schematu (nazywanego programem TickIT) oznaczonym jako IS09000/B S5750 interpretujący normę ISO dla sektora IT [23],

ISO 12207. Standard ISO 12207 dotyczy całego cyklu rozwoju oprogramowania (ang. Standard for Software Lifecycle Processes).

ISO 15504:2004 opracowany w roku 2004 zawiera metodyki i struktury i oceny dla procesów wytwarzania oprogramowania. Sposób oceny przedstawiony jest za pomocą modelu SPICE (Software Process Improvement and Capability

Detennination).

CMM (Capability Maturity Model). Jednym z bardziej znanych standardów jest model CMM. Zawiera standardy, które m ają bezpośrednie zastosowanie dla wytwarzania oprogramowania. Celem CMM jest wskazanie sposobów polepszenia poziomu dojrzałości wytwarzania oprogramowania.

Przejawia się to przez definiowanie pięciu poziomów dojrzałości wytwarzania.

Firma informatyczna może doskonalić proces wytwarzania oprogramowania poprzez uzyskiwanie kolejnych poziomów. W ostatnim okresie powstała nowa wersja CMM zwana CMMI (CMM Integration). CMMI zawiera więcej informacji oraz bardziej szczegółowe wskazówki dotyczące spełnienia warunków

poszczególnych poziomów dojrzałości.

Opracowywane są także zalecenia (instrukcje), które opisują jak należy postępować w procesach wytwarzania oprogramowania. Opracowania w tym zakresie wspierają instytucje rządowe lub wojskowe. Przykładem może być GSAM (Guidelines for Succesful Acquisition and Management o f Software Intensive Systems) [5], który w przejrzystej formie przedstawia zalecania, które należy stosować przy tworzeniu systemów wyposażonych w oprogramowanie.

2. Certyfikacje, wyróżnienia i oceny

W ażnym zagadnieniem jest ustalenie dla firmy informatycznej stopnia poprawności działania w zakresie wytwarzania oprogramowania. Ma to duże znaczenie, gdyż umożliwia określenie aktualnego stanu i kierunków rozwoju firmy, przyczynia się do prestiżu firmy w przypadku spełnienia standardów, umożliwia zdobycie kontraktów w przypadku lepszej ich oceny w porównaniu z innymi firmami. Firmy informatyczne zwykle ubiegają się o przyznanie standardów ISO i CMM, w tym celu poddają się odpowiedniemu procesowi certyfikacji.

W celu poprawy jakości funkcjonowania firm, rządy niektórych krajów tworzą programy wyróżnień (nagród) dla firm, które spełniają określone kryteria.

Przykładowym takim wyróżnieniem jest Malcom Baldrige National Quality Award przyznawany corocznie kilku firmom amerykańskim.

Warto również zaznaczyć, że firmy zlecające zamówienia związane z projektami informatycznymi, m ogą żądać od wykonawców poddania się ocenie.

Przykładami sposobów porównania firm jest związany z CMM system ocen zwany SCE (Software Capability Evaluation), metoda oceny SCAMPI (Standard CMMI Assessment M etod for Process Improvement) dotycząca CMMI lub związany z Silami Powietrznymi USA system ocen SDCE (Software Development Capability Evaluation).

3. Modele wytwarzania oprogramowania (modele inżynierii oprogramowania dla całego cyklu życia). Dla procesów wytwarzania oprogramowania opracowano szereg metodyk, których reprezentatywne przykłady wymieniono poniżej.

RUP. Jednym z bardziej znanych metodyk wytwarzania oprogramowania jest RUP (Rational Unified Process) [20], Jest to metodyka iteracyjna wytwarzania oprogramowania. M etodyka ta jest wspomagana przez oprogramowanie aktualnie oferowane przez firmę IBM.

MSF. M icrosoft proponuje dla projektów informatycznych metodykę MSF (Microsoft Solution Framework) [10, 11, 12]. Jest ona zaliczana jest do metodyk zwinnych i jest w pewnym zakresie wspomagana przez oprogramowanie VSTS (Microsoft Visual Studio Team System).

4. Również dla zarządzania projektami (niekoniecznie informatycznymi) wybrano i opracowano efektywne metody zarządzania. Przykładami takich rozwiązań podano poniżej.

PMBOK (Project Management Body o f Knowledge). Jednym z takich bardziej znanych rozwiązań jest opracowany przez PMI (Project Management

Institute) zbiór o nazwie PMBOK [16] zawierający sprawdzone praktyki stosowane w zarządzaniu projektami. PMBOK nie jest ukierunkowany na projekty informatyczne, lecz ma bardziej ogólny charakter. Zaletą PMBOK jest przedstawienie w sposób przejrzysty procesów związanych z zarządzaniem projektem. W PMBOK definiuje się dziewięć obszarów zarządzania projektami.

PRINCE (PRoject in Controlled Environment). Innym rozwiązaniem jest PRINCE, który jest m etodą zarządzania projektami o dowolnej wielkości, opracowaną w Wielkiej Brytanii. W pracy [15] przedstawiono pew ną wstępną propozycję wspomagania wytwarzania oprogramowania wykorzystującą tę metodykę, realizowaną w ramach grantu KBN.

Do oceny jakości zarządzania projektami określone są także modele dojrzałości PMMM (Project Management Maturity Model). Poziom 2 dotyczy określenia wspólnych procesów, a poziom 3 wprowadza pojedynczą metodologię (opisane w [9]).

Zintegrowane zarządzanie

Aktualnie trwają prace nad integracją zarządzania wszystkich obszarów związanych z wytwarzaniem oprogramowania. Przykładem m ogą być próby odwzorowania metod związanych z inżynierią wytwarzania na metody zarządzania PMBOK i RUP.

CMMI (Capability Maturity Model Integration) [3, 1] jest rozszerzeniem bazującym na pięciu poziomach CMM. CMMI jaw nie opisuje powiązania pomiędzy procesami wytwarzania oprogramowania jak i zarządzania, lepiej powiązany jest z standardem ISO. Firmy starają się przechodzić z CMM do CMMI. Zdefiniowane zostały szczegółowe modele CMMI przeznaczone między innymi dla inżynierii systemowej (CMMI for System Engineering), inżynierii oprogramowania, (CMMI for Software Engineering) oraz dla zintegrowanego rozwoju procesu i produktu (CMMI for Integrated Product and Process Development).

Przegląd narzędzi

Na rynku dostępnych jest szereg narzędzi wspomagających różne obszary zarządzania i wytwarzania oprogramowania. W opracowaniu określone zostaną zasady doboru narzędzi wspomagających. Wybór narzędzi i uznanie ich jako standardy w MSPI powinny odegrać w ażną rolę porządkującą procesy wytwarzania.

Wybór narzędzi, które mogłyby być potencjalnymi składowymi systemu zintegrowanego jest bardzo duży dla różnych obszarów zarządzania i wytwarzania oprogramowania. Przykładowo zostaną wymienione niektóre obszary i narzędzia:

• W zakresie organizacji projektów, planowania i sterowania istnieją setki różnych narzędzi. Dobrym punktem wyjściowym do rozpoczęcia przeglądu jest opracowanie [18],

• Zarządzanie wymaganiami jest dobrze rozpoznana dziedziną. W opracowaniu [25] zawarto przegląd kilkudziesięciu narzędzi przeznaczonych do zarządzania wymaganiami.

• Zarządzanie zmianami (opisana lista narzędzi w [2]) jest realizowane przez

oddzielne narzędzia lub jako narzędzia wchodzące w skład narzędzi do zarządzania konfiguracją oprogramowania.

• Do zarządzania konfiguracją oprogramowania dostępnych są dziesiątki narzędzi odnoszących się do różnych funkcjonalności, jak: kontrola wersji, konsolidacja wydań, zarządzanie wydaniami. W opracowaniu [17] oprócz obszernego omówienia tematyki przedstawiono bogatą listę narzędzi.

• Bogaty jest zestaw narzędzi do testowania. W opracowaniu [19] dokonano przeglądu ponad stu narzędzi dotyczących testowania podzielonych na różne grupy jako narzędzia przeznaczone do: zarządzania testowaniem, analizy statycznej, analizy wydajnościowej, testowania interfejsów użytkownika itd.

• Aktualny stan dotyczący wytwarzania oprogramowania komponentowego, wraz z podaniem klasyfikacji metod i narzędzi zawarto w artykule przeglądowym [4].

• Przykład narzędzia informatycznego wspierającego strategie motywowania pracowników opisano w [21].

4. W ykorzystanie podobieństw CMMI i ISO 9001:2000 przy konstrukcji